Linux命令-使用者、許可權管理

2023-02-26 06:00:43

 

Linux命令-使用者、許可權管理

使用者是Unix/Linux系統工作中重要的一環,使用者管理包括使用者與組賬號的管理。

在Unix/Linux系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬號,並且對於不同的系統資源擁有不同的使用許可權。

Unix/Linux系統中的root賬號通常用於系統的維護和管理,它對Unix/Linux作業系統的所有部分具有不受限制的存取許可權。

在Unix/Linux安裝的過程中,系統會自動建立許多使用者賬號,而這些預設的使用者就稱為「標準使用者」。

在大多數版本的Unix/Linux中,都不推薦直接使用root賬號登入系統。

檢視當前使用者:whoami

whoami該命令使用者檢視當前系統當前賬號的使用者名稱。可通過cat /etc/passwd檢視系統使用者資訊。

由於系統管理員通常需要使用多種身份登入系統,例如通常使用普通使用者登入系統,然後再以su命令切換到root身份對傳統進行管理。這時候就可以使用whoami來檢視當前使用者的身份。

檢視登入使用者:who

who命令用於檢視當前所有登入系統的使用者資訊。

常用選項:

選項含義
-m或am I 只顯示執行who命令的使用者名稱、登入終端和登入時間
-q或--count 只顯示使用者的登入賬號和登入使用者的數量
-u或--heading 顯示列標題

退出登入賬戶: exit

如果是圖形介面,退出當前終端;

如果是使用ssh遠端登入,退出登陸賬戶;

如果是切換後的登陸使用者,退出則返回上一個登陸賬號。

新增使用者賬號:useradd

在Unix/Linux中新增使用者賬號可以使用adduser或useradd命令,因為adduser命令是指向useradd命令的一個連結,因此,這兩個命令的使用格式完全一樣。

useradd命令的使用格式如下: useradd [引數] 新建使用者賬號

引數含義
-d 指定使用者登入系統時的主目錄,如果不使用該引數,系統自動在/home目錄下建立與使用者名稱同名目錄為主目錄
-m 自動建立目錄
-g 指定組名稱

相關說明:

  • Linux每個使用者都要有一個主目錄,主目錄就是第一次登陸系統,使用者的預設當前目錄(/home/使用者);
  • 每一個使用者必須有一個主目錄,所以用useradd建立使用者的時候,一定給使用者指定一個主目錄;
  • 使用者的主目錄一般要放到根目錄的home目錄下,使用者的主目錄和使用者名稱是相同的;
  • 如果建立使用者的時候,不指定組名,那麼系統會自動建立一個和使用者名稱一樣的組名。
命令含義
useradd -d /home/abc abc -m 建立abc使用者,如果/home/abc目錄不存在,就自動建立這個目錄,同時使用者屬於abc組
useradd -d /home/a a -g test -m 建立一個使用者名稱字叫a,主目錄在/home/a,如果主目錄不存在,就自動建立主目錄,同時使用者屬於test組
cat /etc/passwd 檢視系統當前使用者名稱

設定使用者密碼:passwd

在Unix/Linux中,超級使用者可以使用passwd命令為普通使用者設定或修改使用者口令。使用者也可以直接使用該命令來修改自己的口令,而無需在命令後面使用使用者名稱。

刪除使用者:userdel

命令含義
userdel abc(使用者名稱) 刪除abc使用者,但不會自動刪除使用者的主目錄
userdel -r abc(使用者名稱) 刪除使用者,同時刪除使用者的主目錄

切換使用者:su

可以通過su命令切換使用者,su後面可以加「-」。su和su –命令不同之處在於,su -切換到對應的使用者時會將當前的工作目錄自動轉換到切換後的使用者主目錄:

注意:如果是ubuntu平臺,需要在命令前加「sudo」,如果在某些操作需要管理員才能操作,ubuntu無需切換到root使用者即可操作,只需加「sudo」即可。sudo是ubuntu平臺下允許系統管理員讓普通使用者執行一些或者全部的root命令的一個工具,減少了root 使用者的登陸和管理時間,提高了安全性。

命令含義
su 切換到root使用者
su root 切換到root使用者
su - 切換到root使用者,同時切換目錄到/root
su - root 切換到root使用者,同時切換目錄到/root
su 普通使用者 切換到普通使用者
su - 普通使用者 切換到普通使用者,同時切換普通使用者所在的目錄

Ubuntu下切換到root的簡單命令:

檢視有哪些使用者組

方法一:

cat /etc/group

方法二:

groupmod +三次tab鍵

新增、刪除組賬號:groupadd、groupdel

groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 檢視使用者組

修改使用者所在組:usermod

使用方法:usermod -g 使用者組 使用者名稱

檢視使用者在哪些組

為建立的普通使用者新增sudo許可權

新建立的使用者,預設不能sudo,需要進行一下操作

sudo usermod -a -G adm 使用者名稱

sudo usermod -a -G sudo 使用者名稱

usermod -g 與 -G的區別

-g用來制定這個使用者預設的使用者組

-G一般配合'-a'來完成向其它組新增

修改檔案許可權:chmod

chmod 修改檔案許可權有兩種使用格式:字母法與數位法。

字母法:chmod u/g/o/a +/-/= rwx 檔案

[ u/g/o/a ]含義
u user 表示該檔案的所有者
g group 表示與該檔案的所有者屬於同一組( group )者,即使用者組
o other 表示其他以外的人
a all 表示這三者皆是
[ +-= ]含義
+ 增加許可權
- 復原許可權
= 設定許可權
rwx含義
r read 表示可讀取,對於一個目錄,如果沒有r許可權,那麼就意味著不能通過ls檢視這個目錄的內容。
w write 表示可寫入,對於一個目錄,如果沒有w許可權,那麼就意味著不能在目錄下建立新的檔案。
x excute 表示可執行,對於一個目錄,如果沒有x許可權,那麼就意味著不能通過cd進入這個目錄。

如果需要同時進行設定擁有者、同組者以及其他人的許可權,參考如下:

數位法:「rwx」 這些許可權也可以用數位來代替

字母說明
r 讀取許可權,數位代號為 "4"
w 寫入許可權,數位代號為 "2"
x 執行許可權,數位代號為 "1"
- 不具任何許可權,數位代號為 "0"

如執行:chmod u=rwx,g=rx,o=r filename 就等同於:chmod u=7,g=5,o=4 filename

chmod 751 file:

  • 檔案所有者:讀、寫、執行許可權
  • 同組使用者:讀、執行的許可權
  • 其它使用者:執行的許可權

注意:如果想遞迴所有目錄加上相同許可權,需要加上引數「 -R 」。 如:chmod 777 test/ -R 遞迴 test 目錄下所有檔案加 777 許可權

修改檔案所有者:chown

修改檔案所屬組:chgrp