天天看点

用户与用户组(下)

  上一帖提到用户与用户组的创建,在创建的过程中,我们可以搭配很多参数,用来设置用户账户的一些设置与属性。但很多时候,我们的用户账户是已经在业务中使用的。不可能去删除用户后重新添加。这时,就需要去直接调整已有用户的账户属性了。

    在这种场景中,我们有两种解决的方式。第一种就是改配置文件。linux中一切皆文件。在配置文件中调整相应的设置即可。但这种调整方式比较麻烦,不仅要知道配置文件的路径名称,而且要找到配置用户所在的配置行,还要知道配置段的各个涵义,然后才能去做调整。对于初学者而言难度较大。第二种方式就相对简单了很多。使用usermod命令,简单明了。

下面就简单介绍下usermod用法:

命  令

可选参数

作  用

usermod

-u

指定用户的UID

-g

指定用户的GID

-d

指定用户的家目录

-s

指定用户的shell

-G

指定新的附加组

-L

锁定用户账号

-U

解锁用户账号

测试示例:

<code>[root@server02 ~]</code><code># useradd newuser</code>

<code>[root@server02 ~]</code><code># tail -1 /etc/passwd</code>

<code>newuser:x:1115:1116::</code><code>/home/newuser</code><code>:</code><code>/bin/bash</code>

<code>[root@server02 ~]</code><code># usermod -u 1110 -g 1110 newuser </code>

<code>newuser:x:1110:1110::</code><code>/home/newuser</code><code>:</code><code>/bin/bash</code>

<code>[root@server02 ~]</code><code># usermod -d /home/newuser01 -s /sbin/nologin newuser</code>

<code>newuser:x:1110:1110::</code><code>/home/newuser01</code><code>:</code><code>/sbin/nologin</code>

<code>[root@server02 ~]</code><code># usermod -G 1000 newuser</code>

<code>[root@server02 ~]</code><code># id newuser             //id命令用于查看账户属性</code>

<code>uid=1110(newuser) gid=1110(grp100) 组=1110(grp100),1000(user1)</code>

<code>[root@server02 ~]</code><code># passwd newuser</code>

<code>更改用户 newuser 的密码 。</code>

<code>新的 密码:</code>

<code>重新输入新的 密码:</code>

<code>passwd</code><code>:所有的身份验证令牌已经成功更新。</code>

<code>[root@server02 ~]</code><code># usermod -U newuser</code>

<code>[root@server02 ~]</code><code># tail -1 /etc/shadow</code>

<code>newuser:$6$5ac7Kh.y$S4gRnb......rBB</code><code>/YCs/8DM9ZN13aeLiNUllUB/</code><code>:17316:0:99999:7:::</code>

<code>[root@server02 ~]</code><code># usermod -L newuser</code>

<code>[root@server02 ~]</code><code># tail -1 /etc/shadow    //锁定后密码前面有感叹号</code>

<code>newuser:!$6$5ac7Kh.y$S4gRnb......rBB</code><code>/YCs/8DM9ZN13aeLiNUllUB/</code><code>:17316:0:99999:7:::</code>

在上面的示例中,使用了passwd设置账户的口令。

passwd命令有以下几种用法:

<code>[root@server02 ~]</code><code># passwd --help</code>

<code>用法: </code><code>passwd</code> <code>[选项...] &lt;帐号名称&gt;</code>

<code>  </code><code>-k, --keep-tokens       保持身份验证令牌不过期</code>

<code>  </code><code>-d, --delete            删除已命名帐号的密码(只有根用户才能进行此操作)</code>

<code>  </code><code>-l, --lock              锁定指名帐户的密码(仅限 root 用户)</code>

<code>  </code><code>-u, --unlock            解锁指名账户的密码(仅限 root 用户)</code>

<code>  </code><code>-e, --expire            终止指名帐户的密码(仅限 root 用户)</code>

<code>  </code><code>-f, --force             强制执行操作</code>

<code>  </code><code>-x, --maximum=DAYS      密码的最长有效时限(只有根用户才能进行此操作)</code>

<code>  </code><code>-n, --minimum=DAYS      密码的最短有效时限(只有根用户才能进行此操作)</code>

<code>  </code><code>-w, --warning=DAYS      在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)</code>

<code>  </code><code>-i, --inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)</code>

<code>  </code><code>-S, --status            报告已命名帐号的密码状态(只有根用户才能进行此操作)</code>

<code>  </code><code>--stdin                 从标准输入读取令牌(只有根用户才能进行此操作)</code>

<code>Help options:</code>

<code>  </code><code>-?, --help              Show this help message</code>

<code>  </code><code>--usage                 Display brief usage message</code>

其中特别注意的是“-l”和“-u”,它们是用于锁定和解锁账户的。还有参数“--stdin”的用法,示意如下:

<code>[root@server02 ~]</code><code># echo "123456" |passwd --stdin newuser</code>

<code>[root@server02 ~]</code><code># echo -e "123456\n123456" |passwd newuser  //“-e”表示支持换行</code>

<code>新的 密码:无效的密码: 密码少于 8 个字符</code>

<code>重新输入新的 密码:</code><code>passwd</code><code>:所有的身份验证令牌已经成功更新。</code>

本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1935163,如需转载请自行联系原作者

继续阅读