linux

文件默認權限 umask
若使用者創建爲『文件』則默認『沒有可運行( x )權限』,亦即只有 rw 這兩個項目,也就是最大爲 666 分,默認權限如下:-rw-rw-rw-
創建文件時:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
若使用者創建爲『目錄』,則由於 x 與是否可以進入此目錄有關,因此默認爲所有權限均開放,亦即爲 777 分,默認權限:drwxrwxrwx
創建目錄時:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
[root@www ~]# umask

0022

[root@www ~]# touch test1

[root@www ~]# mkdir test2

[root@www ~]# ll

-rw-r--r-- 1 root root 0 Sep 27 00:25 test1

drwxr-xr-x 2 root root 4096 Sep 27 00:25 test2
設置umask:
[root@www ~]# umask 002

[root@www ~]# touch test3

[root@www ~]# mkdir test4

[root@www ~]# ll

-rw-rw-r-- 1 root root 0 Sep 27 00:36 test3

drwxrwxr-x 2 root root 4096 Sep 27 00:36 test4
例題:
假設你的 umask 爲 003 ,請問該 umask 情況下,創建的文件與目錄權限爲?
答:
umask 爲 003 ,所以拿掉的權限爲 --------wx,因此:

文件: (-rw-rw-rw-) - (--------wx) = -rw-rw-r--
目錄: (drwxrwxrwx) - (--------wx) = drwxrwxr--

文件隱藏屬性 :chattr lsattr
[root@www ~]# chattr [+-=][ASacdistu] 文件或目錄名稱

選項與參數:

  • :添加某一個特殊參數,其他原本存在參數則不動。

  • :移除某一個特殊參數,其他原本存在參數則不動。

= :配置一定,且僅有後面接的參數

a :當配置 a 之後,這個文件將只能添加數據,而不能刪除也不能修改數據,只有root 才能配置這個屬性。
i :這個 i 可就很厲害了!他可以讓一個文件『不能被刪除、改名、配置連結也無法寫入或新增數據!』對於系統安全性有相當大的助益!只有 root 能配置此屬性
[root@www tmp]# chattr +i attrtest <==給予 i 的屬性

[root@www tmp]# rm attrtest <==嘗試刪除看看

rm: remove write-protected regular empty file `attrtest'? y

rm: cannot remove `attrtest': Operation not permitted <==操作不許可
你突然要新增使用者,卻一直無法新增!別懷疑,趕快去將 i 的屬性拿掉
[root@www ~]# lsattr [-adR] 文件或目錄

選項與參數:

-a :將隱藏檔的屬性也秀出來;

-d :如果接的是目錄,僅列出目錄本身的屬性而非目錄內的檔名;

-R :連同子目錄的數據也一併列出來!
[root@www tmp]# chattr +aij attrtest

[root@www tmp]# lsattr attrtest

----ia---j--- attrtest

文件特殊權限: SUID, SGID, SBIT
4 爲 SUID
2 爲 SGID
1 爲 SBIT

s 與 t 都是取代 x 這個權限的
SUID 不是用在目錄上,而 SBIT 不是用在文件上

Set UID
SUID 權限僅對二進位程序(binary program)有效;
運行者對於該程序需要具有 x 的可運行權限;
本權限僅在運行該程序的過程中有效 (run-time);
運行者將具有該程序擁有者 (owner) 的權限。

SGID 對二進位程序有用;
程序運行者對於該程序來說,需具備 x 的權限;
運行者在運行的過程中將會獲得該程序羣組的支持!

Sticky Bit
當使用者對於此目錄具有 w, x 權限,亦即具有寫入的權限時;
當使用者在該目錄下創建文件或目錄時,僅有自己與 root 纔有權力刪除該文件

[root@www ~]# cd /tmp

[root@www tmp]# touch test <==創建一個測試用空檔

[root@www tmp]# chmod 4755 test; ls -l test <==加入具有 SUID 的權限

-rwsr-xr-x 1 root root 0 Sep 29 03:06 test

[root@www tmp]# chmod 6755 test; ls -l test <==加入具有 SUID/SGID 的權限

-rwsr-sr-x 1 root root 0 Sep 29 03:06 test

[root@www tmp]# chmod 1755 test; ls -l test <==加入 SBIT 的功能!

-rwxr-xr-t 1 root root 0 Sep 29 03:06 test

[root@www tmp]# chmod 7666 test; ls -l test <==具有空的 SUID/SGID 權限

-rwSrwSrwT 1 root root 0 Sep 29 03:06 test

[root@www tmp]# chmod u=rwxs,go=x test; ls -l test

-rws--x--x 1 root root 0 Aug 18 23:47 test

[root@www tmp]# chmod g+s,o+t test; ls -l test

-rws--s--t 1 root root 0 Aug 18 23:47 test

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章