1. 程式人生 > >2018-3-28

2018-3-28

權限

2.14 文件和目錄權限chmod

2.15 更改所有者和所屬組chown

2.16 umask

2.17 隱藏權限lsattr/chattr





2.14 文件和目錄權限chmod

ls -l 第一列文件權限

技術分享圖片

除了第一個字符-表示文件類型,接下來的9位表示文件的權限,分成三段(9位)

rw- r-- r--

所有者(可讀可寫不可執行) 所屬組(可讀不可寫不可執行) 除了所有者所屬組之外其他用戶的權限(可讀不可寫不可執行)

是否可寫r,是否讀w,是否可執行x,如果不可以用-。

r=4 w=2 x=1可以用數字表示 如果rwx=7 rw-=6 --x=1 加起來 rw-r--r--=644(權限的表示)

chmod (change mode 修改權限)

比如修改2.txt權限改下,所有組讀寫執行其他的都是無權限 那就是 rwx------=700 chmod 700 2.txt就可以改了。

技術分享圖片

技術分享圖片 rwx ------.最後面有個點意味著這個文件受制於selinxu,如果把selinux徹底關閉,在創建新的文件就沒.了。

chmod 生效的僅僅是目錄本身,不會對目錄下面的子目錄和文件生效。

chmod -R可以改變目標以及目錄下的子目錄 批量的更改權限。

還有一種表示方式 chmod u=rwx,g=r,o=r /tmp/ 後面不能有--,這樣寫法很直觀,比較繁瑣。

還有chmod a+x wt (就所有文件後都加X 那也可以-X ,也可以u或g或o+X)






2.15 更改所有者和所屬組chown

change owner

更改所有者

技術分享圖片

chgrp(change group更改所屬組)

技術分享圖片

可以用chown一次更改2個

chown wt:wt /tmp/yum.log

只更改用戶組的話chown :wt /tmp/yum.log

chown -R這個命令文件下的文件目錄的所以者和所屬組也會改變。





2.16 umask

當我們登錄系統之後創建一個文件總是有一個默認權限的,那麽這個權限是怎麽來的呢?這就是umask幹的事情。umask設置了用戶創建文件的默認 權限,它與chmod的效果剛好相反,umask設置的是權限“補碼”,而chmod設置的是文件權限碼。

技術分享圖片

上圖文件644,目錄755,umask0022簡寫022,那就是目錄初始777-022=755,文件666-022=644

技術分享圖片

更改umask值位00002,創建2.txt 目錄234

技術分享圖片

文件644 目錄775,好像不對文件不是應該666-002=664嗎。

umask改成003,創建新的1.txt

技術分享圖片

還是664,那不能直接減法。要用這種形式表示 (rw-rw-rw)-(-- -- -- wx)=rw- rw- r-- 位減,最後得到664(-號減掉什麽都是-號)

目錄777-003=rwx rwx rwx - --- --- -wx=rwx rwx r--=774這就對了。



2.17 隱藏權限lsattr/chattr

chattr隱藏權限

給1.txt設置以一個權限

技術分享圖片

技術分享圖片

無法vi 因為是只讀模式。

技術分享圖片

按理來說root用戶是可以寫入的,但是不能 那可能是這個文件設置了隱藏權限。


技術分享圖片

lsattr 查看隱藏權限

重新創建一個2.txt ,沒有任何隱藏權限

技術分享圖片

  1. txt多了一個i,i權限不僅僅不能寫,還無法改名,無法刪除,也無法重新創建同樣文件(更改時間信息)。i是一個很嚴謹的權限

當vi保存不了的時候會出現1.txt~,這是一個保存的緩存文件。

去掉i權限技術分享圖片

chattr -i 1.txt。

a權限,可以追加,可以更改時間信息,但是不能刪除改名更改內容。

lsattr 查看的是一個目錄下的子目錄和子文件

查看目錄本身用lsattr -d查看,給目錄加權限和文件一樣的效果。

lsattr -R 可以查看目錄和子目錄下的文件,不加僅僅只看一層。

lsattr -d 查看包括隱藏的文件






2018-3-28