/bin/false 和 /usr/sbin/nologin
比较常用的用法:
#添加一个不能登录的用户 useradd -d /usr/local/apache -g apache -s /bin/false apache
要拒绝系统用户登录,可以将其shell设置为/usr/sbin/nologin
或者/bin/false
usermod -s | --shell /usr/sbin/nologin username # 或者 usermod -s | -shell /bin/false username
说明及比较:
/bin/false:/bin/false什么也不做只是返回一个错误状态,然后立即退出。将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示。
/usr/sbin/nologin:nologin会礼貌的向用户显示一条信息,并拒绝用户登录:This account is currently not available.
有一些软件,比如一些ftp服务器软件,对于本地非虚拟账户,只有用户有有效的shell才能使用ftp服务。这时候就可以使用nologin使用户即不能登录系统,还能使用一些系统服务,比如ftp服务。/bin/false则不行,这是二者的重要区别之一。
/etc/nologin
如果存在/etc/nologin
文件,则系统只允许root
用户登录,其他用户全部被拒绝登录,并向他们显示/etc/nologin
文件的内容。
其他用户管理用法
锁定用户账户
passwd -l | --lock username
解锁用户账户
passwd -u | --unlock username
删除用户密码
passwd -d | --delete username