1. 程式人生 > >檔案目錄許可權管理

檔案目錄許可權管理

檔案目錄許可權管理

一、檔案資訊簡介
ls -l/-lR(遞迴) file(檢視檔案資訊)
-rw-rw-r–. 1 kiosk kiosk 0 Jan 3 20:16 unit4
1|2 |3 |4 | 5| 6 | 7 |8| 9 | 10

[2] 檔案擁有者對檔案能做什麼操作 ##r-----讀
[3] 檔案所有組對檔案能做什麼操作 ##w-----寫
[4] 其他人對檔案能做什麼操作 ##x-----訪問

[5]對檔案:檔案硬連結個數(檔案內容被記錄的次數)
對目錄:目錄中子目錄的個數
[6]檔案的所有人
[7]檔案所有組
[8]對檔案:檔案大小
對目錄:目錄中子檔案元資料(matedate)大小
[9]檔案內容被修改時間
[10]檔名稱

二、改變檔案的所有人和所有組

1)改變所有人

chown 使用者名稱 檔名/目錄名

2)改變所有組

chgrp 組名 檔名/目錄名

3)同時改變所有人和所有組

chown 使用者名稱:組名 檔名/目錄名

三、改變檔案的許可權
1)對檔案讀寫許可權的理解
1.r
對檔案:是否可以檢視檔案的內容 cat file
對目錄:是否可以檢視目錄中有什麼子檔案或者子目錄 ls dir
2.w
對檔案:是否可以改變檔案裡記錄的字元
對目錄:是否可以對目錄中的子目錄或者子檔案的元資料進行修改
3.x
對檔案:是否可以通過檔名稱呼叫檔案內記錄的程式
對目錄:是否可以進入目錄

2)檔案讀寫許可權更改方式

chmod   u/g/o|+/-/=|r/w/x  file|dir

例:
chmod u+w /mnt/file
chmod -r /mnt/file ##相當於u-r,g-r,o-r
chmod u+w,g+x /mnt/file
chmod ug+r /mnt/file

3)更簡潔的數字命令

r=4, w=2, x=1

數字所對應命令
0=- - -
1=- -x
2=-w-
3=-wx
4=r- -
5=r-x
6=rw-
7=rwx

例:chmod 777 file = chmod ugo=rwx file

四、umask 檢視系統建立檔案預設保留的權力
1)臨時設定umask

umask 077       ##臨時設定系統預留許可權為077

2)永久更改umask

vim /etc/profile    ##系統配置檔案
59 if [ $UID -gt 199]&&[''`id -gn`''=''`id -un`''];then
60      umask  002                 ##普通使用者的umask
61 else
62      umask  022                 ##超級使用者的umask
##更改相應的umask的值,使用者重新登陸生效!59/60/61/62為命令在檔案裡所在行數
source /etc/profile       ##讓更改立即生效

70     if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; th    en
71        umask 002
72     else
73        umask 022
74     fi

source /etc/bashrc

五、特殊許可權
1、sticky ##粘制位
作用:
只針對目錄生效,當一個目錄上有sticky許可權時,
在這個目錄中的檔案只能被檔案的所有者刪除

設定方式:
        chmod o+t dir      ##-rwxrwxrwx變為-rwxrwxrwt
        chmod 1xxx dir     ##xxx為數字,有更改許可權作用
解除方式:
        chmod o-t dir      ##-rwxrwxrwt變為-rwxrwxrwx
        chmod xxx dir

2、sgid ##強制位
作用:
對檔案: 只針對與二進位制可執行檔案
當檔案上有sgid時,任何人執行此檔案產生的程序都屬於檔案的組
對目錄: 當目錄上有sgid許可權時,任何人在此目錄中建立的檔案都屬於目錄的所有組

設定方式:
       chmod g+s  file|dir
       chmod 2xxx file|dir   

在這裡插入圖片描述

解除方式:
      chmod g-s file|dir
      chmod xxx file|dir

3、suid ##冒險位
只針對與二進位制可執行檔案
當檔案上有suid時,任何人執行這個檔案中記的程式產生的程序都屬於檔案的所有人

設定方式:
        chmod u+s file
        chmod 4xxx file

在這裡插入圖片描述

解除方式:
        chmod u-s file
        chmod xxx file
    

六、acl許可權列表
1、作用
讓特定的使用者對特定的檔案擁有特定許可權
2、acl列表檢視
drwxrwxr-x+ 2 root root 6 Jan 3 23:57 666
^
acl開啟標誌

getfacl file1  ##檢視acl開啟的檔案的許可權

檔案資訊解釋:

#file: file1  ##檔名稱file1
#owner: root  ##檔案擁有者
#group: root  ##檔案擁有組
user::rwx      ##檔案擁有人的權力
user:hahaha:rwx ##指定使用者hahaha的許可權
group::r-x     ##檔案擁有組的權力
mask::rwx      ##能賦予使用者的最大權力伐值
other::r-x     ##其他人的權力

3、acl操作
1)getfacl file1 ##檢視檔案許可權
在這裡插入圖片描述
2)setfacl -m u:username:rwx file ##設定username對file擁有rwx許可權
在這裡插入圖片描述
3)setfacl -m g:group:rwx file ##設定group組成員對file擁有rwx許可權
在這裡插入圖片描述
4)setfacl -x u:username:rwx file ##從acl列表中刪除username

5)setfacl -b file ##關閉file上的acl列表
在這裡插入圖片描述
4、mask值
在許可權列表中mask表示能生效的權力值
當用chmod減小開啟acl檔案許可權時,mask值會發生改變

chmod g-w file

在這裡插入圖片描述
恢復mask:

setfacl -m m:rw file

在這裡插入圖片描述
5、acl的預設許可權設定
acl預設許可權只針對目錄決定
‘‘acl許可權只針對設定完成之後新建立的檔案或者目錄生效,而已經存在的檔案不會繼承預設許可權’’

setfacl -m d:u:使用者名稱:rwx /mnt/file
setfacl -k /mnt/file