問題:使用 useradd 創建用戶,發現 /home 目錄下沒有自動創建關於用戶的目錄。所以做了一番調查研究
useradd是一個linux命令,但是它提供了很多參數在用戶使用的時候根據自己的需要進行設置;
adduser是一個perl 腳本,在使用的時候會出現類似人機交互的界面,提供選項讓用戶填寫和選擇,這個命令比起useradd來說比較簡單,也比較傻瓜。
一. adduser的使用詳解
在使用adduser命令的時候,系統會添加這個用戶名,並且還會自動地創建與這個用戶名名字一樣的用戶組作為這個用戶的初始用戶組。此外,還會自動地在/home目錄下面創建一個與用戶同名的目錄,接着執行"cp /etc/skel /home/用戶名"的操作,實現新增用戶的主目錄的初始化。
用adduser這個命令創建的賬號是系統賬號,可以用來登錄到我們的ubuntu系統。
# adduser git Adding user `git' ... Adding new group `git' (1004) ... Adding new user `git' (1004) with group `git' ... Creating home directory `/home/git' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for git Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
# ls /home
git
# grep git /etc/passwd
git:x:1004:1004:,,,:/home/git:/bin/bash
二.useradd的使用詳解
useradd有大量的參數供我們進行個性化設置。useradd的參數如下:
-c 備注 加上備注。並會將此備注文字加在/etc/passwd中的第5項字段中
-d 用戶主文件夾。指定用戶登錄所進入的目錄,並賦予用戶對該目錄的的完全控制權
-e 有效期限。指定帳號的有效期限。格式為YYYY-MM-DD,將存儲在/etc/shadow
-f 緩沖天數。限定密碼過期后多少天,將該用戶帳號停用
-g 主要組。設置用戶所屬的主要組
-G 次要組。設置用戶所屬的次要組,可設置多組
-M 強制不創建用戶主文件夾
-m 強制建立用戶主文件夾,並將/etc/skel/當中的文件復制到用戶的根目錄下
-p 密碼。輸入該帳號的密碼
-s shell。用戶登錄所使用的shell
-u uid。指定帳號的標志符user id,簡稱uid
useradd這個命令創建的是普通賬號,並不能用來登錄系統。
# useradd git -g git -p 123 // (默認的組是root,可以指定組。密碼需要指定參數-p,否則密碼為空;)
// 當使用參數"-m"的時候,系統會自動地在/home目錄下建立一個與新建用戶同名的用戶主文件夾;如果不使用"-m"的話,那么就默認是使用“-M”參數,不創建主文件夾 # passwd git Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully # ls /home //(home目錄下不會自動創建git目錄) #grep git /etc/passwd git:x:1004:1004::/home/git: