26期20180606 chmod chown umask 隱藏權限
2.14 文件和目錄權限chmod
2.15 更改所有者和所屬組chown
2.16 umask
2.17 隱藏權限lsattr/chattr
2.14 文件和目錄權限chmod
每個文件都會有屬性,權限,通過ls -l可以看到。
d 目錄 rwx------這9位就是權限位。rwx是所有者權限,---是所屬組權限,---是other的權限。後面的3表示和這個目錄有關系的文件有幾個。第一個root是owner 第二個是所屬的組。後面是mtime 以及名字。
rwx分別代表的權限是4 2 1 所以數字來表示權限,比如
7 = 4+2+1 rwx
6 = 4+2 rw-
1 = x
可以通過chmod來更改權限。 chmod = change mode
chmod 權限 文件名/目錄 就可以更改權限。
權限可以使用數字來表示。
drwx------.的最後的點是什麽意思?
表示這個文件受制於SELINUX。如果selinux開啟了,創建的文件都會有點。
說到selinux 它的配置文件地址是 /etc/selinux/config 命令行暫時停止是 setenforce 0。只有從配置文件關閉selinux才可以完全關閉。
如果想遞歸改變一個目錄下的所有文件的屬性的話,需要加選項 -R
chmod -R
可以從上圖看到,目錄1的屬性和其目錄下的1.txt的屬性是不一致的。在使用了 chmod -R 後 就遞歸改變了目錄中文件的屬性
除了數字之外還有一種直觀的做法來改變屬性 是要用chmod u=rwx,g=r,o=r file
或者可使用+-來進行表達 比如 chmod a-x file 就是所有的屬性去掉x屬性
2.15 更改所有者和所屬組chown
chown 就是change owner 更改owner
首先看看都有哪些用戶存在。
可以將owner改成Bill或者123試試
同樣,有chown就有chgrp改變組。具體就不說是怎麽樣操作了和上面一摸一樣。
還有一個用法是 chown 用戶:組 文件/目錄 這樣就可以同時改變用戶和組了
chown :組 這樣不寫用戶名就是只改變組 -R這個選項也生效
overall:
chown username:group filename
chown :group filename
chown -R
umask
創建一個文件是644 創建一個目錄是755 是為什麽呢?
這就設計到umask了
運行umask顯示的是0022
umask就是root的umask的默認值
通過這個就可以確定默認文件和目錄的值
如何修改這個值?
umask 0002 這樣就把umask的值改成了0002
這個時候創建文件和目錄的權限就變成了 文件:664 目錄是775
文件屬性666-umask
目錄屬性777-umask
實際上應該用數字對應的值來進行計算。當umask=3的時候這種情況就更明顯。
666=(rw-rw-rw-)- 003 =(-------wx) = rw-rw-r-- 664 如果直接數字相減就錯誤了。
777 rwxrwxrwx - -------wx = rwxrwxr-- 774
umask就是來設置默認文件目錄權限的 減法,-減去任何都是空。
隱藏權限lsattr chattr
使用場景是可以隱藏權限以及查看隱藏權限。
相對於 ls -l 隱藏權限之後就看不到了 同時會根據權限來決定是否可以更改等,可以在很大程度上保護文件。
使用的場景就是完全保護,不讓任何人來碰的時候 就使用 chattr +i
“chattr命令是設置隱藏權限。不能保護/、/dev、/tmp、/var目錄。lsattr命令是顯示chattr命令設置的文件屬性。”
“一些相關的選項權限:
a:即append,設定該參數後,只能向文件中追加/添加數據,而不能刪除,不能改名字,不能改內容,可以更改時間信息。多用於服務器日誌文件安全,只有root才能設定這個屬性。
c:即compresse,設定文件是否經壓縮後再存儲。讀取時需要經過自動解壓操作。
d:即no dump,設定文件不能成為dump程序的備份目標。
i:設定文件不能被刪除、改名、設定鏈接關系,同時不能寫入或新增內容。i參數對於文件 系統的安全設置有很大幫助。”
可以發現有一個i權限,這個i權限什麽都不能做,連名字都改不了。vi是使用的時候,會產生一個臨時文件,實際的修改都是在臨時文件上,保存退出的時候,臨時文件會覆蓋原文件。
有了i就什麽都動不了了,所以如果想修改的話,使用chattr -i 就是將i移除,這個就可以修改了。
head -n2 file1 >>file2
是把文件1前兩行追加到文件2 > 是寫進去,替換掉
lsattr可以查看目錄本身的 -d 如果不加選項則是查找目錄下的子目錄以及子文件的權限
chattr 也可以給目錄加權限 +i (啥都不可以) 也可以加a(追加)權限,這樣就可以在目錄下新建文件了
lsattr 還有一個選項 -R 可以查看子目錄以及子目錄下的文件權限 -R 遞歸
總結
chattr +i +a -i -a
lsattr -R -a(隱藏可以看出來) -d 查看目錄
26期20180606 chmod chown umask 隱藏權限