<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 13.7 CentOS 7 環境下大量創建帳號的方法 系統上面如果有一堆帳號存在,你怎么判斷某些帳號是否存在一些問題?這時需要哪些軟件的協助處理比較好? 另外,如果你跟鳥哥一樣,在開學之初或期末之后,經常有需要大量創建帳號、刪除帳號的需求時,那么是否要使用 useradd 一行一行指令去創建? 此外,如果還有需要使用到下一章會介紹到的 quota (磁盤配額) 時,那是否還要額外使用其他機制來創建這些限制值?既然已經學過 shell script 了, 當然寫支腳本讓它將所有的動作做完最輕松吧!所以啰,下面我們就來聊一聊,如何檢查帳號以及創建這個腳本要怎么進行比較好? ### 13.7.1 一些帳號相關的檢查工具 先來檢查看看使用者的主文件夾、密碼等數據有沒有問題?這時會使用到的主要有 pwck 以及 pwconv / pwuconv 等,讓我們來了解一下先! * pwck pwck 這個指令在檢查 /etc/passwd 這個帳號配置文件內的信息,與實際的主文件夾是否存在等信息, 還可以比對 /etc/passwd /etc/shadow 的信息是否一致,另外,如果 /etc/passwd 內的數據字段錯誤時,會提示使用者修訂。 一般來說,我只是利用這個玩意兒來檢查我的輸入是否正確就是了。 ``` [root@study ~]# pwck user 'ftp': directory '/var/ftp' does not exist user 'avahi-autoipd': directory '/var/lib/avahi-autoipd' does not exist user 'pulse': directory '/var/run/pulse' does not exist pwck: no changes ``` 瞧!上面僅是告知我,這些帳號并沒有主文件夾,由于那些帳號絕大部分都是系統帳號,確實也不需要主文件夾的,所以,那是“正常的錯誤!”呵呵!不理他。 ^_^。 相對應的群組檢查可以使用 grpck 這個指令的啦! * pwconv 這個指令主要的目的是在“將 /etc/passwd 內的帳號與密碼,移動到 /etc/shadow 當中!” 早期的 Unix 系統當中并沒有 /etc/shadow 呢,所以,使用者的登陸密碼早期是在 /etc/passwd 的第二欄,后來為了系統安全,才將密碼數據移動到 /etc/shadow 內的。使用 pwconv 后,可以: * 比對 /etc/passwd 及 /etc/shadow ,若 /etc/passwd 內存在的帳號并沒有對應的 /etc/shadow 密碼時,則 pwconv 會去 /etc/login.defs 取用相關的密碼數據,并創建該帳號的 /etc/shadow 數據; * 若 /etc/passwd 內存在加密后的密碼數據時,則 pwconv 會將該密碼欄移動到 /etc/shadow 內,并將原本的 /etc/passwd 內相對應的密碼欄變成 x ! 一般來說,如果您正常使用 useradd 增加使用者時,使用 pwconv 并不會有任何的動作,因為 /etc/passwd 與 /etc/shadow 并不會有上述兩點問題啊! ^_^。不過,如果手動設置帳號,這個 pwconv 就很重要啰! * pwunconv 相對于 pwconv , pwunconv 則是“將 /etc/shadow 內的密碼欄數據寫回 /etc/passwd 當中, 并且刪除 /etc/shadow 文件。”這個指令說實在的,最好不要使用啦! 因為他會將你的 /etc/shadow 刪除喔!如果你忘記備份,又不會使用 pwconv 的話,粉嚴重呢! * chpasswd chpasswd 是個挺有趣的指令,他可以“讀入未加密前的密碼,并且經過加密后, 將加密后的密碼寫入 /etc/shadow 當中。”這個指令很常被使用在大量創建帳號的情況中喔! 他可以由 Standard input 讀入數據,每筆數據的格式是“ username:password ”。 舉例來說,我的系統當中有個使用者帳號為 vbird3 ,我想要更新他的密碼 (update) , 假如他的密碼是 abcdefg 的話,那么我可以這樣做: ``` [root@study ~]# echo "vbird3:abcdefg" &#124; chpasswd ``` 神奇吧!這樣就可以更新了呢!在默認的情況中, chpasswd 會去讀取 /etc/login.defs 文件內的加密機制,我們 CentOS 7.x 用的是 SHA512, 因此 chpasswd 就默認會使用 SHA512 來加密!如果你想要使用不同的加密機制,那就得要使用 -c 以及 -e 等方式來處理了! 不過從 CentOS 5.x 開始之后,passwd 已經默認加入了 --stdin 的選項,因此這個 chpasswd 就變得英雄無用武之地了! 不過,在其他非 Red Hat 衍生的 Linux 版本中,或許還是可以參考這個指令功能來大量創建帳號喔! ### 13.7.2 大量創建帳號范本(適用 passwd --stdin 選項) 由于 CentOS 7.x 的 passwd 已經提供了 --stdin 的功能,因此如果我們可以提供帳號密碼的話, 那么就能夠很簡單的創建起我們的帳號密碼了。下面鳥哥制作一個簡單的 script 來執行新增用戶的功能喔! ``` [root@study ~]# vim accountadd.sh #!/bin/bash # This shell script will create amount of linux login accounts for you. # 1\. check the "accountadd.txt" file exist? you must create that file manually. # one account name one line in the "accountadd.txt" file. # 2\. use openssl to create users password. # 3\. User must change his password in his first login. # 4\. more options check the following url: # 0410accountmanager.html#manual_amount # 2015/07/22 VBird export PATH=/bin:/sbin:/usr/bin:/usr/sbin # 0\. userinput usergroup="" # if your account need secondary group, add here. pwmech="openssl" # "openssl" or "account" is needed. homeperm="no" # if "yes" then I will modify home dir permission to 711 # 1\. check the accountadd.txt file action="${1}" # "create" is useradd and "delete" is userdel. if [ ! -f accountadd.txt ]; then echo "There is no accountadd.txt file, stop here." exit 1 fi [ "${usergroup}" != "" ] && groupadd -r ${usergroup} rm -f outputpw.txt usernames=$(cat accountadd.txt) for username in ${usernames} do case ${action} in "create") [ "${usergroup}" != "" ] && usegrp=" -G ${usergroup} " &#124;&#124; usegrp="" useradd ${usegrp} ${username} # 新增帳號 [ "${pwmech}" == "openssl" ] && usepw=$(openssl rand -base64 6) &#124;&#124; usepw=${username} echo ${usepw} &#124; passwd --stdin ${username} # 創建密碼 chage -d 0 ${username} # 強制登陸修改密碼 [ "${homeperm}" == "yes" ] && chmod 711 /home/${username} echo "username=${username}, password=${usepw}" &gt;&gt; outputpw.txt ;; "delete") echo "deleting ${username}" userdel -r ${username} ;; *) echo "Usage: $0 [create&#124;delete]" ;; esac done ``` 接下來只要創建 accountadd.txt 這個文件即可!鳥哥創建這個文件里面共有 5 行,你可以自行創建該文件!內容每一行一個帳號。 而是否需要修改密碼?是否與帳號相同的信息等等,你可以自由選擇!若使用 openssl 自動猜密碼時,使用者的密碼請由 outputpw.txt 去撈~鳥哥最常作的方法,就是將該文件打印出來,用裁紙機一個帳號一條,交給同學即可! ``` [root@study ~]# vim accountadd.txt std01 std02 std03 std04 std05 [root@study ~]# sh accountadd.sh create Changing password for user std01. passwd: all authentication tokens updated successfully. ....(后面省略).... ``` 這支簡單的腳本你可以在按如下的鏈接下載: * [http://linux.vbird.org/linux_basic/0410accountmanager/accountadd.sh](http://linux.vbird.org/linux_basic/0410accountmanager/accountadd.sh)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看