linux使用者及許可權

2022-08-09 10:24:09 字數 4296 閱讀 5929

u           即檔案或目錄的擁有者;

g           即檔案或目錄的所屬群組;

o           其他使用者;

a           所有使用者(預設);

r           讀取,數字代號為「4」;

w          寫入,數字代號為「2」;

x           執行或切換,數字代號為「1」;

-           不具任何許可權,數字代號為「0」;

s           特殊功能說明:變更檔案或目錄的許可權。

id user1     #檢視使用者user1

useradd user1    #建立新使用者user1,useradd命令用於linux中建立的新的系統使用者賬號,再用passwd設定帳號的密碼。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔案中。

passwd user1     #設定user1的使用者密碼

userdel -r user1   #刪除使用者user1

gpasswd -a user1 root      #把使用者user1加入root組

gpasswd -d user1 root     #把root組中使用者user1刪除

groupadd mysql         #建立mysql使用者組

su命令——使用者切換

格式:su 【options】 【使用者名稱】       

options如下:

-              使用者想要切換到root

-l             後面可以接使用者名稱,可使用變換身份者的所有相關環境設定檔案

-m           使用當前環境設定,而不重新讀取新使用者的設定檔案

-c             僅進行一次命令,所以-c後面可以加命令

格式:ls(選項)(引數)                

終端輸入:ls -l shell.text

顯示:-rw-

r--r-- 1 root root 0 oct 19 12:21 shell.txt

注釋:紅色部分代表:所有者,rw(讀寫)許可權。

黃色部分代表:所屬組,r(唯讀)的許可權。

藍色部分代表:其他使用者,r(唯讀)的許可權。

chmod u+x file                       給file的屬主增加執行許可權

chmod 751 file                    給file的屬主分配讀、寫、執行(7)的許可權,給file的所在組分配讀、執行(5)的許可權,給其他使用者分配執行(1)的許可權

chmod u=rwx,g=rx,o=x file            上例的另一種形式

chmod =r file                       為所有使用者分配讀許可權

chmod -r u+r directory              遞迴地給directory目錄下所有檔案和子目錄的屬主分配讀的許可權

chmod 4755                            設定用id,給屬主分配讀、寫和執行許可權,給組和其他使用者分配讀、執行的許可權。

檔案acl,訪問控制列表

傳統的許可權僅有三種身份(owner,group,others)搭配三種許可權(r,w,x),隨著應用的發展,這些許可權組合已不能適應現在複雜的檔案系統許可權控制要求。(對於乙個檔案,有乙個使用者不是所有者、也不在所有者組,然後單獨給他設定許可權,而不影響 其他使用者)

例如,目錄data的許可權為:drwxr-xr—x,所有者與所屬組均為root,在不改變所有者和所屬組的前提下,要求使用者test對該目錄有完全訪問許可權(rwx),但又不能讓其他有用完全許可權(rwx),這種情況就只能使用acl訪問控制列表許可權來控制了。

命令:getfacl:檢視檔案或目錄的acl設定內容

setfacl:設定檔案或目錄的acl內容

命令格式:

# setfacl  [選項]  要修改的許可權  檔案

命令選項:

-m :新增acl引數

-x :刪除acl引數

-b :刪除所有的acl設定引數

-r :遞迴設定acl引數

設定格式如下

# setfacl -m u:test:rw 1.txt          --為檔案1.txt設定test使用者可讀寫的acl許可權

# mkdir /test/a -p

# cd /test

# touch 1.txt

# ll

總用量 0

-rw-r--r-- 1 root root 0 7月   8 21:41 1.txt

drwxr-xr-x 2 root root 6 7月   8 21:39 a

開啟另乙個終端,並切換之test使用者測試1.txt是否可寫

設定使用者acl許可權

# setfacl -m u:user1:rwx 1.txt          --多個使用者用逗號隔開

檢視設定後的許可權

# getfacl 1.txt

# file: 1.txt

# owner: root

# group: root

user::rw-

user:test:rwx          --這裡可以看到剛剛設定的acl許可權

group::r--

mask::rwx

other::r--

設定acl的mask          (mask 掩碼:允許的最高acl許可權)                   

# setfacl -m m::r 1.txt

檢視1.txt的許可權和之前有什麼不同

# file: 1.txt

# owner: root

# group: root

user::rw-

user:test:rwx               #effective:r--          --這裡會有乙個警告,因為acl的許可權大於了掩碼的最高許可權,此時的test使用者依舊不可寫

group::r--

mask::r--

other::r--

為目錄設定預設acl許可權,設定後,在該目錄內建立的檔案依然繼承該acl

# setfacl -m d:user1:rw a/

# mkdir b

# touch b/1.txt

# touch a/1.txt

# getfacl a/1.txt

# file: a/1.txt

# owner: root

# group: root

user::rw-

user:test:rw-

group::r-x               #effective:r--

mask::rw-

other::r--

# getfacl b/1.txt

# file: b/1.txt

# owner: root

# group: root

user::rw-

group::r--

other::r--

刪除acl許可權

# setfacl -x u:user1 1.txt

# setfacl -b 1.txt

遞迴設定acl引數

# mkdir /test/b

# touch /test/b/1.txt

# setfacl -m u:user1:rw /test/b

# getfacl /test/b

# file: b/

# owner: root

# group: root

user::rwx

user:user1:rw-

group::r-x

mask::rwx

other::r-x

# getfacl /test/b/1.txt

# file: b/1.txt

# owner: root

# group: root

user::rw-

group::r--

other::r--

# setfacl -rm u:user1:rw /test/b               遞迴設定acl許可權後,目錄下所有內容均會擁有相同的acl許可權

# file: b/1.txt

# owner: root

# group: root

user::rw-

user:user1:rw-

group::r--

mask::rw-

other::r--

Linux使用者及許可權

計算資源 許可權 使用者 使用者組 容器,關聯許可權使用者組,方便的指派許可權 使用者 獲取資源或服務的標識 程序安全上下文 secure context 許可權 r w x 檔案 r 可讀 檢視 w 可寫 編輯或刪除 x 可執行 當作命令提交給核心 目錄 r 可對此目錄ls w 在此目錄建立檔案 ...

Linux使用者及許可權

庫 lib 共享庫 so shared object,許可權 使用者,獲取資源,服務的識別符號 組,指派許可權,識別符號 程序 以某個使用者的身份在進行,有屬主和屬組 安全上下文 security context linux許可權,三組使用者 檔案屬主,檔案的所有者 檔案屬組,檔案的原生組 其他使用...

Linux 使用者及使用者許可權詳解

使用者 組 許可權 許可權 r,w,x 檔案 r 可讀,可以使用類似cat等命令檢視檔案內容 w 可讀,可以編輯或刪除此檔案 x 可執行,可以命令提示符下當做命令提交給核心執行 目錄 r 可以對此目錄執行ls以列出內部的所有檔案 w 可以在此目錄中建立檔案 x 可以使用cd切換進此目錄,也可以使用l...