我想在我的 RHEL6 服务器上有一个数据库用户。由于 DB 用户只是 DB 用户,我不希望该用户能够登录到 shell。我知道我可以将用户定义为 nologin,但这样用户也无法更改他/她的密码。
那么如何防止用户登录,同时允许他/她更改密码?
我想在我的 RHEL6 服务器上有一个数据库用户。由于 DB 用户只是 DB 用户,我不希望该用户能够登录到 shell。我知道我可以将用户定义为 nologin,但这样用户也无法更改他/她的密码。
那么如何防止用户登录,同时允许他/她更改密码?
使用IPA进行集中用户管理。它允许用户即使无法登录也可以更改密码。
我想出了一个快速而肮脏的方法来做到这一点。首先,用户应该有权登录。然后,运行以下命令:
$ sudo useradd -m -d /home/username -s /bin/bash -c "login is forbidden for this user" username -N -g users
$ chown root:users /home/username
$ chmod 555 /home/username
$ echo "trap '' 2" >> /home/username/.bash_profile
$ echo "passwd" >> /home/username/.bash_profile
$ echo "logout" >> /home/username/.bash_profile
$ passwd username
现在用户“用户名”可以登录以更改密码。然后在更改密码后立即注销。除了更改他/她的密码之外,他/她不能做任何事情。CTRL+C 也被阻止。