Fork me on GitHub

禁止Linux用户登录

修改shadow

修改用户配置文件/etc/shadow,将第二栏设置为“*”,如下。那么该用户就无法登录。但是使用这种方式会导致该用户的密码丢失,也就是当你再次允许他登录的时候,你还得让他重新设置密码。[再次启用这个帐号的方法是把“*”去掉就可以了]

1
dduyoung:*:14245:0:99999:7:::

使用usermod命令

这个方式简单又实用,而且没有1中的副作用。

1
2
usermod -L dduyoung ##Lock 帐号dduyoung
usermod -U dduyoung ##Unlock 帐号dduyoung

修改shell类型

这种方式会更加人性化一点,因为你不仅可以禁止用户登录,还可以告诉他你这么做的原因。如下

1
2
3
4
5
6
7
chsh dduyoung -s /sbin/nologin #将用户dduyoung的shell进行更改
###############
##修改/etc/nologin.txt(没有就新建一个),
##在里面添加给被禁止用户的提示
###############
#解禁用户的方式就是把shell改为他原有的就可以了。

禁止所有的用户登录

当你(如果你是系统管理员)不想让所有用户登录时(比如你要维护系统升级什么的),如果按上面的方式,一个一个地去禁止用户登录,这将是很……无聊的事。而且还容易出错。下面有一种简洁有效的方式:

1
2
3
4
5
6
7
8
9
##在/etc目录下建立一个nologin文档
touch /etc/nologin ##如果该文件存在,那么Linux上的所有用户(除了root以外)都无法登录
##在/etc/nologin(注意:这可不是3中的nologin.txt啊!)写点什么,告诉用户为何无法登录
#################
cat /etc/nologin
9:00-10:00 系统升级,所有用户都禁止登录!
##解禁帐号也简单,直接将/etc/nologin删除就行了!

坚持原创技术分享,您的支持将鼓励我继续创作!