Linux 用户管理 5 之用户属性属性

15 篇文章 0 订阅

Linux 用户管理 1 之简介
Linux 用户管理 2 之切换用户
Linux 用户管理 3 之创建用户
Linux 用户管理 4 之密码管理
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 天。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值