Linux 系統文件屬性與權限

一、文件權限

1.文件屬性的查看

ls -l filename

輸入ls -l file1
-|rw-rw-r--|1| kiosk| kiosk|  0 |Jul  19 14:06 |file1

這裏寫圖片描述

1)”-“:文件類型

-   ##普通文件
d   ##目錄
c   ##字符設備
s   ##套接字
p   ##管道
b   ##快設備
l   ##連接

2).”rw-r–r–”:文件讀寫權限
rw-|rw-|r–
* $ @

*所有人的權限
$所有組的權限
@其他人的權限

3) “1”:

對件:文件內容被系統記錄的次數
對目錄:目錄中文件屬性的字節數

4)”kiosk”:

文件所有人

5)”kiosk:

文件所有組

6)”0”:

文件內容的大小

7)”Jul 19 14:06”:

文件最後一次被修改時間,不是最後一次打開時間

8)“file1”

文件名字

2.文件所有人所有組的管理

chown username file|dir ##更改文件的所有人
chown username.groupname file|dir ##更改所有人所有組
chown-R username dir ##更改目錄本身及裏面所有內容的所有人 (需要加參數R)
chgrp -R groupname dir ##更改目錄本身及裏面所有內容的所有組

將file123的文件的所有人改成student,所有組改成root
用ls -l 命令查看更改後file123的屬性

這裏寫圖片描述

這裏寫圖片描述

監控命令(用此命令來監控 /mnt目錄下的文件發生的變化)

watch -n 1 ls -lR /mnt   
##-n 1表示每一秒監控一次,系統的默認是2秒一次,watch -n=watch -n 2 

3.文件普通權限

1)rw-|r–|r–
u g o

u:文件所有人對文件可以讀寫
g:文件組成員對文件可讀
o:其他人對文件可讀
u優先匹配,g次優先,o等於u,g不匹配時匹配
U=O>g

2)r

對文件:可以查看文件中的字符
對目錄:可以查看目錄中文件的信息

3)w

對文件:可以更改文件內字符
對目錄:可以在目錄中添加刪除文件
##

4)x


對文件:可以運行文件內的記錄的程序動作
對目錄:可以進入到目錄裏面
##對於目錄底下的文件或者目錄實行權限時,
必須具備上一層目錄的進入權限即執行權限X,例如/etc/passwd,對passwd修改時就必須先獲得進人/etc的權限

5)字符方式修改該文件權限
chmod [-R]

chmod   修改後權限值  file
chmod   777 file

7=rwx
6=rw-
5=r-x
4=r–
3=-wx
2=-w-
1=–x
0=—

file目錄下的feij的用戶和用戶組加x的權限
對file目錄下的feij123的所有人,所有組,其他人滿權限
對file目錄下的feij~的所有人,所有組,其他人零權限。即禁止做任何操作。

這裏寫圖片描述

4.系統默認權限的設定

從系統存在角度來說,開放權力越大,系統存在意義越高
從系統安全角度來說,開放權力越少,系統安全性越高
所以系統設定新建文件或目錄會去掉一些權限
設定方式

umask       ##查看系統保留權限默認爲022
umask 077   ##修改該系統保留權限爲666,此設定爲臨時設定,只當前shell中生效

這裏寫圖片描述

永久設定方式:

vim /etc/bashrc     ##shell
 70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 71        umask 002    ##普通用戶umask
 72     else
 73        umask 666    ##超級用戶umask                                                                      
 74     fi

vim /etc/profile    ##系統
 59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 60     umask 002   ##普通用戶umask
 61 else
 62     umask 666      ##超級用戶umask                                                                                         
 63 fi

執行命令 vim source /etc/bashrc
        vim source /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/

+  表示file1、file2有權限列表

這裏寫圖片描述

getfacl /westos/
file: westos/ ##文件名稱
owner: root ##文件所有人
group: root ##文件所有組
user::rwx ##擁有者權限
user:student:rwx ##特殊用戶權限
group::— ##組權限
mask::rwx ##權限掩碼
other::— ##其他人權限

注意:當文件上有權限列表時,ls -l 能看到的權限是假的

2、設定acl列表

1)設定
setfacl -m

-m     #設定
u      #用戶
g      #組

2)刪除列表中的用戶或者組####
setfacl -x

mask用來標實能夠賦予用戶最大權限
當用chmod改變文件普通權限時可能會被破壞
修復
setfacl -m m:rwx 文件名稱

5)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
發佈了41 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章