Linux 如何禁止用户登录

如题所述

两种方式:
使用命令usermod
禁止帐号myuser登录
usermod -L myuser

允许账号登录
usermod -U myuser123456

修改shell类型
chsh myuser -s /sbin/nologin
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-25
1.修改用户配置文件/etc/shadow,将第二栏设置为“*”
如下。那么该用户就无法登录。但是使用这种方式会导致该用户的密码丢失,要再次使用时,需重设密码[再次启用这个帐号的方法是把“*”去掉就可以了
test:*:15230:0:99999:7:::

2.使用命令usermod
usermod -L test ## 锁定帐号testusermod -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删除就行了!更多Linux知识可参考《Linux就该这么学》。
第2个回答  2020-02-20
两种方式:
使用命令usermod
禁止帐号myuser登录
usermod -L myuser
允许账号登录
usermod -U myuser
修改shell类型
chsh myuser -s /sbin/nologin
此时查看/etc/passwd myuser那一行发现发现被改变了
原来为:myuser:x:500:500::/home/myuser:/bin/bash
此时为:myuser:x:500:500::/home/myuser:/sbin/nologin
如果想在用户使用myuser进行ssh登录时,提示一些信息
修改 /etc/nologin.txt(没有就新建一个)
输入比如:You are not allowed to login.
推荐使用第二种。更多详细Linux知识推荐书籍《Linux就该这么学》。
相似回答