1.作用
useradd或adduser命令用來建立用戶帳號和創建用戶的起始目錄,使用權限是超級用戶。
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
添加用戶命令:
代碼如下
復制代碼
[root@ptr228 ~]# adduser tmp_3452
修改密碼命令:
[root@ptr228 ~]# passwd tmp_3452
在系統出現提示輸入密碼是輸入密碼:3sdt5:Eawhg 系統提示輸入確認密碼后再輸入一次。OK添加成功。
7.useradd批量添加用戶
使用useradd時,如果后面不添加任何參數選項,例如:#sudo useradd test創建出來的用戶將是默認“三無”用戶:一無Home Directory,二無密碼,三無系統Shell。
步驟如下:
(1)建立用戶名列表文件username.txt (同上)
(2)創建用戶密碼對應文件serc.txt,格式為username:password (注意文件的格式)
代碼如下
復制代碼
stu1:tt1stu2:tt2stu3:tt3stu4:tt4stu5:tt5stu6:tt6
(3)批量添加的腳本文件aa.sh
代碼如下
復制代碼
##添加用戶,并且在/home/ 下為用戶生成用戶目錄。cat < username.txt | xargs -n 1 useradd -m##批處理模式下更新密碼chpasswd < serc.txt##將上述的密碼轉換到密碼文件和組文件pwconv##結束驗證信息echo "OK 新建完成"(4)執行該腳本文件,查看執行過程
root@liu:/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
刪除用戶命令:
代碼如下
復制代碼
[root@ptr228 ~]# userdel tmp_3452
或者連同用戶目錄一并刪除:
代碼如下
復制代碼
[root@ptr228 ~]# userdel -f tmp_3452
注意:這里如果用戶還在登陸的話,會提示,用戶正在登陸無法刪除。此時可能需要先強制用戶退出。
3. 強制退出已經登陸用戶
查看當前登陸用戶的命令:
代碼如下
復制代碼
[root@ptr228 ~]# w
會輸入如下結果:
代碼如下
復制代碼
12:10:27 up 21:13,? 1 user,? load average: 0.00, 0.01, 0.08USER????????? TTY????? FROM???????????????? LOGIN@?? IDLE?? JCPU?? PCPU WHATroot??????????? pts/0??? ***.**.***.**??? 11:33??? 0.00s? 0.08s? 0.00s?? wtmp_3254??ps1?????? ***.**.***.**???? 11:33??? 0.00s? 0.08s? 0.00s?? ls
這里知道了登陸用戶的tty是ps1執行強制退出命令pkill:
命令原型: pkill -kill -t [TTY]
代碼如下
復制代碼
[root@ptr228 ~]# pkill -kill -t ps1
執行之后再執行名w 可以看到用戶已經退出。
重復執行第二步的刪除用戶命令,刪除成功。
?
?
?
非root用戶執行useradd 需臨時調權限,前面加sudo
新增一個用戶:user1
root下:useradd user1
其他用戶:sudo useradd user1
查看linux用戶列表:cat /etc/passwd
新增一個用戶:user2 并指定用戶組:ftp
root下: useradd -g ftp user2
新增一個用戶:user4 并指定家目錄:/mnt/bak/
root下:useradd -d /mnt/back/ user4
如果沒有此目錄,則報錯,就需要手動創建目錄;
需要切換到root下創建目錄,創建后登錄就正常了;(sudo提權也可以創建)
新增一個用戶:user5 并設置密碼為 123456
root下:useradd -p 123456 user5
查看linux用戶密碼: cat /etc/shadow
新增一個FTP用戶:ftp2018 (無需登錄系統)
root下:useradd -g ftp -s /sbin/nologin ftp2018