1. 程式人生 > >系統管理-文件權限

系統管理-文件權限

普通用戶 cut 一個 set 應用 系統 sticky 保護 不能

權限:
用戶對文件的操作權限

======================================
文件的所有者和所屬組
#chown 用戶 文件
#chown user2 a.txt

#chown {.|:}組 文件
#chown .grp2 a.txt

#chown 用戶.組 文件
#chown user3:grp3 a.txt

-R recoursive 遞歸修改,修改目錄的時候連帶目錄的所有子文件一起修改

======================================
ugo權限
u user
g group
o other

--- --- ---
 u   g   o
rwx r-x --x

r read
w write
x execute

======================================
權限修改

chmod 權限 文件

# chmod u-r-w a.txt
# chmod u+r a.txt
# chmod g+w a.txt
# chmod o+x a.txt
# chmod u+w,g-w,o+w a.txt
# chmod a-r a.txt    a表示ugo3個位置
# chmod -r a.txt (建議少用)

4=r 2=w 1=x
rwx 4+2+1=7
r-- 4
r-x 4+1=5
745

[tom@wing ~]$ chmod 604 a.txt 
[tom@wing ~]$ ll a.txt
-rw----r-- 1 tom tom 44 Nov 25 11:43 a.txt

======================================
隱藏權限

lsattr a.txt

# chattr +a a.txt
# chattr -a a.txt
# chattr +i a.txt
# chattr -i a.txt

+A:Atime,告訴系統不要修改對這個文件的最後訪問時間
+S:Sync,一旦應用程序對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁盤。
+d:No dump,在進行文件系統備份時,dump程序將忽略這個文件。

chattr命令不能保護/、/dev、/tmp、/var目錄

======================================

高級權限:umask suid sgid sticky(t) facl
umask 用戶掩碼
控制用戶創建文件和目錄的默認權限
用戶 目錄777 文件666
755 644

#umask
0022 root賬戶默認
0002 普通用戶默認

先把掩碼做取反操作,然後在與原始權限做與運算
或者
按位減

suid 提權
#chmod 4755 命令
#chmod u+s 命令
suid只能給命令添加,當給命令添加了suid之後,後面再有人去執行這個命令的時候
就會擁有命令操作符所有者的權限

sgid 組權限繼承
#chmod 2755 目錄
#chmod g+s 目錄
sgid只能給目錄添加,當你給一個目錄添加了sgid之後,後面不管誰來這個目錄下創
建文件,文件的所屬組都會繼承目錄的所屬組

sticky(t權限) 權限控制
#chmod 1777 目錄
#chmod o+t 目錄
t權限只能給目錄添加,當你給一個目錄添加了t權限之後,後面所有人在這個目錄下不
能刪除其他人的文件

-R 遞歸修改權限

facl權限
擴展ugo權限,可以單獨的對某一個用戶或者某一組用戶設置權限

查看facl
#getfacl 文件(目錄)名

設置facl
#setfacl -m u:tom:r a.txt
#setfacl -m u:tom:4 a.txt
#setfacl -m g:組名:rwx a.txt

-R 遞歸修改 必須寫到-m的前面,可以寫到一起
#setfacl -R -m u:tom:4  目錄名稱

設置facl的繼承權限
只能對目錄,對目錄本身不生效

setfacl -m d:u:wing:r dir1

mask:和權限做與運算,最後的結果是有效權限

setfacl -m m::rw ccc.txt

取消

setfacl -b ccc.txt

# setfacl -x u:wing: ccc.txt

======================================

純手動創建賬戶過程
創建jim賬戶
1.在passwd文件添加一個行jim賬戶信息
在shadow文件添加一個行jim賬戶信息
2.創建家目錄
#cp -r /etc/skel /home/jim
3.在group文件添加一行jim組信息
在gshadow文件添加一行jim組信息
4.修改權限
#chown jim.jim /home/jim
#chmod 700 /home/jim
5.創建個人郵箱
#mkdir /var/spool/mail/jim
#chown jim.mail /var/spool/mail/jim
#chmod 660 /var/spool/mail/jim

系統管理-文件權限