上一帖提到用户与用户组的创建,在创建的过程中,我们可以搭配很多参数,用来设置用户账户的一些设置与属性。但很多时候,我们的用户账户是已经在业务中使用的。不可能去删除用户后重新添加。这时,就需要去直接调整已有用户的账户属性了。
在这种场景中,我们有两种解决的方式。第一种就是改配置文件。linux中一切皆文件。在配置文件中调整相应的设置即可。但这种调整方式比较麻烦,不仅要知道配置文件的路径名称,而且要找到配置用户所在的配置行,还要知道配置段的各个涵义,然后才能去做调整。对于初学者而言难度较大。第二种方式就相对简单了很多。使用usermod命令,简单明了。
下面就简单介绍下usermod用法:
命 令 | 可选参数 | 作 用 |
usermod | -u | 指定用户的UID |
-g | 指定用户的GID | |
-d | 指定用户的家目录 | |
-s | 指定用户的shell | |
-G | 指定新的附加组 | |
-L | 锁定用户账号 | |
-U | 解锁用户账号 |
测试示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@server02 ~]
# useradd newuser
[root@server02 ~]
# tail -1 /etc/passwd
newuser:x:1115:1116::
/home/newuser
:
/bin/bash
[root@server02 ~]
# usermod -u 1110 -g 1110 newuser
[root@server02 ~]
# tail -1 /etc/passwd
newuser:x:1110:1110::
/home/newuser
:
/bin/bash
[root@server02 ~]
# usermod -d /home/newuser01 -s /sbin/nologin newuser
[root@server02 ~]
# tail -1 /etc/passwd
newuser:x:1110:1110::
/home/newuser01
:
/sbin/nologin
[root@server02 ~]
# usermod -G 1000 newuser
[root@server02 ~]
# id newuser //id命令用于查看账户属性
uid=1110(newuser) gid=1110(grp100) 组=1110(grp100),1000(user1)
[root@server02 ~]
# passwd newuser
更改用户 newuser 的密码 。
新的 密码:
重新输入新的 密码:
passwd
:所有的身份验证令牌已经成功更新。
[root@server02 ~]
# usermod -U newuser
[root@server02 ~]
# tail -1 /etc/shadow
newuser:$6$5ac7Kh.y$S4gRnb......rBB
/YCs/8DM9ZN13aeLiNUllUB/
:17316:0:99999:7:::
[root@server02 ~]
# usermod -L newuser
[root@server02 ~]
# tail -1 /etc/shadow //锁定后密码前面有感叹号
newuser:!$6$5ac7Kh.y$S4gRnb......rBB
/YCs/8DM9ZN13aeLiNUllUB/
:17316:0:99999:7:::
[root@server02 ~]
# usermod -U newuser
[root@server02 ~]
# tail -1 /etc/shadow
newuser:$6$5ac7Kh.y$S4gRnb......rBB
/YCs/8DM9ZN13aeLiNUllUB/
:17316:0:99999:7:::
|
在上面的示例中,使用了passwd设置账户的口令。
passwd命令有以下几种用法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@server02 ~]
# passwd --help
用法:
passwd
[选项...] <帐号名称>
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名账户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
--stdin 从标准输入读取令牌(只有根用户才能进行此操作)
Help options:
-?, --help Show this help message
--usage Display brief usage message
|
其中特别注意的是“-l”和“-u”,它们是用于锁定和解锁账户的。还有参数“--stdin”的用法,示意如下:
1
2
3
4
5
6
7
|
[root@server02 ~]
# echo "123456" |passwd --stdin newuser
更改用户 newuser 的密码 。
passwd
:所有的身份验证令牌已经成功更新。
[root@server02 ~]
# echo -e "123456\n123456" |passwd newuser //“-e”表示支持换行
更改用户 newuser 的密码 。
新的 密码:无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd
:所有的身份验证令牌已经成功更新。
|
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1935163,如需转载请自行联系原作者