总有这样的时候:有时你需要禁用某位 Linux 用户的账号,有时你还需要反过来解禁用户的账号。 本文将介绍一些管理用户访问的命令,并介绍它们背后的原理。

假如你正管理着一台 Linux 系统,那么很有可能将遇到需要禁用一个账号的情况。可能是某人已经换了职位,他们是否还需要该账号仍是个问题;或许有理由相信再次使用该账号并没有大碍。不管上述哪种情况,知晓如何禁用账号并解禁账号都是你需要知道的知识。

需要你记住的一件重要的事是尽管有多种方法来禁用账号,但它们并不都达到相同的效果。假如用户使用公钥/私钥来使用该账号而不是使用密码来访问,那么你使用的某些命令来阻止用户获取该账号或许将不会生效。

使用 passwd 来禁用一个账号

最为简单的用来禁用一个账号的方法是使用 passwd -l 命令。例如:

$ sudo passwd -l tadpole

上面这个命令的效果是在加密后的密码文件 /etc/shadow 中,用户对应的那一行的最前面加上一个 ! 符号。这样就足够阻止用户使用密码来访问账号了。

在没有使用上述命令前,加密后的密码行如下所示(请注意第一个字符):

$6$IC6icrWlNhndMFj6$Jj14Regv3b2EdK.8iLjSeO893fFig75f32rpWpbKPNz7g/eqeaPCnXl3iQ7RFIN0BGC0E91sghFdX2eWTe2ET0:18184:0:99999:7:::

而禁用该账号后,这一行将变为:

!$6$IC6icrWlNhndMFj6$Jj14Regv3b2EdK.8iLjSeO893fFig75f32rpWpbKPNz7g/eqeaPCnXl3iQ7RFIN0BGC0E91sghFdX2eWTe2ET0:18184:0:99999:7:::

在 tadpole 下一次尝试登录时,他可能会使用他原有的密码来尝试多次登录,但就是无法再登录成功了。另一方面,你则可以使用下面的命令来查看他这个账号的状态(-S = status):

$ sudo passwd -S tadpole

tadpole L 10/15/2019 0 99999 7 -1

第二项的 L 告诉你这个账号已经被禁用了。在该账号被禁用前,这一项应该是 P。如果显示的是 NP 则意味着该账号还没有设置密码。

命令 usermod -L 也具有相同的效果(添加 ! 来禁用账号的使用)。

使用这种方法来禁用某个账号的一个好处是当需要解禁某个账号时非常容易。只需要使用一个文本编辑器或者使用 passwd -u 命令来执行相反的操作,即将添加的 ! 移除即可。

$ sudo passwd -u tadpole

passwd: password expiry information changed.

但使用这种方式的问题是如果用户使用公钥/私钥对的方式来访问他/她的账号,这种方式将不能阻止他们使用该账号。

使用 chage 命令来禁用账号

另一种禁用用户账号的方法是使用 chage 命令,它可以帮助管理用户账号的过期日期。

$ sudu chage -E0 tadpole

$ sudo passwd -S tadpole

tadpole P 10/15/2019 0 99999 7 -1

chage 命令将会稍微修改 /etc/shadow 文件。在这个使用 : 来分隔的文件(下面将进行展示)中,某行的第 8 项将被设置为 0(先前为空),这就意味着这个账号已经过期了。chage 命令会追踪密码更改期间的天数,通过选项也可以提供账号过期信息。第 8 项如果是 0 则意味着这个账号在 1970 年 1 月 1 日后的一天过期,当使用上面显示的那个命令时可以用来禁用账号。

$ sudo grep tadpole /etc/shadow | fold

tadpole:$6$IC6icrWlNhndMFj6$Jj14Regv3b2EdK.8iLjSeO893fFig75f32rpWpbKPNz7g/eqeaPC

nXl3iQ7RFIN0BGC0E91sghFdX2eWTe2ET0:18184:0:99999:7::0:

^

|

+--- days until expiration

为了执行相反的操作,你可以简单地使用下面的命令将放置在 /etc/shadow 文件中的 0 移除掉:

% sudo chage -E-1 tadpole

一旦一个账号使用这种方式被禁用,即便是无密码的 SSH 登录也不能再访问该账号了。

本文由 LCTT 原创编译,Linux中国 荣誉推出

