Linux 用户管理 5 之用户属性属性
作者:互联网
用户属性管理
在创建好用户后,我们经常需要对用户的属性进行一些修改,使用户账户更加符合我们的要求。
我们有通过 usermod 命令来修改用户的属性;
格式:
usermod [options] LOGIN
usermod 的常用选项:
-u 更改用户的 UID
-g 更改用户的主组,后面可以跟组名,也可以跟 GID
-G 更改附加组的列表(更改用户的附加组,原来的附加组将会被删除),如果要添加组到附加组列表,需要结合 -a 选项
-a 将用户添加到附加组,这个要结合 -G 选项一起使用
-s 更改用户的默认 shell
-c 更改用户的说明
-d 更改用户的 home 目录
-l 更改用户的 login 名,即用户名
-L 锁定用户账户
-U 解锁用户账户
-e 指定账户的过期日期
-f 设置账户的非活动期,即用户密码过期多久后,锁定账户
通过 -G 选项更新用户的附加组列表:
root@testsvra:~# id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1),1002(g1)
root@testsvra:~# usermod -G g2 user1
root@testsvra:~# id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1),1004(g2)
* g2 组变成了 user1 的附加组,g1 却被删除了
如果我们不想删除 g1,想同时保留 g1 和 g2 作为 user 1 的附加组,我们可以通过 -a 选项,来附加组到用户的附加组列表:
root@testsvra:~# usermod -aG g1 user1
root@testsvra:~# id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1),1002(g1),1004(g2)
通过 -c 选项修改用户的说明:
root@testsvra:~# usermod -c admin it
root@testsvra:~# getent it
Unknown database: it
Try `getent --help' or `getent --usage' for more information.
root@testsvra:~# getent passwd it
it:x:1000:1000:admin:/home/it:/bin/bash
通过 -L 选项,锁定账户,账户被锁后,在 /etc/shadow 文件中,该用户的密码信息部分前面会有一个 ! ;
root@ubuntusvr:~# cat /etc/shadow | grep user01
user01:$6$LbsXXTVprrUwk9zu$RMHPkGm4nxQdZN2Cqyihwail.9J5UFomvIAw2CNaqvUVRdKvqMtF8pClgmYv.Pe2Iqdi3Ag.ZgLDCEnkqVSgF1:18681:0:99999:7:::
root@ubuntusvr:~# usermod -L user01
root@ubuntusvr:~# cat /etc/shadow | grep user01
user01:!$6$LbsXXTVprrUwk9zu$RMHPkGm4nxQdZN2Cqyihwail.9J5UFomvIAw2CNaqvUVRdKvqMtF8pClgmYv.Pe2Iqdi3Ag.ZgLDCEnkqVSgF1:18681:0:99999:7:::
通过 -U 选项,解锁账户,解锁后 /etc/shadow 文件中,该用户的密码信息部分前面的 ! 会自动被删除;
root@ubuntusvr:~# usermod -U user01
root@ubuntusvr:~# cat /etc/shadow | grep user01
user01:$6$LbsXXTVprrUwk9zu$RMHPkGm4nxQdZN2Cqyihwail.9J5UFomvIAw2CNaqvUVRdKvqMtF8pClgmYv.Pe2Iqdi3Ag.ZgLDCEnkqVSgF1:18681:0:99999:7:::
通过 -s 选项,更改用户的默认 bash
root@ubuntusvr:~# usermod -s /bin/nologin user02
root@ubuntusvr:~# su - user02
root@ubuntusvr:~# cat /etc/passwd | grep user02
user02:x:2002:2002::/home/user02:/bin/nologin
su: failed to execute /bin/nologin: No such file or directory
我们可以通过将用户的默认 bash 配置为 /bin/nologin(一个不存在的 bash),来限制用户通过 bash 登录(但这种方法,可以通过在 su 切换用户时,通过 -s 指定登录后使用的 shell 来破解。)
通过 -e 选项,指定用户账户过期的时间
root@testsvra:~# usermod -e 2021-03-01 user1
root@testsvra:~# getent passwd user1
user1:x:1001:1001::/home/user1:/bin/bash
root@testsvra:~# getent shadow user1
user1:$6$aB93DwVPF7zxNkhk$HitkfZwFLDbX2PCtLItoFZulLg24RhhR3iLMp/euazMoAKTEYx70bfJHrouIG0auvA.xmfbov0YVjPH024GKa.:18683:1:60:14:7:18687:
我们看到账户过期字段显示的是 18687 天,那是因为在 Linux 系统中,这个过期时间指的是用户自1970年1月1日起,该用户多少天后过期,从1970年1月1日到2021年3月1日,正好 18687 天。
标签:user1,usermod,用户,Linux,testsvra,root,1001,属性 来源: https://blog.csdn.net/as900/article/details/114167782