一.文件權限
文件屬性操作:
修改文件權限:
1,模式法
chmod?? who opt? per?? file??? //修改文件權限
who : u 所有者? ??g所屬組?? ?????o其他?? ???a 所有
opt:???? +添加?????? -刪除??? ???=覆蓋
per:? ?r讀? ?????w 寫? ?????x執行
特殊X權限: 只給目錄x權限,不給文件;
但是如果文件的所有者有執行權限,也會加執行權限
chmod??? -R?? a+x???? dir1??? //對dir1下的所有文件加執行權限
chown??? //修改文件所有者
-R? 遞歸
chown? wang.g1?? dir1或? chown? wang:g1?? dir1?? //修改所屬主和組
chgrp??? //設置文件的屬組信息?? -R? 遞歸
chmod? –reference=f1?? f2? f3???? //參考文件1的權限,給文件2和3設置權限
- 數字法:r —-4;w—–2;x—-1
Chmod?? 764? file
文件權限: (r 讀;?? w? 更改; x 運行)
目錄權限:(r 列出目錄文件列表; w 可以在目錄中建立或者刪除文件;? x? 不能cd,不能查看目錄文件內容;不能查看目錄中文件的詳細屬性)
- 普通用戶不能修改文件的所有者
- 普通用戶可修改主組,但是要求該文件必須在該組中
- 刪除文件得權限是由目錄決定的
- 如若root用戶沒有執行權限,也不允許執行該文件
- 對于讀寫權限,rooot用戶是不受控的,有沒有都可以進行讀或追加操作;普通用戶對于權限是嚴格受控的
- 二進制的文件的讀寫權限不是必須的,但如果沒有讀權限,不能判斷該文件的類型
- 如果目錄沒有x執行權限:不能cd;不能查看目錄文件內容;不能查看目錄中文件的詳細屬性
- 用戶獲取文件權限的順序:先看所有者,再看所屬組,最后看其他,一旦匹配既不在獲取
- Linux文件的權限,所有者所屬組等這些特性,是由文件系統決定的
- 如若想目錄下的文件能夠運行,目錄至少要有執行權限
二.umask默認權限
umask? 間接影響創建文件目錄的默認權限(內部命令)
umask?? 功能:取消對應的權限
umask+default=777(目錄)
umask+default=666(文件)
666-umask
觀察結果:1. 有偶數:最終結果為default
- 有奇數:最終結果加1就是default
?
umask??? //顯示當前目錄umask的值;也可用來修改umask值
-p???? //輸出可被調用????? umask? -p?? >>.bashrc?? //將默認umask寫入文件
-s???? //得到默認權限
.bashrc 中保存umask值
管理員用戶的umask和普通用戶的不同,在/etc/bashrc中定義了
三.特殊權限
文件系統上的特殊權限:
- suid 只適合作用在二進制可執行程序上,不能作用在script腳本上
執行 suid權限程序時,此用戶將繼承此程序的所有者權限
chmod???? u+s????? /bin/user/nano (chmod???? 4755????? /bin/user/nano)? //給nano加上suid權限
chmod? u-s???? 或?? chmod??? 755???? //即可實現取消suid權限
- sgid 執行 sgid權限程序時,此用戶將繼承此程序的所有組權限
如果做用在目錄上,此目錄創建新的文件,將自動繼承目錄的所屬組
chmod?? g+s?? /bin/cat(? chmod?? 2755?? /bin/cat)
chmod?? g+s?? dir1???? //實現此后創建的新文件都自動繼承目錄的所屬組
3, sticky?? 粘滯位 (只能作用在目錄;相對于普通用戶來說:具有sticky權限的目錄,只能自己刪除自己的文件)此目錄文件只能被所有者刪除
chmod??? o+t???? /app(chmod?? 1777?? /app)
?
4, ??chattr? 可實現對重要文件的保護
chattr?? +i?? f2?????? //不允許刪除該文件 ,不能更改內容,不能改名
chattr?? -i??? f1??? //撤銷
chattr?? +a???? //只允許追加內容,不允許刪除文件,不允許改名
chattr?? -a?????? //撤銷鎖定
chattr? +A???? //鎖定讀時間
lsattr??? //用來查看文件特定屬性
四.acl訪問控制列表
acl? 訪問控制列表:實現靈活的權限管理
setfacl?? -m? u:wang:rw? f1? //對wang賬戶添加rw權限
setfacl?? -m? g:opts:rw? f1???? //對組opts添加rw權限
getfacl?? f1??? //可查看f1的acl權限
setfacl?? -x??? g:g2? f1 //刪除組的acl權限
setfacl ???–b? f1?? //清空acl的全部內容
setfacl? -m?? d:u:wang:rx?? directory??? //默認之后創建的文件具有王的權限
setfacl?? -M?? 文件名??? f1??? //批量設置acl權限
setfacl?? -X?? 文件名??? f1?? //批量撤銷acl
setfacl -k directory //清空默認acl權限
getfacl? f1 |setfacl? –set-file=-?? f2?? //復制f1 的權限給f2
setfacl?? –set? //重設權限,覆蓋原權限
setfacl? –restore?? 文件名?? //還原acl
?
mask:定義了除所有者和other的最高權限
setfacl? -m mask::r?? f1 //可限制除所有者和other的最高權限,最終有效權限為r
?
acl的優先級:先匹配所有者,在看([自定義的用戶權限,再匹配自定義組權限? ]?? 受mask影響)及其他
?
?
?
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94910