Linux下锁定账号,禁止登录系统的设置总结
2016-11-28 15:44
375 查看
在我们运维工作中,会经常要求一些用户不允许登陆系统,以加固系统安全。今天这里介绍下锁定账号登陆的几种方法:
一、最常用方式,修改用户的shell类型为/sbin/nologin (推荐使用)
这种方式会更加人性化一点,因为不仅可以禁止用户登录,还可以在禁用登陆时给提示告诉它这么做的原因。
修改/etc/nologin.txt,没有的话就手动新建一个,在里面添加给被禁止用户的提示(这种方式的所有用户的锁定信息都在这个文件中,在登陆时给与提示)。
如下,禁用wangshibo账号登陆系统:
[root@host-192-168-1-117 ~]# useradd wangshibo
[root@host-192-168-1-117 ~]# echo "123456"|passwd --stdin wangshibo
Changing password for user wangshibo.
passwd: all authentication tokens updated successfully.
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo //或者使用shell类型修改命令"usermod -s /sbin/nologin wangshibo"
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# sed -i 's#/home/wangshibo:/bin/bash#/home/wangshibo:/sbin/nologin#g' /etc/passwd
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/sbin/nologin
[root@host-192-168-1-117 ~]# touch /etc/nologin.txt
[root@host-192-168-1-117 ~]# cat /etc/nologin.txt
In order to protect the system security, this type of user is locked!
现在尝试用wangshibo账号登陆系统,就会被拒绝,并给出提示信息:
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
In order to protect the system security, this type of user is locked!
[ops@host-192-168-1-117 ~]$
解禁用户登陆就是把shell改为它原有的就可以了
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/sbin/nologin
[root@host-192-168-1-117 ~]# sed -i 's#/home/wangshibo:/sbin/nologin#/home/wangshibo:/bin/bash#g' /etc/passwd
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# su - ops
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
---------------------------------------------------------------------------------------
可以使用usermod命令修改用户的shell类型,加-s参数,如
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# usermod wangshibo -s /sbin/nologin
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/sbin/nologin
另外注意下一个小细节:
这一种方法,无论是从root用户,还是从其他用户,都不能ssh登陆或su切换到锁定账号下
---------------------------------------------------------------------------------------
二、修改用户配置文件/etc/shadow,将第二栏设置为“*”
使用这种方式会导致该用户的密码丢失,要再次使用时,需重设密码。一般不推荐这种方式!
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# cat /etc/shadow|grep wangshibo
wangshibo:$1$0/5NU4y2$OBGISa8yaloVNYVLFCoP3.:17133::::::
[root@host-192-168-1-117 ~]# cat /etc/shadow|grep wangshibo # 将第二栏密码设置为*
wangshibo:*:17133::::::
[root@host-192-168-1-117 ~]# su - ops
[ops@host-192-168-1-117 ~]$ su - wangshibo #不能登陆系统
Password:
su: incorrect password
解禁用户登陆,需要重置密码
[root@host-192-168-1-117 ~]# echo "123456"|passwd --stdin wangshibo
Changing password for user wangshibo.
passwd: all authentication tokens updated successfully.
[root@host-192-168-1-117 ~]# cat /etc/shadow|grep wangshibo
wangshibo:$1$RPfkekf7$QAUGmJ0SCIb64aEvJvNif1:17133::::::
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
三、使用命令passwd
passwd -l 用户 //锁定账号,-l:lock
passwd -u 用户 //解禁用户,-u:unlock
[root@host-192-168-1-117 ~]# passwd -l wangshibo
Locking password for user wangshibo.
passwd: Success
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
su: incorrect password
[root@host-192-168-1-117 ~]# passwd -u wangshibo
Unlocking password for user wangshibo.
passwd: Success
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
四、使用命令usermod
usermod -L 用户 //锁定帐号,-L:lock
usermod -U 用户 //解锁帐号,-U:unlock
[root@host-192-168-1-117 ~]# usermod -L wangshibo
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
su: incorrect password
[root@host-192-168-1-117 ~]# usermod -U wangshibo
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
---------------------------------------------------------------------------------------
这里有个细节需要注意一下:
第三和第四种方式,即passwd或usermod命令锁定的用户:
1)无论从root用户还是其他普通用户,都不能ssh登陆锁定用户下
2)可以从root用户su切换到锁定用户下,但是用其他普通用户不能su切换到锁定用户下
---------------------------------------------------------------------------------------
五、禁止所有的用户登录(手动创建/etc/nologin文件)
如果不想让除root用户之外的其他所有用户登录系统(比如在系统维护情况下),如果按照上面的几种方式,就需要一个一个地去禁止用户登录,这就是一种很傻X的工作方式,效率也很低!
下面介绍一种简洁有效的设置方式:
只需要在/etc目录下建立一个nologin文档,那么Linux上的所有用户(除了root以外)都无法登录!!
[root@host-192-168-1-117 ~]# touch /etc/nologin
在/etc/nologin(注意:这可不是第一种方式中的nologin.txt)文件里面可以自定义一些内容,告诉用户为何无法登录。
[root@host-192-168-1-117 ~]# cat /etc/nologin
抱歉,系统维护中,暂时禁止登陆!
这样,就会发现除root之外的其他用户统统无法登陆系统了。
[root@linux-node2 ~]# ssh root@192.168.1.117
抱歉,系统维护中,暂时禁止登陆!
[root@host-192-168-1-117 ~]#
[root@linux-node2 ~]# ssh wangshibo@192.168.1.117
wangshibo@192.168.1.117's password:
抱歉,系统维护中,暂时禁止登陆!
Connection closed by 192.168.1.117
[root@linux-node2 ~]# ssh ops@192.168.1.117
ops@192.168.1.117's password:
抱歉,系统维护中,暂时禁止登陆!
Connection closed by 192.168.1.117
注意一点:
这种方法设置后,只是禁止了从外部ssh登陆本机时有效!但是在本机上,无论是从root用户还是其他普通用户使用su命令切换到锁定用户下都不受影响。
[root@host-192-168-1-117 ~]# su - ops
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
解禁帐号也简单,直接将/etc/nologin删除就行了!
[root@host-192-168-1-117 ~]# rm -f /etc/nologin
[root@host-192-168-1-117 ~]# ll /etc/nologin
ls: cannot access /etc/nologin: No such file or directory
[root@linux-node2 ~]# ssh wangshibo@192.168.1.117
wangshibo@192.168.1.117's password:
[wangshibo@host-192-168-1-117 ~]$
以上几种锁定账号的设置完成后,在远程使用ssh命令都将无法登陆系统!
一、最常用方式,修改用户的shell类型为/sbin/nologin (推荐使用)
这种方式会更加人性化一点,因为不仅可以禁止用户登录,还可以在禁用登陆时给提示告诉它这么做的原因。
修改/etc/nologin.txt,没有的话就手动新建一个,在里面添加给被禁止用户的提示(这种方式的所有用户的锁定信息都在这个文件中,在登陆时给与提示)。
如下,禁用wangshibo账号登陆系统:
[root@host-192-168-1-117 ~]# useradd wangshibo
[root@host-192-168-1-117 ~]# echo "123456"|passwd --stdin wangshibo
Changing password for user wangshibo.
passwd: all authentication tokens updated successfully.
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo //或者使用shell类型修改命令"usermod -s /sbin/nologin wangshibo"
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# sed -i 's#/home/wangshibo:/bin/bash#/home/wangshibo:/sbin/nologin#g' /etc/passwd
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/sbin/nologin
[root@host-192-168-1-117 ~]# touch /etc/nologin.txt
[root@host-192-168-1-117 ~]# cat /etc/nologin.txt
In order to protect the system security, this type of user is locked!
现在尝试用wangshibo账号登陆系统,就会被拒绝,并给出提示信息:
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
In order to protect the system security, this type of user is locked!
[ops@host-192-168-1-117 ~]$
解禁用户登陆就是把shell改为它原有的就可以了
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/sbin/nologin
[root@host-192-168-1-117 ~]# sed -i 's#/home/wangshibo:/sbin/nologin#/home/wangshibo:/bin/bash#g' /etc/passwd
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# su - ops
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
---------------------------------------------------------------------------------------
可以使用usermod命令修改用户的shell类型,加-s参数,如
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# usermod wangshibo -s /sbin/nologin
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/sbin/nologin
另外注意下一个小细节:
这一种方法,无论是从root用户,还是从其他用户,都不能ssh登陆或su切换到锁定账号下
---------------------------------------------------------------------------------------
二、修改用户配置文件/etc/shadow,将第二栏设置为“*”
使用这种方式会导致该用户的密码丢失,要再次使用时,需重设密码。一般不推荐这种方式!
[root@host-192-168-1-117 ~]# cat /etc/passwd|grep wangshibo
wangshibo:x:500:500::/home/wangshibo:/bin/bash
[root@host-192-168-1-117 ~]# cat /etc/shadow|grep wangshibo
wangshibo:$1$0/5NU4y2$OBGISa8yaloVNYVLFCoP3.:17133::::::
[root@host-192-168-1-117 ~]# cat /etc/shadow|grep wangshibo # 将第二栏密码设置为*
wangshibo:*:17133::::::
[root@host-192-168-1-117 ~]# su - ops
[ops@host-192-168-1-117 ~]$ su - wangshibo #不能登陆系统
Password:
su: incorrect password
解禁用户登陆,需要重置密码
[root@host-192-168-1-117 ~]# echo "123456"|passwd --stdin wangshibo
Changing password for user wangshibo.
passwd: all authentication tokens updated successfully.
[root@host-192-168-1-117 ~]# cat /etc/shadow|grep wangshibo
wangshibo:$1$RPfkekf7$QAUGmJ0SCIb64aEvJvNif1:17133::::::
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
三、使用命令passwd
passwd -l 用户 //锁定账号,-l:lock
passwd -u 用户 //解禁用户,-u:unlock
[root@host-192-168-1-117 ~]# passwd -l wangshibo
Locking password for user wangshibo.
passwd: Success
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
su: incorrect password
[root@host-192-168-1-117 ~]# passwd -u wangshibo
Unlocking password for user wangshibo.
passwd: Success
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
四、使用命令usermod
usermod -L 用户 //锁定帐号,-L:lock
usermod -U 用户 //解锁帐号,-U:unlock
[root@host-192-168-1-117 ~]# usermod -L wangshibo
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
su: incorrect password
[root@host-192-168-1-117 ~]# usermod -U wangshibo
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
---------------------------------------------------------------------------------------
这里有个细节需要注意一下:
第三和第四种方式,即passwd或usermod命令锁定的用户:
1)无论从root用户还是其他普通用户,都不能ssh登陆锁定用户下
2)可以从root用户su切换到锁定用户下,但是用其他普通用户不能su切换到锁定用户下
---------------------------------------------------------------------------------------
五、禁止所有的用户登录(手动创建/etc/nologin文件)
如果不想让除root用户之外的其他所有用户登录系统(比如在系统维护情况下),如果按照上面的几种方式,就需要一个一个地去禁止用户登录,这就是一种很傻X的工作方式,效率也很低!
下面介绍一种简洁有效的设置方式:
只需要在/etc目录下建立一个nologin文档,那么Linux上的所有用户(除了root以外)都无法登录!!
[root@host-192-168-1-117 ~]# touch /etc/nologin
在/etc/nologin(注意:这可不是第一种方式中的nologin.txt)文件里面可以自定义一些内容,告诉用户为何无法登录。
[root@host-192-168-1-117 ~]# cat /etc/nologin
抱歉,系统维护中,暂时禁止登陆!
这样,就会发现除root之外的其他用户统统无法登陆系统了。
[root@linux-node2 ~]# ssh root@192.168.1.117
抱歉,系统维护中,暂时禁止登陆!
[root@host-192-168-1-117 ~]#
[root@linux-node2 ~]# ssh wangshibo@192.168.1.117
wangshibo@192.168.1.117's password:
抱歉,系统维护中,暂时禁止登陆!
Connection closed by 192.168.1.117
[root@linux-node2 ~]# ssh ops@192.168.1.117
ops@192.168.1.117's password:
抱歉,系统维护中,暂时禁止登陆!
Connection closed by 192.168.1.117
注意一点:
这种方法设置后,只是禁止了从外部ssh登陆本机时有效!但是在本机上,无论是从root用户还是其他普通用户使用su命令切换到锁定用户下都不受影响。
[root@host-192-168-1-117 ~]# su - ops
[ops@host-192-168-1-117 ~]$ su - wangshibo
Password:
[wangshibo@host-192-168-1-117 ~]$
解禁帐号也简单,直接将/etc/nologin删除就行了!
[root@host-192-168-1-117 ~]# rm -f /etc/nologin
[root@host-192-168-1-117 ~]# ll /etc/nologin
ls: cannot access /etc/nologin: No such file or directory
[root@linux-node2 ~]# ssh wangshibo@192.168.1.117
wangshibo@192.168.1.117's password:
[wangshibo@host-192-168-1-117 ~]$
以上几种锁定账号的设置完成后,在远程使用ssh命令都将无法登陆系统!
相关文章推荐
- Linux下锁定账号,禁止登录系统的设置总结
- linux系统登录方式的设置方法
- linux设置存储自动挂载后系统无法登录即repair filesystem模式修复方法
- Linux系统下Apache日志文件设置、更改默认网站目录、防止php木马跨站设置、禁止空主机头
- linux系统ssh无密码环境登录设置
- linux 系统禁止普通用户登录的方法
- LINUX中系统调优与安全设置的方法总结:
- Linux系统下设置用户登录环境
- Linux系统禁止IP登录
- Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作
- Linux下mysql新建账号及权限设置各种方式总结
- Linux系统下设置环境变量(PATH)总结
- LINUX中系统调优与安全设置的方法总结
- SSH密钥登录Linux系统服务器的设置方法
- Linux系列:Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(五 内核测试 三 通过bootargs设置根文件系统的启动位置)
- linux系统禁止root用户通过ssh登录及ssh的访问控制
- 使用SecureCRT设置linux系统登录的ssh公钥认证
- Win10系统在登录画面自动开启小键盘数字锁定功能的设置方法
- 使用SecureCRT设置linux系统登录的ssh公钥认证