檔案和資料夾的許可權

2021-09-14 01:19:44 字數 4846 閱讀 5018

(1)修改檔案的屬主和屬組

chown [option]... [owner][:[group]] file...

用法:owner

owner:group

:group

命令中的冒號可用. 替換

-r: 遞迴

chown [option]...--reference=rfile file...

範例:

[root@vinnywang wang]# ll

-rw-rw-r--. 1 wang wang 0 jun 26 21:48 a

-rw-rw-r--. 1 wang wang 0 jun 26 21:49 test

-rw-rw-r--. 1 wang wang 0 jun 26 21:49 test1

[root@vinnywang wang]# chown wang test

[root@vinnywang wang]# ll test

-rw-rw-r--. 1 wang wang 0 jun 26 21:49 test

修改檔案的屬組:chgrp

chgrp [option]... group file...

chgrp [option]... --reference=rfile file...-r

範例:

[root@vinnywang wang]# ll test1 

-rw-rw-r--. 1 wang wang 0 jun 26 21:49 test1

[root@vinnywang wang]# chgrp root test1

[root@vinnywang wang]# ll test1

-rw-rw-r--. 1 wang root 0 jun 26 21:49 test1

(2)修改檔案本身的許可權

許可權|檔案型別|讀|寫|執行|讀|寫|執行|讀|寫|執行|

-|-|-|-|-|-|-|-|-|-|-|-

許可權分配|(d,l,c,s,p,)|r|w|x|r|w|x|r|w|x

數字表示法||4|2|1|4|2|1|4|2|1

許可權分配||檔案所有者(u)|u|u|檔案所屬組(g)|g|g|其他人(o)|o|o

chmod [option]... octal-mode file...

-r: 遞迴修改許可權

chmod [option]... mode[,mode]... file...

mode:

修改一類使用者的所有許可權:

u= g= o= ug= a= u=,g=

修改一類使用者某位或某些位許可權

u+ u- g+ g- o+ o- a+ a- + -

chmod [option]...--reference=rfile file...

參考rfile 檔案的許可權,將file的修改為同rfile

範例:(分為數字法和字母法)

字母法:

-rw-r--r--. 1 root root 0 jun 26 21:54 test

-rwxr--r--. 1 root root 0 jun 26 21:54 test

數字法:

-rw-r--r--. 1 root root 0 jun 26 21:54 test

-rwxr--r--. 1 root root 0 jun 26 21:54 test

可以根據上邊的例子以此類推

可是為什麼我們建立的檔案或者資料夾會是固定的許可權呢?這個就是umask值的設定。

umask值可以用來保留在建立檔案許可權

新建file 許可權: 666-umask

如果所得結果某位存在執行(奇數)許可權,則將其許可權+1

新建dir 許可權: 777-umask

3.非特權使用者umask是 是 002

root 的umask 是 是 022

5.umask: 檢視

umask #: 設定

umask 002

umask –s 模式方式顯示

umask –p 輸出可被呼叫

全域性設定: /etc/bashrc

使用者設定:~/.bashrc

(3)linux 檔案系統上的特殊許可權
suid, sgid, sticky

前提:程序有屬主和屬組;檔案有屬主和屬組

任何乙個可執行程式檔案能不能啟動為程序, 取決發起者

對程式檔案是否擁有執行許可權

啟動為程序之後,其程序的屬主為發起者, 程序的屬組為

發起者所屬的組

程序訪問檔案時的許可權,取決於程序的發起者

可執行檔案上suid

任何乙個可執行程式檔案能不能啟動為程序:取決發起者對程式檔案是否擁有執行許可權

啟動為程序之後,其程序的屬主為原程式檔案的屬主

suid 只對二進位制可執行程式有效

suid 設定在目錄上無意義

chmod u+s file(檔案)

chmod u-s file(檔案)

可執行檔案上sgid

任何乙個可執行程式檔案能不能啟動為程序:取決發起者對程式檔案是否擁有執行許可權

啟動為程序之後,其程序的屬主為原程式檔案的屬組

chmod g+s file(檔案)

