在前面介绍的命令中,关于用户和组管理的命令有很多,但也很多功能是重复的,同一个目前,我们可以用多种不同的命令来实现,例如,对于将用户添加到组,我们可以使用 usermod,也可以使用 groupmems;对于用户密码策略的更改,我们可以使用 usermod,也可以使用 chage 等等。
创建一个名为 distro 的组,并设置 GID 为 2021:
root@testsvra:~# groupadd -g 2021 distro
root@testsvra:~# getent group distro
distro:x:2021:
创建用户 mandriva,其 ID 号为 1005,基本组为 distro
[root@serverc ~]# useradd -mu 1005 -g distro mandriva
[root@serverc ~]# id mandriva
uid=1005(mandriva) gid=2019(distro) groups=2019(distro)
创建用户 mageia,其 id 号为 1100,家目录为 /home/linux
[root@serverc ~]# useradd -md /home/linux -u 1100 mageia
[root@serverc ~]# id mageia
uid=1100(mageia) gid=1100(mageia) groups=1100(mageia)
[root@serverc ~]# cat /etc/passwd | grep mageia
mageia:x:1100:1100::/home/linux:/bin/bash
给用户 mageia 添加密码,密码为 mageedu;
[root@serverc ~]# echo mageedu | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.
[root@serverc ~]# cat /etc/shadow | grep mageia
mageia:$6$kS9GlmPxSdL6Ac/d$HRM5ypdsjpspU1Xw3K2hGJSYtLzzqNdr3dfa.LQ991Rddr6NhvSa9k.MWKwTrEzmOf7cqH6J79ZDw3A.Dyp9j/:18681:0:99999:7:::
设置 mageia 账户的密码 7 天后过期:
[root@serverc ~]# chage -l mageia
Last password change : Feb 23, 2021
Password expires : never
Password inactive : never
Account expires : never
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
[root@serverc ~]# chage -M 7 mageia
[root@serverc ~]# chage -l mageia
Last password change : Feb 23, 2021
Password expires : Mar 02, 2021
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 7
Number of days of warning before password expires : 7
删除 Mandriva,但保留其家目录
[root@serverc ~]# userdel mandriva
[root@serverc ~]# ll /home/
total 0
drwx------. 2 devops devops 62 Feb 22 13:23 devops
drwx------. 2 distro distro 62 Feb 23 13:40 distro
drwx------. 2 mageia mageia 62 Feb 23 13:43 linux
drwx------. 2 1005 distro 62 Feb 23 13:41 mandriva
drwx------. 2 student student 62 May 22 2019 student
创建用户号 Slackware,其 ID 号为 2002,基本组为 distro,附加组为 peguin
[root@serverc ~]# groupadd peguin
[root@serverc ~]# useradd -mu 2002 -G distro -g peguin slackware
[root@serverc ~]# id slackware
uid=2002(slackware) gid=2020(peguin) groups=2020(peguin),2019(distro)
修改 Slackware 用户的默认 shell 为 /bin/tcsh:
[root@serverc ~]# usermod -s /bin/tcsh slackware
[root@serverc ~]# cat /etc/passwd | grep slack
slackware:x:2002:2020::/home/slackware:/bin/tcsh
为用户 Slackware 新增附加组 admins,并设置不可登录
[root@serverc ~]# usermod -s /bin/nologin -g admins slackware
[root@serverc ~]# cat /etc/passwd | grep slack
slackware:x:2002:2021::/home/slackware:/bin/nologin
[root@serverc ~]# echo p@ssw0rd | passwd --stdin slackware
Changing password for user slackware.
passwd: all authentication tokens updated successfully.
[root@serverc ~]# su - slackware
su: failed to execute /bin/nologin: No such file or directory