linux禁用用户账号,技术|在 Linux 系统中禁用与解禁用户的账号相关推荐

  1. linux系统禁用ssh,怎么在Linux系统中禁用 SSH

    今天微子网络与你分享了如何在Linux系统中禁用SSH,微子网络认为这很实用,所以他分享给你学习.希望你看完这篇文章能有所收获.话不多说,让我们和微子网络一起看看 SSH是什么? Openssh叫做O ...

  2. 组群的基本概念linux,linux课件-Linux系统中组群与用户管理.ppt

    <linux课件-Linux系统中组群与用户管理.ppt>由会员分享,可在线阅读,更多相关<linux课件-Linux系统中组群与用户管理.ppt(66页珍藏版)>请在装配图网 ...

  3. 财务 计算机网络,计算机网络技术在财务系统中的应用

    计算机网络技术在财务系统中的应用 网络会计是信息技术的发展而使财务会计系统变革的产物. (本文共3页) 阅读全文>> 计算机网络技术在财务管理信息系统中的应用李忠臣,温青山,崔晶,张锡磊大 ...

  4. 网络通讯技术在嵌入式系统中的应用

    网络通讯技术在嵌入式系统中的应用 一.嵌入式系统的由来 1.1 嵌入式系统的概念:       嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能.可靠性.成本.体积.功耗.环境 ...

  5. 大数据技术在scm系统中的应用

    面对大数据时代带来的变革与挑战,供应商情报系统研究生与开发的目的在于有效利用大数据技术对开放数据进行收集.分析与处理,为评估与管理供应商提供决策依据.从供应商的情报管理的实际需求出发,采用文本分析.知 ...

  6. Windows11系统中禁用驱动程序强制签名的具体操作方法和步骤

    Windows11系统中禁用驱动程序强制签名的具体操作方法和步骤 Windows11设备只有安装了驱动才能正常使用,而有时会发现下载来的驱动程序由于没有数字签名而无法正常安装,这是系统为了安全问题而阻 ...

  7. ubuntu 开启ipv6_Ubuntu系统中禁用IPv6的两种方法介绍

    Ubuntu系统如何禁用ipv6呢?ipv6的普及将会需要很长一段时间,接下来的文章中小编将会介绍在Ubuntu系统中禁用ipv6的方法,有需要的朋友不要错过哦! Pv6 介绍 Pv6 旨在提高安全性 ...

  8. 如何打开win7禁用的无线网卡服务器,Win7系统如何禁用无线网卡 win7禁用无线网卡的方法...

    现在的笔记本中一般都自带有无线网卡,可以方便用户们使用无线网络,不过在win7系统中如果我们使用有线网络上网的话,就可以禁用无线网卡,那么win7系统如何禁用无线网卡呢?下面win7之家小编就给大家带 ...

  9. V8系统中不同权限的用户有不同的图标功能

    V8系统中不同权限的用户有不同的图标功能 标签(空格分隔): v8 权限 在V8系统中,如果有一个表格,一种用户可以删除记录,另一种用户则没有删除权限,那么这个删除的图标就不应该显示的.如图所示: d ...

最新文章

  1. CMake学习(一)
  2. Transductive和Inductive
  3. 酷酷实训计划及测试计划
  4. ZooKeeper入门(三)zookeeper的Watcher机制
  5. 信息学奥赛一本通 1130:找第一个只出现一次的字符 | OpenJudge NOI 1.7 02
  6. Wannafly模拟赛2
  7. 批归一化作用_批归一化Batch Normalization的原理及算法
  8. CentOS7 按nodejs和npm的方法
  9. matlab 删除cell 中的 0 元素
  10. [转]常见hash算法的原理
  11. C语言之父Dennis Ritchie告诉你:如何成为世界上最好的程序员?
  12. 八人抢答器讲解_八人智力竞赛抢答器课程设计报告
  13. python爬虫百度图片_python爬取百度图库多张图片
  14. python电脑版微信-微信PC版的API接口 | 可通过Python调用微信功能
  15. 安装docker ce与padman冲突及解决办法
  16. 大咖直播 | 大连理工赵纪军教授:人工智能算法用于团簇研究和势函数拟合
  17. linux无线usb网卡,linux usb 无线网卡
  18. xbox手柄映射_如何在Windows 10中重新映射Xbox One控制器的按钮
  19. Python 批量转化doc文件为docx文件
  20. 计算机开机后桌面放大,开机后桌面图标变大 桌面图标变大了怎么处理?

热门文章

  1. 万字长文 | 漫谈libco协程设计及实现
  2. 树的高度 递归法和非递归法
  3. eclipse导入项目后,项目上有红叉,但是打开项目并没有发现带有红叉的文件【解决方案】
  4. 【PAT甲级 十进制转十三进制】1027 Colors in Mars (20 分) Java版 5/5通过
  5. 【Java音频操作】调用有道词典语音接口,生成单词MP3文件,支持自定义重复次数
  6. Java 把一个InputStream转换为一个BufferedReader
  7. C# 实验四 获取系统时间、点击加一秒功能
  8. c#分页_使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页
  9. 一次bug调试经验----To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
  10. java基础-注解Annotation原理和用法