Linux檔案許可權包含特殊許可權

2021-08-04 07:36:28 字數 2842 閱讀 8265

修改檔案的屬主、屬組:chown

修改檔案目錄的屬組:chgrp

chgrp [option]… group file…

-r:遞迴

例:chgrp group1 testfile #把檔案testfile屬組變成group1

chgrp group1 testdir/ #把目錄testdir屬組變成group1

檔案許可權

檔案、目錄針對訪問者的三種許可權:

r:讀、w:寫、x:執行

檔案許可權的操作

八進位制許可權表示: 許可權

二進位制八進位制

—0000–x

0011

-w-010

2-wx

0113

r–100

4r-x

1015

rw-110

6rwx

1117

例:640:rw-r—–

755:rwxr-xr-x

修改許可權的時候用數字比較常見。

接下來介紹下linux檔案系統的特殊許可權suid、sgid、sticky

1. 程序訪問檔案的許可權取決於發起者對於檔案的許可權,如果是檔案屬主,就應用檔案屬主許可權,如果屬於檔案屬組,就應用檔案屬組許可權,如果都不是應用其他許可權。

2. suid許可權

suid 只對二進位制可執行程式有效,設定在目錄上沒有意義,啟動之後,程序的屬主變成了原程式檔案的屬主,擁有原程式檔案的屬主的許可權。

chmod u+s file…

chmod u-s file…

例:-rwsr-xr-x. 1 root root 30768 nov 24 2015 /usr/bin/passwd #這個二進位制可執行程式當普通使用者使用時會暫時獲得root許可權,修改/etc/passwd檔案內容。

3. sgid許可權

sgid許可權可用於二進位制可執行檔案也可用於目錄,通常作用於目錄,建立乙個協作目錄。啟動為程序之後,其程序的屬主為原程式檔案的屬組,suid佔據屬主的執行位,s表示屬主有執行許可權,s表示沒有執行許可權

chmod g+s file…

chmod g-s file…

一旦某目錄被設定了sgid ,則對此目錄有寫許可權的使用者在此目錄中建立的檔案所屬的組為此目錄的屬組,sgid佔據屬組的執行位,s表示屬組有執行許可權,s表示沒有執行許可權

chmod g+s dir…

chmod g-s dir…

4. 具有寫許可權的目錄通常使用者可以刪除該目錄中的任何檔案,無論該檔案的許可權或擁有權,在目錄設定sticky位,只有檔案的所有者或root可以刪除該檔案,sticky設定在檔案上無意義,sticky佔據other位執行許可權,t表示有執行許可權,t沒有執行許可權

chmod o+t dir…

chmod o-t dir…

5. suid、sgid、sticky

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

它們也可用用八進位制表示許可權,三個許可權分別對應一位

例:chmod 4777 /tmp/a.txt

acl訪問控制列表

1. acl可以實現靈活的許可權管理,除了檔案的所有者,所屬組和其它人,可以對更多的使用者設

置許可權centos7預設建立的xfs和ext4檔案系統具有acl 功能,centos7之前版本,預設手工建立的ext4檔案系統無acl功能,需要手動增加。:當設定了acl許可權,用ll命令檢視的是mask許可權

例如:

tune2fs –o acl /dev/sdb1

mount –o acl /dev/sdb1 /mnt/test

2. acl生效順序:所有者,自定義使用者,自定義組,其他人

例子:

getfacl file|driectory #獲取檔案或目錄的acl許可權

setfacl -m u:user:rwx file|directory #user使用者設定acl許可權

setfacl -mr u:user:rwx directory #遞迴設定目錄acl許可權

setfacl -m file.acl file|directory #用file.acl檔案設定acl許可權

setfacl -m g:group:rwx file|directory #給group設定acl訪問許可權

setfacl -x u:user:rwx file|directory #刪除一條useracl許可權

setfacl -x file.acl file|directory #用file.acl檔案設定檔案目錄acl許可權

setfacl -k dir 刪除預設acl 許可權

setfacl –b file1 清除所有acl

getfacl file1 | setfacl –set-file=- file2 複製file1的 的acl 許可權給file2

3. 備份和恢復acl

主要的檔案操作命令cp 和mv 都支援acl ,只是cp 命令需要加上-p 引數。但是tar 等常見的備份工具是不會保留目錄和檔案的acl 資訊

getfacl -r /tmp/dir1 > acl.txt #把/tmp/dir1下的所有內容的acl許可權重定向到acl.txt

setfacl -r -b /tmp/dir1 #刪除目錄的acl許可權

setfacl -r –set-file=acl.txt /tmp/dir1 或者 setfacl –restore acl.txt #恢復acl許可權

getfacl -r /tmp/dir1 #檢視

Linux檔案特殊許可權

linux中檔案除了r w x這三個讀 寫 執行的許可權還有特殊許可權 s t suid許可權 當s這個標誌出現在檔案所有者的x許可權上時 如 rwsr xr x 則被稱為set uid,簡稱suid許可權。suid限制 1 suid許可權僅對二進位制程式 可執行程式 有效。2 執行者對於該程式需要...

Linux檔案特殊許可權

檔案特殊許可權set uid set gid sticky bit 1 set uid 該許可權針對二進位制可執行檔案,使檔案在執行階段具有檔案所有者的許可權。比如 passwd具有該許可權 chmod u s filename filename必須是二進位制檔案 2 set gid 改許可權針對目...

Linux檔案特殊許可權

suid sgid sbit 先用ls l命令看一下下面幾個檔案或目錄的資訊 rwsr xr x.1 root root 25980 2月 22 2012 usr bin passwd rwx s x.1 root slocate 35612 8月 24 2010 usr bin locate dr...