linux下檔案許可權更改 阿新 • • 發佈:2018-12-20 檔案許可權 #####1.檔案屬性的檢視 ls -l filename -|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename — ————————— — ———— ———— —— ———————————— ———————— 1 2 3 4 5 6 7 8 1."-":檔案型別 - ##普通檔案 d ##目錄 c ##字元裝置 s ##套接字 p ##管道 b ##快裝置 l ##連線 2."rw-r--r--":檔案讀寫許可權 rw-|r--|r-- u | g | o u所有人的許可權 g所有組的許可權 o其他人的許可權 3."1": 對檔案:檔案內容被系統記錄的次數 對目錄:目錄中檔案屬性的位元組數 4."root":檔案所有人 5."root":檔案所有組 6."46":檔案內容的大小 7."Oct 1 05:03":檔案最後一次被修改的時間 8."filename":檔名字 ####2.檔案所有人所有組的管理 chown username file|dir ##更改檔案的所有人 chgrp groupname file|dir ##更改所有組 chown -R username dir ##更改目錄本身及裡面所有內容的所有人 chgrp -R groupname dir ##更改目錄本身及裡面所有內容的所有組 監控命令 watch -n 1 ls -lR /mnt ####3.檔案普通許可權#### rw-|r--|r-- u g o u:檔案所有人對檔案可以讀寫 g:檔案組成員對檔案可讀 o:其他人對檔案可讀 u優先匹配,g次優先,o=u,g不匹配時匹配 1.r 對檔案:可以檢視檔案中的字元 對目錄:可以檢視目錄中檔案的資訊 2.w 對檔案:可以更改檔案內字元 對目錄:可以在目錄中新增刪除檔案 3.x 對檔案:可以執行檔案內記錄的程式動作 對目錄:可以進入目錄中 4.字元方式修改該檔案許可權 chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir chmod u-x file1 ##file1擁有者去掉x許可權 chmod g+w file1 ##file1擁有組新增w許可權 chmod u-x,g+w file1 ##file1擁有者去掉x權,file1擁有組新增w許可權 chmod ugo-r file2 ##file2的使用者組其他人去掉r許可權 chmod ug+x,o-r file3 ##file3使用者和組新增x許可權,其他人去掉r許可權 5.數字方式修改該檔案許可權 在linux中 r=4 w=2 x=1 檔案許可權數字表示方式 rw-|r--|r-- u g o u=rw-=4+2+0=6 g=r--=4+0+0=4 o=r--=4+0+0=4 所以檔案許可權表示為644 chmod 修改後許可權值 file chmod 777 file 7=rwx 6=rw- 5=r-x 4=r-- 3=-wx 2=-w- 1=--x 0=--- ####4.系統預設許可權的設定#### 從系統存在角度來說,開放權力越大,系統存在意義越高 從系統安全形度來說,開放權力越少,系統安全性越高 所以系統設定新建檔案或目錄會去掉一些許可權 設定方式 umask ##檢視系統許可權預設umask值為022 umask 077 ##修改該系統umask為077,此設定為臨時設定,只當前shell中生效 檔案許可權為:777-umask 永久設定方式: vim /etc/bashrc ##shell vim /etc/profile ##系統 以上兩個檔案umask設定值必須保持一致 source /etc/bashrc source /etc/profile 設定立即生效 ######5.檔案的訪問控制(acl列表) 1.acl定義 acl = access control 指定特殊使用者對特殊檔案有特殊許可權 drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/ ^ 表示/westos目錄時有許可權列表 getfacl /westos/ # file: westos/ ##檔名稱 # owner: root ##檔案所有人 # group: root ##檔案所有組 user::rwx ##擁有者許可權 user:student:rwx ##特殊使用者許可權 group::--- ##組許可權 mask::rwx ##許可權掩碼 other::--- ##其他人許可權 注意:當檔案上有許可權列表時,ls -l 能看到的許可權是假的 2設定acl列表 ###設定## setfacl -m u|g:<usernamegroupname:許可權 檔案|目錄 -m #設定 u #使用者 g #組 setfacl -m d:<u|g>:<username|groupname>:quanxian mulu ##刪除列表中的使用者或者組#### setfacl -x u|g:username|groupname 檔案|目錄 ##關閉列表 setfacl -b 檔案|目錄 ####acl 預設許可權###### 當我們需求某個目錄對於student可寫,並且目錄中新建的子目錄對student也可寫 就要設定預設預設許可權 注意: 預設許可權只對目錄中新建立的檔案或者目錄生效,對已經建立的檔案無效, 對於目錄本身也無效 setfacl -m d:u:student:rwx /westos ####6.特殊許可權#### 1.suid ##冒險位 之針對二進位制可執行檔案, 檔案內記錄的程式產生的程序的所有人為檔案所有人 和程序發起人身份無關 設定方式: chmod u+s file suid=4 chmod 4xxx file 2.sgid ##強制位 對檔案:只針對二進位制可執行檔案, 任何人執行二進位制檔案 程式時程式產生的程序的所有組都是檔案的所有組 和程式發起人組的身份無關 對目錄:當目錄有sgid許可權後,目錄中新建的所有檔案的所有組 都自動歸屬到目錄的所有組之中,和檔案建立者所在的組無關 設定方式: chmod g+s file|dir sgid=2 chmod 2xxx file|dir 3.sticky ##粘制位 t許可權: 只針對與目錄,當一個目錄上有t許可權,那麼目錄中的檔案只能被檔案的擁有者刪除 設定方式: chmod o+t direcotry t=1 chmod 1777 direcotry