共计 2658 个字符,预计需要花费 7 分钟才能阅读完成。
在上一章节中,咱们学习了如何利用 useradd
增加一个新的用户,利用 passwd
给用户设置、批改明码。然而如果手一抖不小心用户信息增加错了,或者须要批改用户信息,该如何操作呢?
后面也讲过,咱们能够手动批改 /etc/passwd
以及 /etc/shadow
文件来增加一个用户,那么手动批改文件当然也能够批改用户信息。不过明天要为大家解说的是应用 Linux 的 usermod
命令来批改用户信息。
一、批改用户命令 usermod
Linux usermod 命令可用来批改用户帐号的各项设定。
useradd [选项] 用户名
该命令罕用的选项及各自的含意如下:
-c
批改用户的阐明信息,对应于批改/etc/passwd
文件中用户信息的第 5 个信息-d
批改用户的主目录,对应于批改/etc/passwd
文件中指标用户信息的个信息-e
批改用户的生效日期,格局为 “YYYY-MM-DD”,对应于批改/etc/shadow
文件用户明码信息的第 8 个信息-g
批改用户的初始组,对应于批改/etc/passwd
文件用户信息的第 4 信息(GID)-u
批改用户的 UID,对应于批改/etc/passwd
文件用户信息的第 3 个信息(UID)-G
批改用户的附加组,其实就是把用户退出其余用户组,即批改 /etc/group 文件;-l
批改用户名称;-L
长期锁定用户(Lock)-U
解锁用户(Unlock),和 -L 对应-s
批改用户的登录 Shell,默认是 /bin/bash
从下面的参数来看,与上一章解说的 useradd
命令的参数比照来看,这两个命令的参数是差不多的。只不过 usermod
命令比 useradd
多了 -L
和 -U
两个参数。
1、比方我当初要锁定在上一章创立的用户testuser
:
$ usermod -L testuser
锁定用户的实质,就是使用户的明码生效,使之不能登录,所以咱们去看 /etc/shadow
密码文件,发现这个用户的明码位后面多了一个 !
号:
2、解锁用户
既然能锁定用户,天然也能解锁用户:
$ usermod -U testuser
执行命令之后,咱们再去查看 /etc/shadow
文件,明码位后面的 !
就勾销了。
3、批改用户阐明
$ usermod -c "modify user descript" testuser
在批改用户阐明之前,咱们先来看看当初的用户阐明是什么:
$ grep "testuser" /etc/passwd
执行命令命令之后,咱们再来看下用户阐明:
用户阐明曾经被胜利批改了。
4、把用户退出新的组
比方咱们要把 testuser
用户增加到 root 组:
$ usermod -G root testuser
二、批改用户的明码状态: chage
该命令不仅能够用来批改用户的明码状态,还能够和 passwd -S
命令一样 显示具体的用户明码信息。
chage [选项] 用户名
该命令罕用的选项及各自的含意如下:
-m
:明码可更改的最小天数,为零时代表任何时候都能够更改明码,对应/etc/shadow
文件中的第 4 个字段-M
:明码放弃无效的最大天数, 对应/etc/shadow
文件中的第 5 个字段-w
:用户明码到期前,提前收到正告信息的天数, 对应/etc/shadow
文件中的第 6 个字段-E
:帐号到期的日期, 过了这天,此帐号将不可用。对应/etc/shadow
文件中的第 8 个字段-d
:上一次更改的日期, 对应/etc/shadow
文件中的第 3 个字段-i
:停滞期间。如果一个明码已过期这些天,那么此帐号将不可用, 对应/etc/shadow
文件中的第 7 个字段-l
:列出用户的具体明码状态
咱们先来查看下 testuser
的明码信息:
$ chage -l testuser
各信息意思如下:
Last password change
: 最近一次明码批改工夫:6 月 18, 2020Password expires
:明码过期工夫:从不Password inactive
:明码生效工夫:从不Account expires
:帐户过期工夫:从不Minimum number of days between password change
:两次扭转明码之间相距的最小天数:0Maximum number of days between password change
:两次扭转明码之间相距的最大天数:99999Number of days of warning before password expires
:在明码过期之前正告的天数:7
1、批改明码过期工夫
我能够通过如下命令批改我的明码过期工夫,设置 60 天后过期:
$ chage -M 60 testuser
2、设置明码生效工夫
$ chage -i 5 testuser
意思是在明码过期后 5 天,明码主动生效,这个用户将无奈登陆零碎了。
3、chage 命令还有个硬核性能,能够强制用户在第一次登录后,必须先批改明码,并利用新密码从新登陆零碎,此用户能力失常应用
咱们创立一个新的用户 testuser2
, 而后设置它的明码创立日期为 1970 年 1 月 1 日:
# 创立用户
$ useradd testuser2
#设置明码 123456
$ echo "123456" | passwd --stdin testuser2
#设置明码创立日期为 1970 年 1 月 1 日
$ chage -d 0 testuser2
执行实现之后,咱们用 testuser2
用户去登录零碎,提醒须要去批改明码:
三、删除用户命令:userdel
userdel
命令应用很简略,用于删除用户帐号的相干数据。
userdel [选项 -r] 用户名
若不加 -r
参数,则仅删除用户帐号,而不删除用户宿主目录,那么用户目录就会变成没有属主和属组的目录,也就是垃圾文件。
比方别离删除 testuser
以及 testuser2
用户:
# 删除 testuser 用户,不加 - r 参数
$ userdel testuser
# 删除 testuser2 用户,加 - r 参数
$ userdel -r testuser2
能够看到,删除 testuser
不加 -r
参数,执行命令之后,该用户的宿主目录保留了。
四、查看用户的 UID 和 GID 命令:id
id
命令比较简单,能够查问用户的 UID、GID 和附加组的信息:
id 用户名
比方查看 eddy
用户的:
$ id eddy
$ uid=1009(eddy) gid=1009 groups=1009
执行命令之后到 uid(用户 ID)、gid(初始组 ID), groups 是用户所在组。
当初我把 eddy
用户退出 root
组:
大家发现该用户的附加组信息中多了一个 root
组。
明天为大家解说了如何批改 Linux 用户信息,批改用户明码以及如何删除用户。下一章持续为大家解说 Linux 用户相干的其余操作命令。