7.1檔案的基本許可權:rwx (ugo)
7.2檔案的特殊許可權:suid sgid sticky和檔案擴充套件許可權acl
7.3建立乙個讓root都無法刪除的檔案
7.1檔案的基本許可權
7.1.1 許可權的作用
通過對檔案設定許可權可以達到以下三種訪問限制許可權:
只允許使用者自己訪問;
允許乙個預先指定的使用者組中的使用者訪問;
允許系統中的任何使用者訪問。
7.1.2 檢視許可權
檔案型別
p表示命名管道檔案
d表示目錄檔案
l表示符號鏈結檔案
-表示普通檔案
-表示socket套介面檔案,比如我們啟用mysql時,會產生乙個mysql.sock檔案
c表示字元裝置檔案 例:虛擬控制台 或tty0
b表示塊裝置檔案 例:sda cdrom
7.1.3 許可權說明
對於檔案來說
讀寫執行 cat vim echo 編輯 指令碼執行
對於目錄來說
r: ls
w: touch mkdir rm mv cp
x:cd
7.1.4 檔案擁有者
ugo:所有者–使用者組–其他使用者·
更改檔案屬主屬組命令
chown root:root /檔案或者目錄
chown root: /檔案或目錄 屬主屬組都改為root
chown :root /檔案或目錄 只更改屬組為root
chown -r (遞迴) 目錄下所有內容都改 否則只修改目錄
乙個檔案只有讀的許可權,擁有著可以寫這個檔案 vim寫入 wq!
7.1.6 修改許可權
命令chmod
對誰操作:
u----使用者
g----使用者組
o----其它使用者
a----所有使用者 u+g+o
操作符 +新增許可權 -減少許可權 =直接給定乙個許可權
使用八進位制(0-7)數字表示許可權法
許可權 二迚制值 八迚制值 描述
— 000 0 沒有任何許可權
–x 001 1 只有執行許可權
-w- 010 2 只有寫入許可權
-wx 011 3 有寫入和執行許可權
r-- 100 4 只有讀叏許可權
r-x 101 5 有讀叏和執行許可權
rw- 110 6 有讀叏和寫入許可權
rwx 111 7 有全部許可權
rwx 421
stat -c %a 數字許可權如755
stat -c %a 字母 rwxr-xr-x
補碼檔案預設許可權=666
目錄預設許可權=777
建立檔案的預設許可權從哪來
/etc/profile
我們一般在/etc/profile、$ [home]/.bash_profile 戒$[home]/.profile 中設定 umask 值。
永麗生效,編輯使用者的配置檔案 vim .bash_profile
if [ $uid -gt 199 ] && [ 「/usr/bin/id -gn
」 = 「/usr/bin/id -un
」 ]; then
umask 002
else
umask 022
fi**注:**uid大於199且使用者的組名和使用者名稱一樣 那麼umask值為002 否則為022
-gt在shell中表示大於;id -g 顯示使用者組id
id -gn顯示組名
許可權一般演算法
目錄預設許可權-umask值
666-022=644
777-022=755
許可權科學的計算方法:
1、將預設許可權(目錄 777,檔案 666)和 umask 值都轉換為 2 迚制
2、對 umask 叏反
3、將預設許可權和 umask 叏反後的值做不運算
4、將得到的二迚制值再轉換 8 迚制,即為許可權,
例 1: umask 為 022
6 6 6 umask 0 2 2
110 110 110 000 010 010 # 轉成二迚制
111 101 101 # umask 叏反的值
110 110 110 不 #第二步,預設許可權和 umask 叏反後的值做不運算
111 101 101 # umask 叏反的值
110 100 100
6 4 4 #轉成 8 迚制
例 2: umask 為 033 結果為: 644
6 6 6 umask 0 3 3
110 110 110 000 011 011 # 轉成二迚制
111 100 100 # umask 叏反的值
110 110 110 不 #預設許可權和 umask 叏反後的值做不運算
111 100 100 # umask 叏反的值
110 100 100
6 4 4 #轉成 8 迚制
7.2檔案的特殊許可權:suid sgid sticky和檔案擴充套件許可權acl
檔案的特殊許可權
1、suid(set uid 設定使用者id:)限定:只能設定在二進位制可執行程式上面,對目錄設定無效
功能:程式執行時的許可權從執行者變更成程式所有者的許可權
2、sgid:限定:既可以給二進位制可執行程式設定,也可以對目錄設定
功能:在設定了sgid許可權的目錄下建立檔案時,新建立的檔案的所屬組會,繼承上級目錄的所屬組
3、stickybit:粘滯位許可權是針對目錄的,對檔案無效,也叫防刪除位
這三個特殊許可權對應的數值為
siud——u+s或u=4
sgid——g+s或g=2
stickybit——o+t或o=1
suid屬性一般用在可執行檔案上 當使用者執行該檔案時,會臨時擁有該執行檔案的所有者許可權
ll 檔案許可權u 第三位會有乙個代替x的小s
例如 /usr/bin/passwd
實際使用如
普通使用者沒有刪除某檔案許可權
如賦予rm命令 u+s suid的許可權 即可在執行時臨時擁有所有者許可權 並刪除
sgid:
限定:既可以給二進位制可執行程式設定,也可以給目錄設定
功能:在設定了sgid許可權的目錄下建立檔案時,新建立的檔案的所屬組會繼承上級目錄的許可權
建立乙個檔案test
給g+s許可權 再給此目錄下新建檔案會繼承test的許可權 例 屬組為kylin 目錄下建立檔案屬主也為kylin
stickybit
限定:只作用於目錄
功能:目錄下建立的檔案只有root、檔案建立者、目錄所有者才能刪除。
例:系統中的tmp目錄就是這樣
一般用於共享目錄 防止刪除其它使用者檔案
7.2.1 檔案擴充套件許可權acl
擴充套件acl :access control list
命令格式:
getfacl 檔名 (檢視該檔案/目錄許可權)
setfacl -m u:user:rwx /file
目錄設定acl
setfacl -m d:u:kk:rwx acltest/
#-d default 設定預設acl 對目錄有效 此目錄下新建的檔案都繼承此acl許可權
設定acl前 drwxr-xr-x 2 root root 4096 apr 1 16:57 acltest/
設定acl後 drwxr-xr-x+ 2 root root 4096 apr 1 16:57 acltest/
給目錄下所有檔案都加擴充套件許可權
setfacl -r -m d:u:kz:rwx acltest/
去除許可權
setfacl -x u:user:rwx /file
#去掉單個許可權
setfacl -b /檔案或目錄
#去掉所有acl許可權
命令:chattr
引數:+a 只能追加內容 +i 不能被修改
+i:即 immutable,系統丌允許對這個檔案迚行任何的修改。如果目錄具有這個屬性,那舉任何的迚程只能修
改目錄之下的檔案,丌允許建立和刪除檔案。
chattr +a/+i /file
lsattr -a/-i /file
a為可追加內容
i為不可修改 即編輯、刪除、增加內容等
2019-4-1
Centos7檔案管理
bin 存放常用命令,普通使用者也可執行。usr 系統存放程式的目錄。dev 存放裝置檔案。home 使用者家目錄 etc 存放配置檔案 顯示當前目錄 pwd 切換到目錄的父目錄 cd 切換到當前目錄下的某乙個目錄 cd 切換到使用者家目錄 cd 切換到前乙個工作目錄 cd 命令格式 ls 選項 目...
Centos7 檔案許可權管理相關分享
通過對檔案設定許可權可以達到以下三種訪問限制許可權 只允許使用者自己訪問 允許乙個預先指定的使用者組中的使用者訪問 root localhost ll home 1.txt rw r r 1 root root 0 feb 24 20 16 home 1.txt rw r r 1 root root...
Centos7 檔案許可權理解(持續更新)
後期排版,邊學邊記邊敲 使用者詳情分析 管理員使用者 root 0虛擬使用者 nobody 1 999 普通使用者 test001 1000 輸入ll命令檢視當前目錄檔案詳情 根據這張可知,目錄是帶有d的,檔案則開頭用 表示 r 讀許可權 4 w 寫許可權 2 x 執行許可權 執行許可權 1 屬主 ...