linux文件目錄屬性管理
1.文件屬性查看
1.文件屬性
ls -l file
- rw-rw-r-- 1 kiosk kiosk 0 Oct 2 17:05 file
[1] [2] [3] [4] [5] [6] [7] [8]
[1] 文件類型
d #目錄
s #socket套接子
l #軟鏈接
p #管道
c #字符設備
b #塊設備
[2] ##讀寫權限
rw-|rw-|r--
@ $ *
@ #文件擁有者對文件能做的動作
$ #文件所在組的組成員能對文件做的動作
* #其他人對與文件能做的動作
[3] #文件內容被系統記錄的次數
[4] #文件擁有者
[5] #文件所在組
[6] #文件大小
[7] #文件最後一次被更改的時進
[8] #文件名稱
2.查看目錄屬性
ls -ld directoy
d rwxr-xr-x 3 kiosk kiosk 33 Aug 27 09:47 directory
[1] [2] [3] [4] [5] [6] [7] [8]
[1] ##類型(同文件)
[2] ##權限
[3] ##子目錄個數
[4] ##目錄擁有者
[5] ##目錄所在組
[6] ##目錄中內容的屬性的大小
[7] ##目錄中文件增加或減少或被更名的時間
[8] ##目錄名稱
3.文件用戶組的更改
chown 用戶名稱 文件 ##更改文件所有人
chgrp 組名稱 文件 ##更改文件所有組
chown -R 用戶 目錄 ##更改目錄本身以及目錄中的子文件的所有人
chgrp -R 組名 目錄 ##更改目錄本身以及目錄中的子文件的所有組
4.權限的識別
ls -l 中2-10字符爲文件權限
rwx r-x r-x
用戶權限(u) 組成員權限(g) 其他用戶權限(o)
權限種類
r
r權限針對文件,表示可以查看文件內容
r權限針對目錄,表示可以ls 查看目錄中存在的文件名稱
w
w權限針對文件,表示可以更改文件的內容
w權限針對目錄,表示是否可以刪除目錄中的子文件或者子目錄
x
x權限對於文件,表示是否可以開啓文件當中記錄的程序
x權限對於目錄,表示是否可以進入目錄中
權限的修改
chmod ugo+-=rwx
u=rwx=7 |g=rwx=7|o=rwx=7
421
u=rw-=6 g=r--=4 o=r--=4 644
r=4
w=2
x=1
-=0
7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---
文件的默認權限
umask ##顯示系統預留權限值
umask 077 ##臨時修改umask值
##永久修改
vim /etc/bashrc 71行是普通用戶的更改,73是超級用戶的更改
vim /etc/profile 60行是普通用戶的更改,62是超級用戶的更改
source /etc/bashrc ##刷新bash配置
source /etc/profile ##刷新系統配置
注:內核默認對文件保留111的權限!!
特殊權限
我們先建立組:shengchan jishu caiwu 建立用戶:lee tom hello,並使lee是shengchan組的附加用戶,tom是jishu組的附加用戶,hello是caiwu組的附加用戶
stickyid ###強制位
o+t ###之針對目錄,當一個目錄上有t權限時,這個目錄中的文件只能被文件擁有者刪除
t=1
格式:chmod o+t directroy
chmod 1777 directory
我們建立/pub目錄並給他777權限,切入到lee用戶在/pub目錄中建立file文件,再切換的tom用戶中可以刪除/pub/file:
使用強制位之後:
顯示不可刪除
sgid ###粘制位
g+s ##針對目錄,在目錄中創建的文件都自動歸屬到目錄所在組,針對二進制文件,文件內記錄的程序在執行時和執行者的組身份沒有關係,而是以二進制文件的所有組的身份執行的
chmod g+s file|directory
chmod 2777 file|directory
suid ###冒險位
u+s ###針對文件,文件記錄動作在執行時是一文件所有人身份執行的,與是誰發起的無關
chmod u+s file
chmod 4777 fileg+s
7.權限列表
acl ##指定特定的用戶對特定的文件擁有特殊權力
-rw-rwx---+ 1 root root 0 Mar 28 02:39 file
^
權限列表開啓
那麼這個文件的普通權限也在權限列表中識別,ls -l 看到的權限是不準確的
#查看
getfacl /mnt/file
#內容如下:
file: mnt/file #文件名稱
# owner: root #文件的擁有者
# group: root #文件的組
user::rw- #文件擁有者的權限
user:westos:rw- #特殊指定用戶的權限
group::--- #文件組的權限
group:student:rwx #特殊指定組的權限
mask::rwx #權限最大值
other::--- #其他人的權限
##設定
setfacl -m u:lee:rwx /mnt/file #設定lee用戶對file文件可以讀寫執行
setfacl -m g:student:rwx /mnt/file #設定student組對文件可以讀寫執行
setfacl -x u:lee /mnt/file #在權限列表中刪除用戶lee的信息
setfacl -x g:student /mnt/file #在權限列表中刪除student組的信息
setfacl -b /mnt/file #關閉權限列表那麼,"+"消失
##mask值
#mask值是能夠賦予用戶權限的最大值
#當設定acl列表後,如果用chmod命令縮小文件的權限,那麼mask值會被更改
#
chmod 600 /mnt/file #做這樣的動作mask值會發生改變
#####在更改前#####
file: mnt/file
owner: root
# group: root
user::rw-
user:lee:rwx
group::---
mask::rwx
other::---
#####更改後######
file: mnt/file
owner: root
# group: root
user::rw-
user:lee:rwx #effective:--- 此位置表示有效的權力
group::---
mask::---
other::--
###恢復###
setfacl -m m:rwx /mnt/file #用此命令可以恢復mask的值
####acl列表的默認權限#####
#權限針對與目錄生效
#當對目錄設定普通的權限列表後,是不能取定特定用戶對在目錄中新建的文件由指定權限的
#如果需要權限自動添加到新建文件上那麼要設定目錄的默認權限
setfacl -m d:u:student:rwx /mnt/westos ##設定在westos目錄中
##新建文件對student用戶有rwx權限
##對已經存在的文件無效
##對目錄本身無效