Linux基礎:user, group

Jack CHiu
追蹤我
有關Linux操作使用者的指令主要有 3 個, useradd 、 usermod 和 userdel ,分別是新增、修改和刪除。
 
這是我的Linux學習心得,若你也剛開始學習Linux, 也希望這篇文章對你有幫助,直接開始吧!打開Terminal視窗後,可以用root or student身分登入,就可以開始使用指令管理linux。

 

 
指令框內的 username 請改成想要使用的使用者名稱, path 請改成目的的位址, gruop 改成群組名稱。
開頭的 # 表示要使用 root 權限來執行, $ 開頭表示普通使用者身分,# 和 $ 不是指令的一部分。
在普通使用者的狀況下,可以在指令前加上 sudo 或是使用 sudo su 輸入使用者密碼,或是 su 輸入 root 密碼來切換為 root 身分。進入 root 身分之後,可以在鍵盤按下 ctrl + D 或是輸入 exit 或是 logout 來退出。
 

1.使用者

有關操作使用者的指令主要有 3 個, useradd 、 usermod 和 userdel ,分別是新增、修改和刪除。
-u 指定使用者的uid
-g 指定使用者的主群組
-G 指定使用者的副群組
-e 帳號的到期日
-s 使用者shell的種類 如 /bin/bash 或 /sbin/nologin
-c 帳號的描述

新增使用者mary

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

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

新增使用者並指定家目錄(如果指定目錄不存在也不會自動創建,如果從其他使用者創建,例如 root ,需要手動將目錄擁有者設為新的使用者。
useradd 除了新增帳號外,還會自動新增使用者家目錄 /home/USERNAME 並複製預設的檔案 /etc/skel 至使用者家目錄,其中這些資訊當放在 /etc/passwd 裡。
#useradd -m mary
#預設目錄位置為/home

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

#useradd -m -d /tmp jack

指定 UID

假如我想創建使用者 mark , UID 設為 1002
#useradd -u 1002 mark
創建系統帳戶
#useradd -r username
“系統帳戶主要是用來跑後台服務用的,例如說我想架設Apache的伺服器,那我就會專們創建一個帳戶用來跑 Apache的伺服端,而不是用使用者帳戶來跑。
系統帳戶的 UID 會小於 1000 大於 0 。通常會設定一些特殊權限,有自己的特殊資源或裝置,且系統帳戶默認是不能被登錄的。
一般情況下不需要手動去創建系統帳戶,通常包管理器(像是 APT)在安裝的時候都會自動創建系統帳戶。只有在手動安裝服務的時候才會用到。
#root的權限最大
[root@localhost~]#id root
uid=0(root) gid=0(root) group=0(root)
設立密碼
useradd 後面可以接 -p 選項來設定密碼,但這樣設定的密碼是使用明文來保存得萬一被看到就可以被直接登陸了,所以建議是在創建完使用者之後,使用 su 指令來切換身分,用 passwd 指令來更改密碼。敲完 passwd 指令之後,會跳出 Password: 類似的文字,後面接著輸入密碼就行,注意,這時輸入的密碼是不會顯示的,輸入完之後按下 enter 就可以了。
# su username
$ passwd
$ exit
刪除使用者
-f  強制刪除
-r  同時刪除使用者的家目錄和mail目錄
#userdel username
刪除使用者同時刪除使用者的家目錄
#userdel -r username&nbsp;
強制刪除使用者(不建議使用)
如果使用者目前是登錄狀態照樣刪除,家目錄一起刪除(如果家目錄是和其他使用者共同使用也照樣刪除),刪除和使用者同名的群組(如果群組是其他使用者的主要群組也這樣刪除)。 
#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

 

2.群組

群組代表著在群組內的使用者,有設定的檔案讀取寫入權限,可以自訂使用者能夠讀取什麼檔案,後面在詳細描述關於檔案權限。
新增群組
#groupadd group
指定群組
假如說我想創建使用者 jerry ,主群組設為 data (默認沒有使用 -g 選項時,會自動創建和新使用者名稱相同的群組作為新使用者的主群組)
#useradd -g data jerry
指定使用者bill的次要群組
假如說我想創建使用者bill ,次群組為 data01 和 data002
#useradd -G data01, data02 bill
指定 GID
假如說我想創建群組 manager ,設定 GID 1059
#groupadd -g 1059 manager

創建系統群組

#groupadd -r group
更改群組
更改 GID
例如說我想將manager 群組的 GID 設成 989
#groupmod -g 989 manager
更改群組名稱
例如說我想將群組manager更改成 manager-server
#groupmod -n manaer-server manager
刪除群組user
#groupdel group
查詢群組
 

#groups
查詢所有群組
查詢群組名單,可以到/etc目錄底下的group檔案查詢,目前所有使用中的群組。
 
#cat /etc/group

 

若有興趣想學習更深入的LinuxLinux+ 技巧可以上Udemy 中文課程
Linux系統管理教程(Linux運維+雲計算學科發布)
本教程是專為Linux初學者打造的入門課程,從Linux系統安裝部署講起,涵蓋常用操作命令、軟件包管理、用戶和權限管理等內容
目前黑色星期五購物節,只要原價NT$7800,現在只要台幣300元!
 

你會學到

  • 學習linux基礎知識,為從事IT行業打下堅實基礎知識
  • 從Linux系統安裝部署講起,涵蓋常用操作命令、軟件包管理、用戶和權限管理、文件系統管理、Shell編程、服務管理、日誌管理等Linux系統管理方方面面的內容。
Jack CHiu
追蹤我

看完這篇文章,幫自己拍拍手👏,也請幫我5下拍手👏👏👏👏👏支持我繼續寫下去,謝謝你耶!然後,我其實很好聊的,你可以直接IG私訊@jackskyhigh和我聊聊!或email:jack@jackskyhigh.com

💡想要即時收到更多我的文章嗎?

每周一早上 08:30 ,我會發一封《我的FIRE生活提案》的電子報~內容是我所閱讀、FIRE實驗、生產力與FIRE財務自由有關的內容(偶爾稍微插播一些跟家庭親子生活、運動訓練)。

強烈建議在按下訂閱之前,我建議花5分鐘先來我的訂閱註冊頁,了解為什麼我會開始經營部落格和發電子報,確認是你想要看的內容,再按下訂閱

如果你有朋友也需要FIRE提早退休的建議,請分享給他。