为什么passwd命令显示“ UNIX密码”?


51

我对Linux完全陌生。在观看有关Ubuntu的教学视频时,我遇到了该命令passwd。当我测试时,它显示;

(current) UNIX password: 
Enter new UNIX password:
Retype new UNIX password:

为什么说UNIX密码?与UNIX有关系吗?


1
来自en.wikipedia.org/wiki/Linux的引用“ Linux(发音为Listeni / ˈlɪnəks /LIN-əks[9] [10]或更不常见的是/ ˈlaɪnəks /LYN-əks[10] [11])是Unix-就像计算机操作系统....“ ---因此,它要求输入“ UNIX密码”是很公平的:-)
0x0C4

是关于UNIX与Linux的关系或者是否存在商标问题?
jl6

7
我认为Linux是“ Unix”(就设计和行为而言,它属于一般的Unix系列)。有人将其称为“类Unix”或“ Unix克隆”。但是它不是UNIX®(由Open Group证明是SUS兼容的,并已获得使用该商标的许可)。
marcelm '16

3
@marcelm当然,缺少认证并不表示Linux缺少获得该商标所需的任何功能。至少对我而言,Linux感觉比某些带有UNIX商标的系统更完整。也许您已经同意所有这些。我可以想象许多Linux发行版的供应商实际上都认为Linux是比UNIX更强大的品牌,这就是为什么他们不关心获得认证的原因。
kasperd

1
@ jl6当前的措辞可能已经存在多年了,如果今天提起诉讼,就可能被视为商标侵权。
卡巴斯德,2016年

Answers:


93

它说,UNIX,因为你改变了提供认证密码pam_unixPAM模块。引用联机帮助页:

NAME
   pam_unix - Module for traditional password authentication

SYNOPSIS
   pam_unix.so [...]

DESCRIPTION
   This is the standard Unix authentication module. It uses standard calls
   from the system's libraries to retrieve and set account information as
   well as authentication. Usually this is obtained from the /etc/passwd
   and the /etc/shadow file as well if shadow is enabled.

它与Unix有关,因为它使用传统文件/etc/passwd/etc/shadow作为身份验证的来源。

如果您使用了另一个PAM模块(例如pam_ldap用于LDAP身份验证),则会显示LDAP而不是UNIX:

$ passwd
(current) LDAP Password: 
New password: 
Retype new password: 
passwd: password updated successfully

3
@ user11153:不,PAM中的M代表“模块”,复数形式。说“ PAM模块”没有错。
Ry-

您能否像您的示例一样阐明如何使用另一个PAM模块?一个简单的命令就足够了,还是需要配置文件操作?
Marc Vanhoomissen

@MarcVanhoomissen有一个简单的命令,pam-auth-update它将允许您选择PAM身份验证模块,该模块执行配置文件操作(编辑/etc/pam.d/common-auth)。但是,设置身份验证模块会涉及更多的工作。您可能会发现另一个有趣的答案:askubuntu.com/a/724796/158442(您可以使用适当的选项扩展它,pam_debug以及使用不同的脚本来打印所需的内容)
muru

1

简单的答案:因为Linux是基于Unix模型的设计(并提供Unix模型的全部功能)的操作系统。

结果,许多工具,命令,软件等。

就像某些版本的“ passwd”

  1. 直接从其他Unix系统移植到Linux,或
  2. 设计用于包括Linux在内的许多Unix系统。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.