[Linux] 新增修改刪除 管理 使用者/群組 指令

新增修改刪除 管理 使用者/群組 指令

範例中的 username 請改成想要使用的使用者名稱, path 請改成目的的位址, gruop 改成群組名稱。

開頭的 # 表示要使用 root 權限來執行, $ 開頭表示普通使用者身分,請不要把 #$ 當作是指令的一部份

在普通使用者的狀況下,可以在指令前加上 sudo 或是使用 sudo su 輸入使用者密碼,或是 su 輸入 root 密碼來切換為 root 身分。進入 root 身分之後,可以在鍵盤按下 ctrl + D 或是輸入 exit 或是 logout 來退出。

使用者

有關操作使用者的指令主要有 3 個, useraddusermoduserdel ,分別是新增、修改和刪除。

新增使用者

會在 /home/<username> 創建家目錄

# useradd username

新增使用者並為使用者創建家目錄

# useradd -m username

新增使用者並指定家目錄(如果指定目錄不存在也不會自動創建,如果從其他使用者創建,例如 root ,需要手動將目錄擁有者設為新的使用者)

創建使用者 test001 並指定目錄為 /test/test001

# useradd -d /test/test001 test001

新增使用者並在指定位置創建家目錄

# useradd -m -d path username

指定 UID

假如我想創建使用者 test002 , UID 設為 1022

# useradd -u 1022 test002

指定群組

假如說我想創建使用者 test03主群組設為 test (默認沒有使用 -g 選項時,會自動創建和新使用者名稱相同的群組作為新使用者的主群組)

# useradd -g test test03

指定使用者的次要群組

假如說我想創建使用者 test04次群組test01test002

# useradd -G test01,test002 test04

創建系統帳戶

# useradd -r username

系統帳戶主要是用來跑後台服務用的,例如說我想架設 Minecraft 的伺服器,那我就會專們創建一個帳戶用來跑 Minecraft 的伺服端,而不是用使用者帳戶來跑。

系統帳戶的 UID 會小於 1000 大於 0 。通常會設定一些特殊權限,有自己的特殊資源或裝置,但不會是超級管理員那樣的權限。且系統帳戶默認是不能被登錄的。

一般情況下不需要手動去創建系統帳戶,通常包管理器(像是 APT)在安裝的時候都會自動創建系統帳戶。只有在手動安裝服務的時候才會用到。

為新建使用者設立密碼

useradd 後面可以接 -p 選項來設定密碼,但這樣設定的密碼是使用明文來保存得萬一被看到就可以被直接登陸了,所以建議是在創建完使用者之後,使用 su 指令來切換身分,用 passwd 指令來更改密碼。敲完 passwd 指令之後,會跳出 Password: 類似的文字,後面接著輸入密碼就行,注意,這時輸入的密碼是不會顯示的,輸入完之後按下 enter 就可以了。

# su username
$ passwd
$ exit

刪除使用者

# userdel username

刪除使用者同時刪除使用者的家目錄

# userdel -r username

強制刪除使用者(不建議使用)

如果使用者目前是登錄狀態照樣刪除,家目錄一起刪除(如果家目錄是和其他使用者共同使用也照樣刪除),刪除和使用者同名的群組(如果群組是其他使用者的主要群組也這樣刪除)。

# userdel -f username

更改使用者

更改使用者的主群組

# usermod -g group username

更改使用者的次群組

# usermod -G group1[,group2,...] username

將使用者加到群組

# usermod -a -G group username

或是

# gpasswd -a username group

將使用者從群組中移除

# gpasswd -d username group

群組

新增群組

# groupadd group

指定 GID

假如說我想創建群組 admin ,設定 GID 1059

# groupadd -g 1059 admin

創建系統群組

# groupadd -r group

更改群組

更改 GID

例如說我想將 minecraft 群組的 GID 設成 989

# groupmod -g 989 minecraft

更改群組名稱

例如說我想將群組 minecraft 更改成 minecraft-server

# groupmod -n minecraft-server minecraft

刪除群組

# groupdel group
Show Comments