上一帖提到使用者與使用者組的建立,在建立的過程中,我們可以搭配很多參數,用來設定使用者賬戶的一些設定與屬性。但很多時候,我們的使用者賬戶是已經在業務中使用的。不可能去删除使用者後重新添加。這時,就需要去直接調整已有使用者的賬戶屬性了。
在這種場景中,我們有兩種解決的方式。第一種就是改配置檔案。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>[選項...] <帳号名稱></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,如需轉載請自行聯系原作者