关于linux:Linux用户管理之usermodchageuserdelid命令讲解

32次阅读

共计 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, 2020
  • Password expires:明码过期工夫:从不
  • Password inactive:明码生效工夫:从不
  • Account expires:帐户过期工夫:从不
  • Minimum number of days between password change:两次扭转明码之间相距的最小天数:0
  • Maximum number of days between password change:两次扭转明码之间相距的最大天数:99999
  • Number 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 用户相干的其余操作命令。

正文完
 0