在尝试为 vsftpd 创建新的 FTP 用户时,我偶然发现了这个问题。使用以下命令创建新用户并尝试使用 FileZilla 登录后,我会收到“密码不正确”错误。
useradd f -p pass -d /home/f -s /bin/false
Run Code Online (Sandbox Code Playgroud)
这样做之后,/etc/shadow包含
f:pass:1111:0:99:2:::
Run Code Online (Sandbox Code Playgroud)
一旦我运行以下命令并提供相同的通行证
passwd f
Run Code Online (Sandbox Code Playgroud)
/etc/shadow包含
f:$1$U1c5vVwg$x5TVDDDmhi0a7RWFer6Jn1:1111:0:99:2:::
Run Code Online (Sandbox Code Playgroud)
似乎在我运行passwd时会发生加密,但不会在useradd 时发生
重要的是,在执行此操作后,我可以使用完全相同的凭据登录到 FTP。
我使用 CentOS 5.11,vsftpd 用于 FTP,FileZilla 用于 FTP 访问
/var/log/secure包含:
Dec 17 useradd[644]: new group: name=f, GID=511
Dec 17 useradd[644]: new user: name=f, UID=511, GID=511, home=/home/f, shell=/bin/false
Run Code Online (Sandbox Code Playgroud)
为什么当我传递-p pass给 useradd时它不起作用?我需要做什么才能让它发挥作用?
Ubuntu 10.04 使用的密码是如何生成的?我知道他们使用 SHA 512 作为散列算法,但我认为已经完成了某种加盐。我需要自己生成这样的密码。我怎样才能做到这一点?有没有一个命令行工具?
我正在 Linux 机器上为 Subversion 存储库访问设置一个新帐户,并且可以将密码发送给新用户。但是,我认为这个新用户有一个命令行实用程序可以将他喜欢的密码加密成一种格式,我可以将其直接复制/粘贴到 /etc/shadow 文件中。
这个新用户应该在控制台(例如 Bash)上运行以创建这样一个加密密码的完整命令是什么?
更新:将不允许用户登录机器,该帐户将仅用于 svn+ssh:// 访问。因此,用户不能自行更改。
在我的 Ubuntu 9.10 系统上,有一个shadow系统组。似乎根本没有分配给该组的任何用户。我能找到的属于这个组的唯一文件是/etc/shadow和/etc/gshadow。
我知道这些文件的目的是单独存储密码,使普通用户无法访问,passwd因为其他原因仍然可能想要访问。
但是这个shadow 小组的目的是什么?
我对此感到好奇的原因是,我正在考虑nsswitch.conf将其配置为将其存储在其他地方,并且想知道是否有任何实际尝试shadow使用shadow组凭据访问数据库。
我正在阅读关于影子文件的维基百科文章,它提到行的格式是这样的:
$id$salt$hashed
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是,它是如何工作的?
我试图为我自己拥有密码的帐户计算哈希值,因此我使用了以下命令:
sha512sum {盐}+{my_clear_text_password}
但是输出与我自己看到的哈希不同。那么它是怎样工作的?我错过了什么?
好吧,我们都关心安全,所以用户应该定期更改他们的密码(谁说密码就像内衣?)。
在 redhat 和 centos(5.x 和 6.x)上,可以让每个真实用户密码在 45 天后过期,并在 7 天前警告他们。
/etc/shadow 条目看起来像:
testuser:$6$m8VQ7BWU$b3UBovxC5b9p2UxLxyT0QKKgG1RoOHoap2CV7HviDJ03AUvcFTqB.yiV4Dn7Rj6LgCBsJ1.obQpaLVCx5.Sx90:15588:1:45:7:::
它运行良好,大多数用户经常更改他们的密码。
一些用户发现不使用任何密码而是使用 ssh 公钥很方便(我想鼓励他们)。
然后 45 天后,他们无法登录,因为他们忘记了密码并被要求更改密码。
当且仅当密码被禁用时,有没有办法防止密码过期?
testuser:!!:15588:1:45:7:::/etc/shadow 中的设置不起作用:testuser 被要求在 45 天后更改他的密码。
当然,将密码过期时间设置为 99999 天是可行的,但是:
是否有一个系统范围的参数会提示用户仅在他确实拥有密码时才更改过期密码?
我通过 Dovecot SASL 设置了带有 Postfix SMTP 身份验证的服务器。然而,不可能让 PAM 身份验证按开箱即用的标准工作。
因此,更偶然的是,我将其更改为影子驱动程序,如Dovecot 文档中所述,并且配置和设置立即运行良好。
/etc/shadow将密码数据库保留在 Dovecot 的配置中是否有任何缺点?特别是,它是否会影响 Postfix/Dovecot/Servers 的安全性?该文档只是说“PAM 通常是首选”,但没有进一步解释原因。
在网络服务器上运行着一个 MySQL 服务,为服务器的用户提供数据库。每个用户都有自己的数据库和它自己的密码和权利,使INSERT / SELECT / UPDATE / DROP表中它自己的数据库,但仅此而已。
但是,我想授予用户更新自己密码的权限。我已经阅读了 MySQL 5.1 文档中的“12.4.1.3. GRANT Syntax”。但是我没有找到一种方法来授予用户更改密码的权限,而不授予对 mysql.user-table 的完全 UPDATE 访问权限。
也许还有一种方法可以将 /etc/shadow 中的密码与 mysql.user 中的密码同步,因此,每次用户在 Linux 中更改其密码时,MySQL-password 也会被更改。
问候 Mac
我在虚拟机上安装了 RHEL 5。
我通过在 /etc/passwd.conf 中输入来创建新用户。
我删除了 /etc/shadow 文件并使用 pwconv 命令来创建新的影子文件。
现在当我重新启动系统时,它不接受任何密码
我该怎么办
我对文件 /etc/passwd 和 /etc/shadow 有一些问题。两者都没有权限:
\n\n---------- 1 root root 1357 Aug 5 11:30 passwd\n---------- 1 root shadow 1175 Aug 5 11:30 shadow\nRun Code Online (Sandbox Code Playgroud)\n\n我不知道这是怎么发生的或为什么发生。基本上,当我以 root 用户身份登录时,我无法编辑/删除这些文件或更改权限。它以“不允许操作”结束。例如。当我尝试时:
\n\nroot@server:/etc# chmod 600 passwd\nchmod: changing permissions of \xe2\x80\x98passwd\xe2\x80\x99: Operation not permitted\nRun Code Online (Sandbox Code Playgroud)\n\n主要问题是任何登录用户在命令行中都会显示“我没有名字!@...”,并且我无法使用“su”或以其他用户身份运行某些服务。我想这些文件应该有一些权限,这就是问题所在。我的系统是 Ubuntu 14.04.3 LTS,具有最新的更新。
\n