Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息
文章首发于Linux学习总结(十二)—— CentOS用户管理,请尊重原创保留原文链接。
创建用户
useradd -g webadmin -d /home/zhangsan zhangsan
passwd zhangsan

上面的命令创建了用户zhangsan,并将其归属于webadmin用户组,默认目录为/home/zhangsan,之后用passwd命令为zhangsan设置密码。
更多useradd命令的参数如下表所示:
| 参数 | 描述 |
|---|---|
| -u | 指定用户的UID(超级用户UID=0,普通用户UID 500-60000,伪用户UID 1-499) |
| -g | 指定用户缺省所属的用户组的GID |
| -G | 指定用户组所属多个组(用英文逗号隔开) |
| -d | 指定宿主目录 |
| -s | 指定命令解释器Shell |
| -c | 指定描述信息 |
| -e | 指定用户失效时间 |
修改用户
usermod -l lisi -md /home/lisi zhangsan

上面的命令将zhangsan用户登录名改为lisi,并将其默认目录改为/home/lisi。可以看到在运行命令后,zhangsan目录变成了lisi。
usermod命令可用参数列表如下:
| 参数 | 描述 |
|---|---|
| -l | 修改登录名 |
| -u | 指定用户的UID(超级用户UID=0,普通用户UID 500-60000,伪用户UID 1-499) |
| -g | 指定用户缺省所属的用户组的GID |
| -G | 指定用户组所属多个组(用英文逗号隔开) |
| -d | 指定宿主目录 |
| -m | 将家目录内容移至新位置 (仅于 -d 一起使用) |
| -s | 指定命令解释器Shell |
| -c | 指定描述信息 |
| -e | 指定用户失效时间 |
| -L | 锁定用户帐号 |
| -U | 解锁用户帐号 |
文章首发于Linux学习总结(十二)—— CentOS用户管理,请尊重原创保留原文链接。
删除用户
userdel -r lisi

上面的命令删除了lisi账户,并删除其用户目录。在/etc/passwd文件中也可以看到lisi用户的记录不见了。
修改密码
passwd lisi
上面的命令可以为用户lisi设置新的密码。
更多可用参数列表如下:
| 参数 | 描述 |
|---|---|
| -d | 删除密码,仅有系统管理者才能使用 |
| -f | 强制执行 |
| -k | 设置只有在密码过期失效后,方能更新 |
| -l | 锁住密码 |
| -u | 解开已上锁的账号 |
| -s | 列出密码的相关信息,仅有系统管理者才能使用 |
密码有效期
chage命令用于修改账号和密码的相关设定。
chage -E 2017/06/30 lisi
上面的命令设置lisi用户在2017年6月30日过期,修改过后可以在/etc/passwd文件中看到对应标志位修改。
更多关于chage命令的参数可参考下表:
| 参数 | 描述 |
|---|---|
| -l | 查看用户密码设置(如:密码失效时间、最后一次修改密码时间等) |
| -m | 密码修改最小天数 |
| -M | 密码修改最大天数 |
| -d | 密码最后修改的日期 |
| -I | 密码过期后,锁定账户的天数 |
| -E | 设置密码的过期日期,如果为0,代码密码立即过期;如果为-1,代表密码永不过期 |
| -W | 设置密码过期前,开始警告的天数 |
禁用账户
禁用账户使用的是usermod命令,配合-L参数锁住账户。
usermod -L lisi
上面的命令将lisi账户锁定禁用,用passwd命令也可以实现同样的效果:
passwd -l lisi

我们用ssh zhangsan@192.168.1.1登陆服务器的时候,会发现服务器拒绝了登陆,那就说明账户成功被禁用。
恢复账户
禁用账户使用的是usermod命令,配合-U参数锁住账户。
usermod -U lisi

上面的命令将lisi账户解锁,用passwd命令也可以实现同样的效果:
passwd -u lisi
查看所有用户信息
在Linux系统中,所有用户的账户信息保存在/etc/passwd文件中。

上图红色框中的内容就是我们上面创建的用户zhangsan对应的一条记录。文件中每一条记录对应一个用户,每条记录都遵守着固定的格式。
用户名:密码位:UID:GID:描述信息:宿主目录:使用的shell命令
我们创建的zhangsan用户,其用户名就是zhangsan,UID为1002,GID为888,没有描述信息,宿主目录为/home/zhangsan,使用的shell命令为/bin/bash。
查看所有用户的密码信息
在Linux系统中,所有用户的账户信息保存在/etc/shadow文件中。

