文章首发于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用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息的更多相关文章

  1. Linux学习之十八-sudo分权管理

    sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...

  2. Linux学习之十二、命令别名与历史命令

    命令别名配置: alias, unalias 那么需要下达『 ls -al | more 』这个命令,我是觉得很烦啦! 要输入好几个单字!那可不可以使用 lm 来简化呢?当然可以,你可以在命令行下面下 ...

  3. Linux学习(十二)mkpasswd、su、sudo、限制root远程登录

    一.mkpasswd mkpasswd用来生成随机密码字符串.可以指定长度和特殊字符的长度: [root@ruanwenwu01 ~]# mkpasswd O7.alw5Wq [root@ruanwe ...

  4. Linux学习之十二-Linux文件属性

    Linux文件属性 在Linux中,对于每个文件都有相应属性,以Linux中root用户家目录下新建文件a.txt为例,在a.txt中输入几个字符 使用命令ls -ild a.txt查看文件的权限等 ...

  5. Linux学习篇(二)-软件包管理器、Yum 软件仓库

    红帽软件包管理器 在红帽软件包管理器(rpm)公布之前,Linux 系统软件的安装只能采取"源码包"的方式安装,需要自行编译源码并解决许多依赖关系,所以软件的安装.升级.卸载的难度 ...

  6. linux基础-第十六单元 yum管理RPM包

    第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...

  7. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  8. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  9. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  10. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

随机推荐

  1. opencv如何实现【不用全局变量进行滚动条控制】

    opencv中自带滚动条,其中一个问题是该回调函数(on_trackbar)大多使用的是全局变量,大型项目调试时弊端众多,比如下图: 为此,留意了void on_Trackbar(int par1, ...

  2. .net core建站踩坑记录

    系统:win10 VS版本:2017 .NET Core 版本: 1.1 零.读取配置文件 参考:http://www.tuicool.com/articles/QfYVBvi 此版本无需添加其他组件 ...

  3. Oracle数据迁移-系统数据合并笔记

    创建临时表:execute immediate 'sql'; 通过临时表和关联查询解决循环处理效率低下,大数据操作移植时时间太长的问题. 结构相同的系统数据库表移植,案例如下: create or r ...

  4. 虚拟机配置静态IP地址

    使用VMware配置虚拟机静态IP地址 一.安装好虚拟后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子 ...

  5. Python如何实现单步调试

    遇到大型python项目,如何定位问题和监控程序的运行状态是一个程序员必须掌握的技能,今天小编为你带来python程序的单步调试方法,方便易用,简单易记! 首先你需要在所调试程序的开头中:import ...

  6. js验证身份证号码

    function IdentityCodeValid(code) { var city={11:"北京",12:"天津",13:"河北",1 ...

  7. Android - 读取JSON文件数据

    Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...

  8. PHP闭包和高阶函数

    <?php function func($a, $b) { $line = function ($x) use ($a, $b) { return $a*$x + $b; }; return $ ...

  9. 干货:基于 Git Flow 的 Git 最佳实践(附加解决大家经常碰到的问题)

    突然想写这一篇Git的使用心得,主要有几个原因,其一是自己使用Git也有快3年时间了,其间自己经历过一些坑,也有迷茫的时候,在呆过的大大小小的团队中,其实每个人也都并不是Git专家,很多对于流程以及G ...

  10. date——sql查询

    场景:在数据库中要删除一条记录,但是该记录的唯一性只能通过插入数据库的系统时间来确定,字段为date类型,格式是:2016/10/19 17:17:29. 1 解决 在百度上找到的方法是使用to_ch ...