linux禁止用户登录方法汇总
在Linux上,有多种方式让不安份的用户无法登录。
1.修改用户配置文件/etc/shadow,将第二栏设置为“*”
如下。那么该用户就无法登录。但是使用这种方式会导致该用户的密码丢失,要再次使用时,需重设密码[再次启用这个帐号的方法是把“*”去掉就可以了
test:*:15230:0:99999:7:::
2.使用命令usermod
usermod -L test ## 锁定帐号test
usermod -U test ## 解锁帐号test
3.通过修改shell类型
这种方式会更加人性化一点,因为你不仅可以禁止用户登录,还可以告诉他你这么做的原因。如下:
chsh test -s /sbin/nologin #将用户testid的shell进行更改
##修改/etc/nologin.txt(没有就新建一个),
##在里面添加给被禁止用户的提示
#解禁用户的方式就是把shell改为他原有的就可以了。
4.禁止所有的用户登录
如果你是root用户,当你不想让所有用户登录时(比如你要维护系统升级什么的),如果按上面的方式,一
个一个地去禁止用户登录,这将是很……无聊的事。而且还容易出错。下面有一种简洁有效的方式:
##在/etc目录下建立一个nologin文档
touch /etc/nologin ##如果该文件存在,那么Linux上的所有用户(除了root以外)都无法登录
##在/etc/nologin(注意:这可不是3中的nologin.txt啊!)写点什么,告诉用户为何无法登录
cat /etc/nologin
9:00-10:00 系统升级,所有用户都禁止登录!
##解禁帐号也简单,直接将/etc/nologin删除就行了!
补充:/etc/nologin 和/etc/nologin.txt , 这两个档案的用途是不相同的喔!
当/etc/nologin档案存在时,则任何一个一般身份帐号在尝试登入时,都仅会获得/etc/nologin内容的资讯,而无法 登入主机。 举例来说,当我建立/etc/nologin ,并且内容设定为『This Linux server is maintaining....』, 那么任何人尝试登入时,都仅会看到上面提到的这段讯息,而且无法登入喔! 一直要到/etc/nologin 被移除后,一般身份使用者才能够再次的登入啊
/etc/nologin文件存在时root还是可以通过su user切换到普通用户,但通过ssh user@xx.xx.xx.xx的方式则会显示/etc/nologin文件中的内容