場景:我在學習git 克隆的時候,想自己實操一下,發現本身的機器ssh的配置已經很好了。不想再删了,然後就想新建一個用戶
我們可以了解到的命令:useradd 、userdel、adduser、deluser、usermod、vipw、vipw -s、vigr 我們可以了解到的文件:/etc/default/useradd、 /etc/login.defs、 /etc/passwd 、/etc/shadow、/etc/adduser.conf、/etc/deluser.conf、/etc/passwd、/etc/shadow、/etc/skel
創建用戶
sudo useradd test cd /home/ ll
怎麼沒有我剛開始創建的用戶目錄呀。先不管了,切換到test用戶上!!
sudo su - test
怎麼跟我預想的不一樣呀。查找了一下useradd命令的幫助吧
man useradd
我們簡單列出幾個比較常用的吧,詳細的可以自己查看
-b, --base-dir BASE_DIR 如果沒有使用 -d HOME_DIR,則使用默認的基目錄。BASE_DIR 加上賬戶名就是主目錄。選項沒有指定,useradd 将使用 /etc/default/useradd 中的 HOME 變量,或者默認的 /home。 -d, --home-dir HOME_DIR 将創建新用戶,并使用 HOME_DIR 作為用戶登陸目錄的值。默認值是将 LOGIN 名附加到 BASE_DIR 後面,并使用這作為登陸目錄。目錄不一定必須已經存在 HOME_DIR,但是會在需要時創建 -m, --create-home 如果不存在,則創建用戶主目錄。骨架目錄中的文件和目錄(可以使用 -k 選項指定),将會複制到主目錄。 -M, --no-create-home 不創建用戶主目錄,即使系統在 /etc/login.defs 中的設置 (CREATE_HOME) 為 yes -s, --SHELL SHELL 用戶的登錄 shell 名。默認為留空,讓系統根據 /etc/default/useradd 中的 SHELL 變量選擇默認的登錄 shell,默認為空字符串。 -g, --gid GROUP 用戶初始登陸組的組名或号碼。組名必須已經存在。組号碼必須指代已經存在的組。
這其中涉及到兩個文件,一個是/etc/default/useradd和/etc/login.defs
/etc/default/useradd 存放了一些默認值 /etc/login.defs 存放了創建用戶的一些默認配置
看到這裡,我們能看出來。我們創建用戶用的是無參數的。導緻我們創建的用戶有很多配置沒有。那我們删除用戶test,重新加參數創建
userdel test // 删除用戶,後面會說到 useradd -m test cd /home/ ll sudo su - test
這樣創建出來的用戶是在/home/有用戶目錄
我們可以看到,shell命令行,跟我們原來的不一樣。這是因為,默認創建的用戶使用的是登錄shell是/bin/sh,而我們平常用的是/bin/bash(默認值在/etc/default/useradd下)
這樣我們就要更改一下test用戶的登錄shell版本,
sudo usermod -s '/bin/bash' test
這樣一來,跟我們原來的一樣了。完美~~這時我們會發現登錄用戶test還沒有設置密碼,我們再執行下面命令。輸入密碼,可以給test用戶設置密碼
exit // 先退出test用戶 sudo passwd test su - test // sudo su - test 好像怎麼樣都不需要密碼
關于創建用戶目錄,理解一下-m、-b、 -d三個參數。-b指定基目錄 -b指定用戶命令,-m其實是一個複制命令,會将/etc/skel得文件骨架結構,複制到你創建用戶裡面(文件不存在,就會創建)。一切都是默認值的話,用戶的目錄就是 /home/test/
至此,我們一個用戶就創建完成了。
删除用戶
sudo userdel test // 記住要登出,要不然删除會報錯
用戶就會被删除,但是我們可以發現,在home底下,對應的test文件沒有删除,我們執行删除文件夾的命令就可以
sudo rm -rf test/
其實呢,我們可以在删除用戶的時候,添加一個 `-r`的參數,可以直接在删除用戶的時候,把用戶目錄也一起删除了
删除命令的詳細參數,可以用 man userdel來查看。
其餘命令在這學習中,我還發現了一個命令 adduser和deluser,其實這兩個命令跟useradd和deluser命令都是創建用戶的命令。
adduser他是一個perl腳本,利用交互式的方式,來創建用戶,适合初學者。他默認登錄shell就是'/bin/bash',能創建用戶目錄,還能直接設置密碼。但是最終還是用的useradd命令。deluser也是一樣的道理。有興趣的可以取看一下,很簡單的。
注意:系統不一樣,命令可能不太一樣,我的是ubuntu 18的,但是我看他們說,centos的adduser和useradd其實就是一個命令,通過軟鍊接得出的adduser
centos
ubuntu
總結:
useradd/adduser:添加用戶 userdel/deluser:删除用戶 usermod:修改用戶信息 /etc/default/useradd:用useradd創建用戶的一些配置的默認值 /etc/login.defs: 用useradd創建用戶的一些默認配置 /etc/adduser.conf: 用adduser創建用戶的默認配置 /etc/deluser.conf: 用deluser删除用戶的默認配置 /etc/passwd:存放所有用戶的信息(所有用戶可見) /etc/shadow:存放用戶的加密密碼信息(僅管理員可見) /etc/skel :新建用戶的根目錄的文件結構 vipw命令:可以修改/etc/passwd vipw -s 命令:可以修改/etc/shadow
vipw 也是一中vi,不過僅是修改用戶信息文件的,打開就是/etc/passwd,它會給文件上鎖,如果已經被打開了,你就不可再打開了。除此之外,還有vipg,修改用戶組文件
碼農不易,多多支持^__^
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!