Linux命令學習 useradd userdel

2021-09-04 11:35:18 字數 4160 閱讀 4407

[root@test etc]# useradd --help

useradd: invalid option -- -

usage: useradd [-u uid [-o]] [-g group] [-g group,...]

[-d home] [-s shell] [-c comment] [-m [-k template]]

[-f inactive] [-e expire ] [-p passwd] [-m] [-n] [-r] name

useradd -d [-g group] [-b base] [-s shell]

[-f inactive] [-e expire ]

當不加 -d 引數, useradd 指令使用命令列來指定新帳號的設定值 and 使用系統上的預設值。新使用者帳號將產生一些系統檔案,使用者目錄建立,拷備起始檔案等,這些均可以利用命令列選項指定。此版本為redhatlinux

提供。引數說明:

-u 使用者的id值。必須為唯一的id值,除非用-o選項。數字不可為負值。預設為最小不得小於999而逐次增加。0~999傳統上是保留給系統帳號使用。

-g 《群組》指定使用者所屬的群組。名稱或以數字來做為使用者登入起始群組(group)。群組名須為現有存在的名稱。群組數字也須為現有存在的群組。預設的群組數字為1。

-g 《群組》指定使用者所屬的附**組。定義此使用者為此一堆 groups 的成員。每個群組使用","區格開來,不可以夾雜空白字元。群組名同-g選項的限制。定義值為使用者的起始群組。

-d 《登入目錄》指定使用者登入時的啟始目錄。新帳號每次登入時所使用的 home_dir。預設值為 default_home內login 名稱,並當成登入時目錄名稱。

-s 使用者登入後使用的shell名稱。預設為不填寫,這樣系統會幫你指定預設的登入shell。

-c 《備註》為新帳號加上備註文字(password檔的說明欄),備註文字會儲存在passwd的備註欄位中。

-m 使用者目錄如不存在則自動建立。如使用-k選項 skeleton_dir 內的檔案將複製至使用者目錄下。然而在 /etc/skel 目錄下的檔案也會複製過去取代。任何在 skele-ton_dir or/etc/skel 的目錄也相同會在使用者目錄下一一建立。the-k同-m不建立目錄以及不複製任何檔案為預設值。

-m 不建立使用者目錄,即使 /etc/login.defs 系統檔設定要建立使用者目錄。

-n 預設值使用者群組與使用者名稱會相同。此選項將取消此預設值。

-f 《緩衝天數》指定在密碼過期後多少天即關閉該帳號。當值為0時帳號則立刻被停權。而當值為-1時則關閉此功能,預設值為-1。

-e 《有效期限》指定帳號的終止日期。日期的指定格式為 mm/dd/yy 。

-r 此引數是用來建立系統帳號。系統帳號的uid會比定義在系統檔上/etc/login.defs。的uid_min來的小。注意useradd此用法所建 立的帳號不會建立使用者目錄,也不會在乎紀錄在 /etc/login.defs. 的定義值。如果你想要有使用者目錄須額外指定-m引數來建立系統帳號。這是redhat額外增設的選項。

-p 使用者可以在建立賬戶時,一併設定好密碼,-p引數後跟的是密文,在/etc/shadow檔案中可以查詢到相關密碼所對應的密文。

-d 變更預設值。

改變預設值(沒試驗過,很少用)

當 -d 選項出現時,useradd秀出現在的預設值,或是藉由命令列的方式更新預設值。可用選項為∶

-b default_home定義使用者所屬目錄的前乙個目錄。使用者名稱會附加在default_home後面用來建立新使用者的目錄。當然使用-d後則此選項無效。

-e default_expire_date使用者帳號停止日期。

-f default_inactive帳號過期幾日後停權。

-g default_group新帳號起始群組名或id。群組名須為現有存在的名稱。群組id也須為現有存在的群組。

-s default_shell使用者登入後使用的 shell 名稱。往後新加入的帳號都將使用此 shell.

如不指定任何引數,useradd 顯示目前預設的值。

註記系統管理者有義務在 /etc/skel 目錄下放置使用者定義檔。此版本『useradd』由redhat修改。

警告不可新增使用者於nis群組中。你必須在nis伺服器上執行。

檔案/etc/passwd - 使用者帳號資訊

/etc/shadow - 使用者帳號資訊加密

/etc/group - 群組資訊

/etc/default/useradd - 定義資訊

/etc/login.defs - 系統廣義設定

/etc/skel - 內含定義檔的目錄

