1. 程式人生 > >linux下檔案許可權更改

linux下檔案許可權更改

檔案許可權

#####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