我怎么创建和修改用户帐号,让它有一个nologin shell?

由于安全原因,有时候你需要让你的用户不能登录服务器。一个简单的解决方法是配置他们的帐号,把登录的shell设置成/sbin/nologin。要修改一个已经存在的用户,执行这个命令:

usermod -s /sbin/nologin <username >

对新用户,可以使用这个命令:

useradd -s /sbin/nologin <new username>

要确保用-D选项把每个用户的登录shell设置成缺省的/sbin/nolgin

useradd -D -s /sbin/nologin

这样,在使用useradd增加新用户的时候,就不需要用-s选项指定登录shell了,缺省的登录shell就是/sbin/nologin。

这个配置仍然允许用户执行重要的日常任务,比如收发信件,FTP,访问网络共享目录和其他任务。它只是阻止用户登录服务器。如果服务器是一个主域控制器,用户主要在他们的工作站上使用windows,那么采用这样的配置是个好主意。

这个方法也可以阻止因为用户设置了脆弱的密码而导致的非法登录服务器的事件发生。