useradd 預設值:

上面的示例可以讓我們了解到,系統其實已經規範好了一些新增使用者時的引數了,像我沒有指定使用者的家目錄,也沒有指定使用者的 uid 和 gid 可是系統會幫我們為使用者加上,同時其預設shell被設定成了 /bin/bash ,也讓我知道了,使用 useradd 命令一定要有root許可權。那麼,useradd 去新增使用者時,其預設值是多少呢?使用上面所說的 useradd 的 -d 引數可以顯示出其預設值,各位可以看出,其值完全與 /etc/default/useradd 這個檔案裡面的內容相同。原來在 linux 中使用 useradd 去新增使用者時,一些在 /etc/passwd 中的值是會去參考 /etc/default/useradd 這個檔案的。其檔案內容基本如下:

# useradd defaults file

group=100 # 預設的使用者組

home=/home # 家目錄的位址

inactive=-1 # 密碼過期的寬限時間,對應 /etc/shadow 的第七欄

expire=   # 賬號失效日期,對應 /etc/shadow 的第八欄

shell=/bin/bash # 預設使用的shell

skel=/etc/skel # 使用者家目錄裡面的內容參照檔案(裡面基本上全為隱藏檔案——>以「.」開頭的檔案)

create_mail_spool=yes# 建立使用者的mailbox

舉例:例一:增加乙個mail_0001賬戶,屬於mailuser組,密碼是1234(\$1\$m3eaghpj\$gs5elcforokdagwz1j8xc0假如為1234的密文),且沒有登入系統的許可權:

useradd -p \$1\$m3eaghpj\$gs5elcforokdagwz1j8xc0 -g mailuser -s /sbin/nologin mail_0001

例二:不加任何引數,直接預設建立乙個新使用者chongpig

[root@xiaoxiaozi simaopig]# useradd chongpig

在和使用者相關聯的幾個檔案裡面搜一下chongpig這個賬號

[root@xiaoxiaozi simaopig]# grep chongpig /etc/passwd /etc/shadow /etc/group

/etc/passwd:chongpig:x:501:501::/home/chongpig:/bin/bash

/etc/shadow:chongpig:!!:14446:0:99999:7:::

/etc/group:chongpig:x:501:

例三:建立乙個新賬號 simaopig2 ,且看一下uid 888不存在,那麼就指定給simaopig2,並且把它加到mysql 組中:

[root@xiaoxiaozi simaopig]# grep 888 /etc/passwd

[root@xiaoxiaozi simaopig]# useradd -u 888 -g mysql simaopig2

[root@xiaoxiaozi simaopig]# grep simaopig2 /etc/passwd /etc/shadow /etc/group

/etc/passwd:simaopig2:x:888:27::/home/simaopig2:/bin/bash

/etc/shadow:simaopig2:!!:14446:0:99999:7:::

userdel命令:

功能說明:刪除使用者帳號。

語  法:userdel   [options]   [使用者帳號]

補充說明:userdel可刪除使用者帳號與相關的檔案。若不加引數,則僅刪除使用者帳號,而不刪除相關檔案。

引數:-f  刪除使用者登入目錄以及目錄中所有檔案。

-r 使用者目錄下的檔案一併移除,在其他位置上的檔案也將一一找出並刪除.

linux命令學習 awk 命令學習

三 awk 指令碼 四 awk 程式設計 五 寫在結尾 awk是linux上一款強大的文字分析工具,它可以將檔案逐行的讀入,然後用分割符分割開來,再對分割的各個部分進行處理。awk分割的各個部分叫做域,預設的分割符是空格和製表符。可以通過 f來指定分割符。awk有3個不同版本 awk nawk和ga...

linux命令學習 iostat 命令學習

三 一些擴充套件 參考資料 當我們要看系統io情況時,一般最先想到的應該就是iostat命令的。iostat提供了豐富的引數給我們查詢各種維度的io資料。學習iostat有助於我們排查io相關問題時可以更快的定位到問題根源。以下內容大多來自iostat的man文件,會加上部分自己的理解,英文水平好的...

linux命令學習

1.sudo s 能在不輸入命令的情況下將目錄切換到root使用者 2.du sh 檔名 能夠指示檔案的大小 3.ls lh 檔名 能夠指示檔案的大小和詳細資訊 4.kill 9 pid 絕殺程序 所有程序都能殺 檔案的查詢 find 查詢的路徑 home name 檔名或 檔名 當make時錯誤資...