chmod 更改權限
- 語法
1 who 對誰操作 opt做什么操作 per 跟什么權限 跟文件
who u g o a
opt +增加 -減掉 =覆蓋
per rwx
reset 重復系統
文本文件
r 讀 打開
w 改
x 執行程序
chown 更改所有者
chgrp 更改所屬組
chmod who (u) opt (g)per(o) file文件
綠色有執行權限
- 執行權限對所有人包括root 都影響
但 讀權限和寫權限對ROOT 沒影響
- 目錄沒有執行權限 不能cat、能cd 也不能查看他的內容
- r x 目錄的基本權限
- 目錄有 執行 和 寫的權限 就可以刪除 里面的文件
- 沒有讀權限 就不知道里面有誰 和 查看文件列表
- 權限是從 所有者 所有組 到其他人 依次生效 就算最后都有rwz 也不看
- 普通用戶可以 更改文件所屬的所屬組 只能更改屬于自己的所屬組 作為該組的主組
- vfat的文件系統 修改不了權限
- 普通用戶無法修改文件的所有者
- 刪除文件不是對文件的寫權限 而是對目錄的寫 權限
- chmod –reference= f1 f2 f3 參考f1 把f2 f3 改成f1 (參考一個文件的權限 修改成它一樣的權限)
數字法

基數的話 有執行權限
- chomd -R a+x dir1 dir1 目錄下的 所有文件或者文件夾都添加執行權限
- +X 只針對dir1 下的目錄下加執行權限 不對他目錄下的文件加執行權限 (u g o 都會加) (如果已經有執行權限的目錄也會執行權限 )
- 只有對目錄有執行權限 就可以對它的目錄下的文件有查看能力
- umask (掩碼) 取消對應的權限 文件夾777 文件666
對于目錄 umask+default=777
對于文件 666-umask 對結果觀察 如果有奇數 就加1 偶數不變
umask 寫到文件 .bashrc
umask -p 相當于顯示 umask 0**>>.bashrc
umask -s 顯示u g o 的 rwz 形式查看
- suid (繼承二進制程序 (U)所有者的權限)當一個程序是suid 用戶訪問文件 可以臨時代替文件的所有者
- 4 表示suid
- 作用在二進制的可執行的程序上(二進制的程序)其他的文件 文件夾無效
- sgid (1 繼承二進制程序所有組的權限 2 作用于目錄 此目錄新建的文件繼承目錄的所屬組)
- 2 表示 sgid
- chmod g+s 目錄 組 2表示sgid
- sticky 粘滯位 (作用于目錄 此目錄的文件只能被所有者刪除 其他用戶不能刪除) 其他人可以在里寫東西 不能刪除目錄 不能刪除文件 只用在文件夾上的 。 做用在團隊在一個文件里都可以讀寫 不能刪除 作用在
- 1表示 sticky chmod o+t lujin
chattr 針對特別的文件加以保護 避免誤操作
chattrr +i 不能刪除 不能改名 不能nano不能追加
chattr – i 解鎖
chattr +a 不能刪除 不能改名不能 nano 可以追加(ehco)
-a
+A 讀時間 不能更改
lsattr s 看加的鎖
acl訪問控制列表 文件系統ext 系列的支持 acl
setfacl -m u :wang:0 f1
setfacl -m u:mage:rw f1
-x 刪除用戶或組的名稱
–
-M 批量添加文件 事先編輯好 要在acl表 的用戶和組 如下
cat > acl .txt
u:wang:rx
g:g1:rw
g:g2:x
setfacl -M acl.txt f1(文件)
-X 批量刪除文件 操作如下
cat > acl .txt 1
u:wang:rx
g:g2:x
setfacl -X acl.txt f1 就刪除上面兩項 留下 g:g1:rw
getfacl file1 |setfacl –set-file=- file2 復制file1的acl 權限給file2
setfacl -m mask ::r f1(文件) 設置除了所有者 和other 之外 自定的組啊 用戶啊的權限都不能超過mask(限高)(相當于g的權限)
setfacl 實施順序 先看所有者 在看自定義用戶 再看自定義組 再就是other
getfacl 文件名 查看acl 表
setfacl -b 刪除acl的所有權限
啟動 acl 之后就不是原來的權限了 是mask 權限
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95368