当前位置: 首页 > news >正文

linux 阻止 复位命令,Linux下锁定账号,禁止登录系统的设置总结

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

一、最常用方式,修改用户的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$05NU4y2$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 特殊权限chattr(文件系统级别的权限) Attr 权限和 ACL访问控制列表 ......
  • 改文件命名linux,linux下修改文件名称
  • 小米网卡驱动linux,小米笔记本pro 15.6寸安装ubuntu16.04无法使用wifi的解决方法
  • fopen函数在linux,Fopen()是Linux中的一个线程安全函数吗?
  • linux vnc登录日志,CentOS安装使用VNC进行远程桌面登录
  • 鸟哥linux视频教程密码,[鸟哥linux视频教程整理]04_01_Linux用户管理命令详解
  • linux memcpy 地址对齐,在memcpy中对齐源地址和目标地址
  • 红帽企业级Linux.As版,晋级Linux中的默认JDK的版本
  • linux xen 参数配置,XEN linux虚拟机配置实例
  • linux cpu占用分析,Linux下CPU占用率高分析方法
  • linux信号处理响应异步事件,Linux并发(异步信号)
  • redis 3.0.0 linux下载,Redis可视化管理软件RedisPlus 3.0.0下载,优化了性能及交互体验...
  • c语言阶乘 ii多测试,C语言经典题目:求阶乘n!=n*(n-1)*...*1,阶乘和s=1!+(2)!+(3)!+...+n!...
  • 利用c语言实现几何图形旋转,[平顶山学院高等数学C语言试题.doc
  • linux子系统adb,[ubuntu] win10中linux子系统增加adb调试功能
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Apache的80端口被占用以及访问时报错403
  • centos安装java运行环境jdk+tomcat
  • co模块的前端实现
  • CSS居中完全指南——构建CSS居中决策树
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Js基础知识(一) - 变量
  • JWT究竟是什么呢?
  • LintCode 31. partitionArray 数组划分
  • Linux各目录及每个目录的详细介绍
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 产品三维模型在线预览
  • 聚簇索引和非聚簇索引
  • 前端之React实战:创建跨平台的项目架构
  • 强力优化Rancher k8s中国区的使用体验
  • 新版博客前端前瞻
  • 如何用纯 CSS 创作一个货车 loader
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​比特币大跌的 2 个原因
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #100天计划# 2013年9月29日
  • #pragma预处理命令
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • ()、[]、{}、(())、[[]]命令替换
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (层次遍历)104. 二叉树的最大深度
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十一)c52学习之旅-动态数码管
  • (四)Controller接口控制器详解(三)
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)项目管理杂谈-我所期望的新人
  • (转载)利用webkit抓取动态网页和链接
  • .Net - 类的介绍
  • .net core 控制台应用程序读取配置文件app.config
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作