如何防止用户登录,但允许更改密码?

时间:2013-11-04 10:55:23

标签: linux

我想在RHEL6服务器上拥有一个数据库用户。由于数据库用户只是一个数据库用户,我不希望该用户能够登录到shell。我知道我可以将用户定义为nologin,但这样用户也无法更改他/她的密码。

那么我怎样才能阻止用户登录,同时允许他/她更改密码?

2 个答案:

答案 0 :(得分:1)

使用IPA进行集中式用户管理。它允许用户即使无法登录也可以更改密码。

答案 1 :(得分:0)

我已经找到了一种快速而肮脏的方法。 首先,用户应该有权登录。 然后,运行以下命令:

$ 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也被阻止。

相关问题