上图红框部分的就是zhangsan的密码信息。文件中每一条记录对应一个用户的密码信息,每条记录都遵守着固定的格式。
用户名:加密密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:帐号闲置时间:失效时间:标志
我们创建的zhangsan用户,其用户名就是zhangsan,最后一次修改时间为17295天(1970年到今天的日期),最小时间间隔为0,最大时间间隔为99999天,警告时间为7天,账号闲置时间、失效时间、标识都为空。
关于各项标志位的意义,可以参考下表:
| 标志位 | 含义 |
|---|---|
| 最后一次修改时间 | 是指最后一次修改密码的天数与1970年1月1日相隔的天数 |
| 最小时间间隔 | 指两次修改密码之间的最小天数(当为0时表示不限制)。 |
| 最大时间间隔 | 是指密码多少天之后失效,但是可以在重新密码使账户可以重新启用。而失效时间是指多久之后账户就直接无效(当不限制无效时间时,直接设置一个很大的值即可。) |
| 警告时间 | 当密码失效前n天就进行提示警告(当为0时表示不警告) |
| 帐号闲置时间 | 指用户没有登录活动但账号仍能保持有效的最大天数(不设置则留空) |
| 失效时间 | 指多久之后账户就直接无效。一般应用于短期外来人员的帐号。 |
| 标志 | 一般不使用 |
文章首发于Linux学习总结(十二)—— CentOS用户管理,请尊重原创保留原文链接。
Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息的更多相关文章
- Linux学习之十八-sudo分权管理
sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...
- Linux学习之十二、命令别名与历史命令
命令别名配置: alias, unalias 那么需要下达『 ls -al | more 』这个命令,我是觉得很烦啦! 要输入好几个单字!那可不可以使用 lm 来简化呢?当然可以,你可以在命令行下面下 ...
- Linux学习(十二)mkpasswd、su、sudo、限制root远程登录
一.mkpasswd mkpasswd用来生成随机密码字符串.可以指定长度和特殊字符的长度: [root@ruanwenwu01 ~]# mkpasswd O7.alw5Wq [root@ruanwe ...
- Linux学习之十二-Linux文件属性
Linux文件属性 在Linux中,对于每个文件都有相应属性,以Linux中root用户家目录下新建文件a.txt为例,在a.txt中输入几个字符 使用命令ls -ild a.txt查看文件的权限等 ...
- Linux学习篇(二)-软件包管理器、Yum 软件仓库
红帽软件包管理器 在红帽软件包管理器(rpm)公布之前,Linux 系统软件的安装只能采取"源码包"的方式安装,需要自行编译源码并解决许多依赖关系,所以软件的安装.升级.卸载的难度 ...
- linux基础-第十六单元 yum管理RPM包
第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...
- Linux学习之十四、管线命令
Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php
- deepin linux 学习笔记(二)——文本编辑器
目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
随机推荐
- Bash : 索引数组
Bash 提供了两种类型的数组,分别是索引数组(indexed array)和关联数组(associative array).本文主要介绍索引数组的基本用法. 索引数组的基本特点 Bash 提供的数组 ...
- 一个简单的时间轴demo
一个时间轴的组成 使用一个块级元素包裹内容,并未块级元素设置边框 定义圆形或者菱形等元素标签,子元素设置偏移或者定位元素将图标定位到边框上 使其中的内容不溢出,自动换行,内容自动撑高 英文自动换行:w ...
- 还在为画“类Word文档报表”而发愁吗?
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油业的 ...
- Spring AOP 和 动态代理技术
AOP 是什么东西 首先来说 AOP 并不是 Spring 框架的核心技术之一,AOP 全称 Aspect Orient Programming,即面向切面的编程.其要解决的问题就是在不改变源代码的情 ...
- Java 9 揭秘(16. 虚拟机栈遍历)
Tips 做一个终身学习的人. 在本章中,主要介绍以下内容: 什么是虚拟机栈(JVM Stack)和栈帧(Stack Frame) 如何在JDK 9之前遍历一个线程的栈 在JDK 9中如何使用Stac ...
- 第一回:Scrapy的试水
前言:今天算是见到Scrapy的第二天,之前只是偶尔查了查,对于这个框架的各种解释,我-----都-----看------不------懂----,没办法,见面就是刚. 目的:如题,试水 目标:< ...
- angular JS中使用jquery datatable添加ng-click事件
'use strict'; app.controller('DataTableCtrl', function ($scope, $compile) { $scope.show = function ( ...
- 蓝桥杯比赛javaB组练习《方格填数》
方格填数 如下的10个格子 +--+--+--+ | | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+ ( ...
- NET中解决KafKa多线程发送多主题的问题
一般在KafKa消费程序中消费可以设置多个主题,那在同一程序中需要向KafKa发送不同主题的消息,如异常需要发到异常主题,正常的发送到正常的主题,这时候就需要实例化多个主题,然后逐个发送. 在NET中 ...
- Code Complete
一.<代码大全>优先阅读参考顺序: 自学编程人:第07章 高质量的子程序 低年级学生:第11章 变量命名的力量 高年级学生:第08章 防御式编程 初级程序员:第18章 表驱动法 高级程序员 ...