Linux系统如何锁定(禁止)或解除用户登录(2018-01-29)

在我们运维工作中,会经常要求一些用户不允许登陆系统,以加固系统安全。今天这里介绍下锁定账号登陆的几种方法:


一、最常用方式,修改用户的shell类型为/sbin/nologin(推荐)

这种方式会更加人性化一点,因为不仅可以禁止用户登录,还可以在禁止登陆时给出提示告诉它这么做的原因。

修改/etc/nologin.txt,没有的话就手动新建一个,在里面添加给被禁止用户的提示。如下,禁用cnsdhh账号登陆系统:
(注意:以这种方式禁止的所有用户的锁定信息都在这个文件中,在登陆时会给予提示。)

添加一个cnsdhh用户并给它设置密码为“123456”:
[root@localhost ~]# useradd cnsdhh
[root@localhost ~]# echo "123456" | passwd --stdin cnsdhh
Changing password for user cnsdhh.
passwd: all authentication tokens updated successfully.

修改此用户的shell类型为/sbin/nologin,并添加提示信息:
[root@localhost ~]# cat /etc/passwd | grep cnsdhh
cnsdhh:x:500:500::/home/cnsdhh:/bin/bash
[root@localhost ~]# sed -i 's#/home/cnsdhh:/bin/bash#/home/cnsdhh:/sbin/nologin#g' /etc/passwd
[root@localhost ~]# cat /etc/passwd | grep cnsdhh
cnsdhh:x:500:500::/home/cnsdhh:/sbin/nologin
[root@localhost ~]# touch /etc/nologin.txt
[root@localhost ~]# cat /etc/nologin.txt
In order to protect the system security, this type of user is locked!

现在尝试用cnsdhh账号登陆系统,就会被拒绝,并给出提示信息:
[root@localhost ~]# su - ops
[ops@localhost ~]$ su - cnsdhh
Password:
In order to protect the system security, this type of user is locked!
[ops@localhost ~]$

---------------------------------------------------------------------------------------
也可以使用usermod命令修改用户的shell类型,加“-s”参数,如:
[root@localhost ~]# cat /etc/passwd | grep cnsdhh
cnsdhh:x:500:500::/home/cnsdhh:/bin/bash
[root@localhost ~]# usermod cnsdhh -s /sbin/nologin
[root@localhost ~]# cat /etc/passwd | grep cnsdhh
cnsdhh:x:500:500::/home/cnsdhh:/sbin/nologin
(注意:这种方法无论是从root用户,还是从其他用户,都不能通过ssh登陆或su切换到锁定账号下。)
---------------------------------------------------------------------------------------

解除用户登陆就是把shell改为它原有的就即可:

[root@localhost ~]# cat /etc/passwd | grep cnsdhh
cnsdhh:x:500:500::/home/cnsdhh:/sbin/nologin
[root@localhost ~]# sed -i 's#/home/cnsdhh:/sbin/nologin#/home/cnsdhh:/bin/bash#g' /etc/passwd
[root@localhost ~]# cat /etc/passwd|grep cnsdhh
cnsdhh:x:500:500::/home/cnsdhh:/bin/bash
[root@localhost ~]# su - ops
[ops@localhost ~]$ su - cnsdhh
Password:
[cnsdhh@localhost ~]$


二、修改用户配置文件/etc/shadow,将第二栏设置为“*”(不推荐)

使用这种方式会导致该用户的密码丢失,要再次使用此用户时,需重设密码。

方法如下:

将用户的密码设置为“*”:
[root@localhost ~]# cat /etc/passwd | grep cnsdhh
cnsdhh:x:500:500::/home/cnsdhh:/bin/bash
[root@localhost ~]# cat /etc/shadow | grep cnsdhh
cnsdhh:$1$0/5NU4y2$OBGISa8yaloVNYVLFCoP3.:17133::::::
[root@localhost ~]# cat /etc/shadow | grep cnsdhh      #将第二栏密码设置为*
cnsdhh:*:17133::::::
[root@localhost ~]# su - ops
[ops@localhost ~]$ su - cnsdhh      #不能登陆系统
Password:
su: incorrect password

解禁用户登陆,需要重置密码:
[root@localhost ~]# echo "123456" | passwd --stdin cnsdhh
Changing password for user cnsdhh.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# cat /etc/shadow | grep cnsdhh
cnsdhh:$1$RPfkekf7$QAUGmJ0SCIb64aEvJvNif1:17133::::::
[ops@localhost ~]$ su - cnsdhh
Password:
[cnsdhh@localhost ~]$


三、使用命令passwd

passwd -l 用户        //锁定账号,-l:lock
passwd -u 用户        //解禁用户,-u:unlock

[root@localhost ~]# passwd -l cnsdhh
Locking password for user cnsdhh.
passwd: Success
[ops@localhost ~]$ su - cnsdhh
Password:
su: incorrect password
[root@localhost ~]# passwd -u cnsdhh
Unlocking password for user cnsdhh.
passwd: Success
[ops@localhost ~]$ su - cnsdhh
Password:
[cnsdhh@localhost ~]$


四、使用命令usermod

usermod -L 用户        //锁定帐号,-L:lock
usermod -U 用户        //解锁帐号,-U:unlock

[root@localhost ~]# usermod -L cnsdhh
[ops@localhost ~]$ su - cnsdhh
Password:
su: incorrect password
[root@localhost ~]# usermod -U cnsdhh
[ops@localhost ~]$ su - cnsdhh
Password:
[cnsdhh@localhost ~]$

---------------------------------------------------------------------------------------
这里有个细节需要注意一下:
第三和第四种方式,即passwd或usermod命令锁定的用户:
1)无论从root用户还是其他普通用户,都不能ssh登陆锁定用户下
2)可以从root用户su切换到锁定用户下,但是用其他普通用户不能su切换到锁定用户下
---------------------------------------------------------------------------------------


五、禁止所有的用户登录(手动创建/etc/nologin文件)

如果不想让除root用户之外的其他所有用户登录系统(比如在系统维护情况下),如果按照上面的几种方式,就需要一个一个地去禁止用户登录,这就是一种很傻X的工作方式,效率也很低!

下面介绍一种简洁有效的设置方式,只需要在/etc目录下建立一个nologin文档,那么Linux上的所有用户(除了root以外)都无法登录!!

在/etc/nologin文件里面可以自定义一些内容,告诉用户为何无法登录:
(注意:这可不是第一种方式中的nologin.txt)
[root@localhost ~]# touch /etc/nologin
[root@localhost ~]# cat /etc/nologin
抱歉,系统维护中,暂时禁止登陆!

这样,就会发现除root之外的其他用户统统无法登陆系统了。
[root@nginx ~]# ssh root@192.168.1.117
root@192.168.1.117's password:
[root@localhost ~]#

[root@nginx ~]# ssh cnsdhh@192.168.1.117
cnsdhh@192.168.1.117's password:
抱歉,系统维护中,暂时禁止登陆!
Connection closed by 192.168.1.117
[root@nginx ~]# ssh ops@192.168.1.117
ops@192.168.1.117's password:
抱歉,系统维护中,暂时禁止登陆!
Connection closed by 192.168.1.117

(注意:这种方法设置后,只是禁止了从外部ssh登陆本机时有效!但是在本机上,无论是从root用户还是其他普通用户使用su命令切换到锁定用户下都不受影响。)

解禁帐号也简单,直接将/etc/nologin删除就行了!

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容