useradd(linux命令)和adduser(perl腳本)的區別

useradd是一個linux命令,但是它提供了很多參數在用戶使用的時候根據自己的需要進行設置;而adduser是一個perl 腳本,在使用的時候會出現類似人機交互的界面,提供選項讓用戶填寫和選擇,這個命令比起useradd來說比較簡單,也比較傻瓜。
一.adduser的使用詳解
在使用adduser命令的時候,系統會添加這個用戶名,並且還會自動地創建與這個用戶名名字一樣的用戶組作爲這個用戶的初始用戶組。此外,還會自動地在/home目錄下面創建一個與用戶同名的目錄,接着執行"cp /etc/skel  /home/用戶名"的操作,實現新增用戶的主目錄的初始化。
用adduser這個命令創建的賬號是系統賬號,可以用來登錄到我們的ubuntu系統。
二.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這個命令創建的是普通賬號,並不能用來登錄系統。
於是我得出了一個結論:當使用參數"-m"的時候,系統會自動地在/home目錄下建立一個與新建用戶同名的用戶主文件夾;如果不使用"-m"的話,那麼就默認是使用“-M”參數,不創建主文件夾,即使你使用了"-d"這個參數。所以,"-d"這個參數是跟"-m"一起使用的,讓用戶自己選擇主文件夾的路徑。

添加用戶:useradd -m -s  用戶名  然後設置密碼  passwd 用戶名

刪除用戶:userdel  -r  用戶名

典型案例:

新建用戶 hadoop

sudo useradd -m hadoop -s /bin/bash ##新建普通用戶

sudo passwd hadoop ##設置密碼

sudo adduser hadoop sudo ##把hadoop用戶加到sudo組,從而獲得sudo權限

1. 在root權限下,如果沒有在root權限下,會出現:useradd: cannot lock /etc/passwd; try again later. 

useradd只是創建了一個用戶名,如 (useradd  +用戶名 ),它並沒有在/home目錄下創建同名文件夾,也沒有創建密碼,因此利用這個用戶登錄系統,是登錄不了的,爲了避免這樣的情況出現,可以用 (useradd -m +用戶名)的方式創建,它會在/home目錄下創建同名文件夾,然後利用( passwd + 用戶名)爲指定的用戶名設置密碼。

2. 可以直接利用adduser創建新用戶(adduser +用戶名)這樣在/home目錄下會自動創建同名文件夾

 

3.  刪除用戶,只需使用一個簡單的命令“userdel 用戶名”即可。不過最好將它留在系統上的文件也刪除掉,你可以使用“userdel -r 用戶名”來實現這一目的。 

 

 Linux系統如何添加用戶這個問題到網上問一下或者搜一下,很多人可能會說useradd,實際這是不對的。useradd只會添加一個用戶,沒有創建它的主目錄,除了添加一個新用戶之外什麼都沒有。這個用戶甚至不能登錄,因爲沒有密碼。正確的做法是man page裏說的,adduser,這個命令實際是一個perl腳本,是useradd等類似底層命令的更友好的前端,它會用交互性的方式建立新用戶,使用它可以指定新用戶的家目錄,登錄密碼,是否加密主目錄等等,它會:

1.建立一個新目錄作爲家目錄
2.建立同名新組
3.把用戶的主要組設爲該組(除非命令選項覆蓋以上默認動作,比如–disall-homdirecry之類)
4.從/etc/SKEL目錄下拷貝文件到家目錄,完成初始化
5.建立新用戶的密碼
6.如果其存在的話,還會執行一個腳本。
--------------------- 
作者:li_101357 
來源:CSDN 
原文:https://blog.csdn.net/li_101357/article/details/46778827 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章