chmod g-s file(檔案)

目錄上的sgip許可權

預設情況下,使用者建立檔案時,其屬組為此使用者所屬的 主 組

一旦某目錄被設定了sgid,則對此目錄有寫許可權的使用者在此目錄中建立的檔案所屬的組為此目錄的屬組

通常用於建立乙個協作目錄

chmod g+s dir(檔案)

chmod g-s dir(檔案)

sticky位

具有寫許可權的目錄通常使用者可以刪除該目錄中的任何檔案,無論該檔案的許可權或擁有權

在目錄設定sticky位,只有檔案的所有者或root可以刪除該檔案

sticky 設定在檔案上無意義

chmod o+t dir...(目錄)

chmod o-t dir...(目錄)

許可權位對映

suid: user, 佔據屬主的執行許可權位

sgid: group, 佔據屬組的執行許可權位

sticky: other, 佔據other 的執行許可權位

資料夾的特殊許可權

chattr、lsattr

chattr [ -rvf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[asacddiijsttu]這些字元組合的,這部分是用來控制檔案的

屬性。

+ :在原有引數設定基礎上,追加引數。

- :在原有引數設定基礎上,移除引數。

= :更新為指定引數設定。

a:檔案或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁碟i/o錯誤的發生。

s:硬碟i/o同步選項,功能類似sync。

c:即compresse,設定檔案是否經壓縮後再儲存。讀取時需要經過自動解壓操作。

d:即no dump,設定檔案不能成為dump程式的備份目標。

j:即journal,設定此引數使得當通過mount引數:data=ordered 或者 data=writeback 掛 載的檔案系統,檔案在寫入時會先被記錄(在journal中)。如果filesystem被設定引數為 data=journal,則該引數自動失效。

s:保密性地刪除檔案或目錄,即硬碟空間被全部收回。

u:與s相反,當設定為u時,資料內容其實還存在磁碟中,可以用於undeletion。

各引數選項中常用到的是a和i。a選項強制只可新增不可刪除,多用於日誌系統的安全設定。而i是更為嚴格的安全設定,只有superuser (root) 或具有cap_linux_immutable處理能力(標識)的程序能夠施加該選項。

應用舉例:

1、用chattr命令防止系統中某個關鍵檔案被修改:

# chattr +i /etc/resolv.conf
然後用

mv /etc/resolv.conf
等命令操作於該檔案,都是得到operation not permitted的結果。vim編輯該檔案時會提示w10: warning: changing a readonly file錯誤。要想修改此檔案就要把i屬性去掉:

chattr -i   /etc/resolv.conf

# lsattr /etc/resolv.conf

會顯示如下屬性

----i-------- /etc/resolv.conf
2、讓某個檔案只能往裡面追加資料,但不能刪除,適用於各種日誌檔案:

# chattr +a /var/log/messages

linux檔案許可權和資料夾許可權解讀

使用ll命令可以檢視當前資料夾下所有檔案的具體資訊 輸出結果的第乙個字段就是描述檔案和目錄許可權的編碼。這個欄位的第乙個字元代表了物件的型別 之後有3組三字元的編碼。每一組定義了3種訪問許可權 這3組許可權分別對應物件的3個安全級別 x execute 該檔案具有可以被系統執行的許可權 linux檔...

Linux 檔案和資料夾的操作許可權

由於 linux 是多使用者作業系統,所以基於安全的考慮,需要具備保障個人隱私和系統安全的機制。因此在使用 linux 系統的時候,經常會出現許可權的問題 比如 刪除檔案 安裝軟體 執行應用等等 期初遇到這些問題的時候,大部分都使用sudo或者是sudo chmod 777 file 後面會講解這個...

Linux系統檔案和資料夾許可權總結

總結下linux許可權 順便複習下 概念 linux系統許可權操作分為 d 表示資料夾 表示檔案r 讀許可權,值為4w 寫許可權 值為2x 執行許可權 值為1 rw r r 1 root root 0jul 117 59 test file.c 表示 資料夾test dir擁有744許可權除了 第乙...