文章首发于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. 读Zepto源码之Event模块

    Event 模块是 Zepto 必备的模块之一,由于对 Event Api 不太熟,Event 对象也比较复杂,所以乍一看 Event 模块的源码,有点懵,细看下去,其实也不太复杂. 读Zepto源码 ...

  2. ubuntu14.04_CUDA8.0_cudnn5.1_Tensorflow配置

    深度学习框架tensorflow相比与caffe抽象层做的更好,即使用tensorflow的人不需要关心底层的实现,做底层实现的人不需要关心上层的模型和算法;caffe耦合比较紧凑,若想caffe用的 ...

  3. vue 实现 tomato timer(蕃茄钟)

    近期在学习[时间管理]方面的课程,其中有一期讲了蕃茄工作法,发现是个好多东西.蕃茄工作法核心思想就是:工作25分钟,休息5分钟.如果您好了解更多可以自行度娘. 在加上本人是一个程序猿,就想用程序的方式 ...

  4. 树上差分 (瞎bb) [树上差分][LCA]

    做noip2015的运输计划写了好久好久写不出来   QwQ 于是先来瞎bb一下树上差分    混积分 树上差分有2个常用的功能: (1)记录从点i到i的父亲这条路径走过几次 (2)将每条路径(s,t ...

  5. swift3.0 CoreGraphics绘图-实现画板

    swift3.0对绘图的API进行了优化,看起来更swift了. 看下UI的构造.设置画笔粗细.清空面板和保存到本地 下面直接看画板文件 这里我做的比较复杂,记录触摸到的每个点,再连成路径,其实直接用 ...

  6. 【HTML】html5新属性-datalist

    摘要: 为实现输入域自动填充的效果 方法一: jquery-ui的autocomplete方法, 不是jquery 自带的方法. 方法二: 采用html5新特性,datalist,例子如下:坏处很明显 ...

  7. RabbitMQ入门-初识RabbitMQ

    初识RabbitMQ 要说RabbitMQ,我们不得不先说下AMQP.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面 ...

  8. Python零基础学习系列之二--Python介绍及环境搭建

    1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...

  9. 【整理】01. Fiddler 杂记

    抓手机包步骤: Tools -- Fiddler Options -- Connections (默认)Fiddler listens on port:8888 (勾选)Allow remote co ...

  10. year:2017 month:7 day:18

    2017-07-18 JavaScript 1javascript的控制语句 (1) if语句 (2)if(){}else 语句 (3) if(){} else if(){ }语句 (4)switch ...