文章首发于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. 总结下Redux

    Redux 和 React 没有直接关系,它瞄准的目标是应用状态管理. 核心概念是 Map/Reduce 中的 Reduce.且 Reducer 的执行是同步,产生的 State 是 Immutabl ...

  2. Go学习笔记(一)Let's 干

    加 Golang学习 QQ群共同学习进步成家立业 ^-^ 群号:96933959 简介     Go是Google开发的一种 静态强类型.编译型,并发型,并具有垃圾回收功能的编程语言.为了方便搜索和识 ...

  3. JavaScript一个鼠标滚动事件的实例

    <script type="text/javascript" src="./whenReady.js"></script> <!- ...

  4. SparkMLlib-----GMM算法

    Gaussian Mixture Model(GMM)是一个很流行的聚类算法.它与K-Means的很像,但是K-Means的计算结果是算出每个数据点所属的簇,而GMM是计算出这些数据点分配到各个类别的 ...

  5. 线程池与Threadlocal

    线程池与Threadlocal 线程池: 线程池是为了使线程能够得到循环的利用,线程池里面养着一些线程,有任务需要使用线程的时候就往线程池里抓线程对象出来使用.线程池里的线程能够重复使用,所以在资源上 ...

  6. Python基础之常用模块(二)

    一.sys模块 1.sys.exit() 退出程序,这是正常退出程序,与之前用的break不同的是,break只是退出循环,循环之后的代码还会正常运行 2.sys.argv  会返回一个列表,列表中的 ...

  7. 快速了解cpu、核与线程

    作为一个后台开发人员,我想有必要了解这些基础知识.如果本文有不严谨或者疏忽的地方,请指正. cpu与核心 物理核 物理核数量=cpu数(机子上装的cpu的数量)*每个cpu的核心数 虚拟核 所谓的4核 ...

  8. laravel 事件监听

    事件监听器监听到事件发生后会执行一些操作,Laravel使用观察者模式来实现这种监听机制 操作顺序:1.注册事件和监听器 -> 2.定义事件类 -> 3.定义监听类 -> 4.触发事 ...

  9. 【CSS】background 的覆盖

    1. 样式覆盖问题描述 现象:class1 为dom节点默认样式,class2为dom节点后增加样式,发现class2的background 被class1的覆盖 解决办法:在class2 的back ...

  10. jquery validate bootstrap 错误样式配置

    $().ready(function () { $("#commentForm").validate({ errorPlacement: function (error, elem ...