linux下useradd命令新增使用者詳解
useradd命令用來建立使用者帳號和建立使用者的起始目錄,使用許可權是超級使用者。
2.格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
3.主要引數
-c:加上備註文字,備註文字儲存在passwd的備註欄中。
-d:指定使用者登入時的主目錄,替換系統預設值/home/<使用者名稱>
-D:變更預設值。
-e:指定賬號的失效日期,日期格式為MM/DD/YY,例如06/30/12。預設表示永久有效。
-f:指定在密碼過期後多少天即關閉該賬號。如果為0賬號立即被停用;如果為-1則賬號一直可用。預設值為-1.
-g:指定使用者所屬的群組。值可以使組名也可以是GID。使用者組必須已經存在的,期預設值為100,即users。
-G:指定使用者所屬的附加群組。
-m:自動建立使用者的登入目錄。
-M:不要自動建立使用者的登入目錄。
-n:取消建立以使用者名稱稱為名的群組。
-r:建立系統賬號。
-s:指定使用者登入後所使用的shell。預設值為/bin/bash。
-u:指定使用者ID號。該值在系統中必須是唯一的。0~499預設是保留給系統使用者賬號使用的,所以該值必須大於499。
4.說明
useradd可用來建立使用者賬號,它和adduser命令是相同的。賬號建好之後,再用passwd設定賬號的密碼。使用useradd命令所建立的賬號,實際上是儲存在/etc/passwd文字檔案中。
5.應用例項
建立一個新使用者賬戶testuser1,並設定UID為544,主目錄為/usr/testuser1,屬於users組:
程式碼如下 | 複製程式碼 |
#useradd -u 544 -d /usr/testuser1 -g users -m testuser1 |
加-m 如果主目錄不存在則自動建立
6.例
使用管理員賬號登陸系統,建立使用者tmp_3452 密碼3sdt5:Eawhg
新增使用者命令:
程式碼如下 | 複製程式碼 |
[[email protected] ~]# adduser tmp_3452 修改密碼命令: [[email protected] ~]# passwd tmp_3452 |
在系統出現提示輸入密碼是輸入密碼:3sdt5:Eawhg 系統提示輸入確認密碼後再輸入一次。OK新增成功。
7.useradd批量新增使用者
使用useradd時,如果後面不新增任何引數選項,例如:#sudo useradd test創建出來的使用者將是預設“三無”使用者:一無Home Directory,二無密碼,三無系統Shell。
步驟如下:
(1)建立使用者名稱列表檔案username.txt (同上)
(2)建立使用者密碼對應檔案serc.txt,格式為username:password (注意檔案的格式)
程式碼如下 | 複製程式碼 |
stu1:tt1 stu2:tt2 stu3:tt3 stu4:tt4 stu5:tt5 stu6:tt6 |
(3)批量新增的指令碼檔案aa.sh
程式碼如下 | 複製程式碼 |
##新增使用者,並且在/home/ 下為使用者生成使用者目錄。cat < username.txt | xargs -n 1 useradd -m##批處理模式下更新密碼 [email protected]:/home/liu/Desktop/Dos# sh aa.sh |
新建完成 useradd命令,在執行沒有出錯的情況下,不會輸出任何的資訊,不會與使用者互動。但是使用者必須要記住那些設定專案,否則新增的使用者可能出現一些預想不到的結果。
8.新建立一個oracle使用者,這初始屬於oinstall組,且同時讓他也屬於dba組。
#useradd oracle -g oinstall -G dba
新建立一個oracle使用者,這初始屬於oinstall組,且同時讓他也屬於dba組。
9.無法使用shell,且其使用者目錄至/var/servlet/service
#useradd tomcat -d /var/servlet/service -s /sbin/nologin
無法使用shell,且其使用者目錄至/var/servlet/service
二,userdel刪除使用者
刪除剛建立的賬號 tmp_3452
刪除使用者命令:
程式碼如下 | 複製程式碼 |
[[email protected] ~]# userdel tmp_3452 |
或者連同使用者目錄一併刪除:
程式碼如下 | 複製程式碼 |
[[email protected] ~]# userdel -f tmp_3452 |
注意:這裡如果使用者還在登陸的話,會提示,使用者正在登陸無法刪除。此時可能需要先強制使用者退出。
3. 強制退出已經登陸使用者
檢視當前登陸使用者的命令:
程式碼如下 | 複製程式碼 |
[[email protected] ~]# w |
會輸入如下結果:
程式碼如下 | 複製程式碼 |
12:10:27 up 21:13, 1 user, load average: 0.00, 0.01, 0.08 |
這裡知道了登陸使用者的tty是ps1執行強制退出命令pkill:
命令原型: pkill -kill -t [TTY]
程式碼如下 | 複製程式碼 |
[[email protected] ~]# pkill -kill -t ps1 |
執行之後再執行名w 可以看到使用者已經退出。
重複執行第二步的刪除使用者命令,刪除成功。