一. 概述
在上一篇中讲到了与用户账户有关的二个文件passwd和shadow,以及useradd工具的介绍。这篇接着讲useradd+参数,删除用户,修改用户的演示。
1. 删除用户userdel
使用userdel可以删除用户,但只会删除etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。如果加上-r 参数,userdel会删除用户HOME目录以及邮件目录。使用-r参数时要检查用户HOME目录下是否存放了其他用户和其他程序使用的重要文件。
先查看下test用户的文件信息如下:
再使用userdel -r命令来删除, 没有了该用户和home目录。如下图所示:
2. 新增用户useradd
上篇讲了useradd+m参数创建home目录的演示,下面新增test用户,并使用-d参数指定home文件启动文件目录为home/test1。,/etc/passwd文件中test用户也有了。如下图所示:
在上篇中讲到useradd命令默认情况是不会创建HOME目录,但这里没有使用-m 参数也创建了HOME目录,下面试试使用useradd不加任何参数,创建test2用户,还是会创建home目录,如下图所示。
3. 修改用户
对于修改用户,linux提供了一些不同的工具来修改已有用户账户的信息。列表如下:
工具名 | 描述 |
usermod | 修改用户账户的字段,还可以指定主要组以及附加组的所属关系 |
passwd | 修改已有用户的密码 |
chpasswd | 从文件中读取登录名密码对,并更新密码 |
chage | 修改密码过期日期 |
chfn | 修改用户账户的备注信息 |
chsh | 修改用户账户的默认登录shell |
3.1 usermod工具
usermod 命令是用户账户修改工具中最强大的一个,它用来修改etc/passwd文件中的大部份字段。下面是该工具常用参数的说明:
-l | 修改用户账户的登录名 |
-L | 锁定账户,使用户无法登录 |
-p | 修改账户的密码 |
-U | 解除锁定。使用户能够登录 |
-e | 修改过期日期 |
-c | 修改备注字段 |
例如:使用usermod给已有test用户修改备注信息“remark”,在passwd文件中可以看到已添加的备注信息,如下图所示:
3.2 passwd工具
要改变用户密码最简便方法就是用passwd命令,下面给test用户设置强密码: a12D!@#$。 太过简单的密码会提示"过于简单化",密码不足8位会提示:密码不匹配,如下图所示:
修改密码成功后,再查看shadow文件,test用户密码已加密,如下图所示:
要注意的是使用passwd命令,只能修改自己的密码,只有root用户才有权限修改所有用户密码。设置了密码后,使用Xshell 远程工具就能连接上了,如下图所示:
test用户目录提示符,默认在 /home/test1目录下, 使用cd 退回二级到了虚拟目录根目录下,如下所示:
3.3 其它工具
(1) chpasswd :如果要大量用户修改密码,该工具命令可以事半功倍。
(2) chsh : 该命令用来快速修改默认的用户登录shell。例如 chsh -s /bin/csh test 。
(3) chfn:该命令会向你询问要将哪些适合的内容加入备注字段,下面给test用户加内容备注,如下图所示:
(4) chage: 该命令用来管理用户账户的有效期,你需要对每个值设置多个参数,列表如下:
参数 | 描述 |
-d | 设置上次修改密码到现在的天数 |
-E | 设置密码过期的日期 |
-I | 设置密码过期到锁定账户的天数 |
-m | 设置修改密码之间最小要多少天 |
-w | 设置密码过期前多久开始出现提醒信息 |
下面为test用户设置-E和-W参数,如下图所示:
通过chage -l test 可以更加清楚易懂对test用户的设置: