文件或目錄的默認(rèn)權(quán)限與隱藏權(quán)限, ACL

1. 文件默認(rèn)權(quán)限: umask

umask
0022
umask -S    #Symbolic, 以符號(hào)類型的方式顯示權(quán)限
u=rwx,g=rx,o=rx
#設(shè)置當(dāng)前用戶的umask:
umask 0002
#整體配置文件為/etc/bashrc

2. 文件隱藏屬性: chattr, lsattr

  • chattr只能在Ext2/Ext3的文件系統(tǒng)上面生效
#chattr (設(shè)置文件或目錄的隱藏屬性, 較多選項(xiàng)需要root來設(shè)置)
chattr [+-=] [ASacdistu] filename
    +: 新增一個(gè)特殊參數(shù)
    -: 刪除一個(gè)特殊參數(shù)
    =: 僅有后面接的參數(shù)
    A: 當(dāng)你訪問此文件(或目錄)時(shí), 他的訪問時(shí)間不會(huì)被修改, 可避免I/O較慢的過度訪問磁盤
    S: 進(jìn)行文件修改時(shí), "同步"寫入磁盤
*   a: 文件只能增加數(shù)據(jù)(不能通過編輯器追加), 不能刪除和修改, 包括文件的重命名, 移動(dòng)
    c: 自動(dòng)將文件壓縮, 讀取時(shí)自動(dòng)解壓, 存儲(chǔ)時(shí)也是先壓縮再存儲(chǔ)(對(duì)大文件特別有效) #compress v.壓縮
    d: 當(dāng)dump程序被執(zhí)行時(shí),它可以讓一個(gè)文件(或目錄)"不會(huì)被備份"
*   i: 一個(gè)文件"不可被刪除, 修改, 移動(dòng), 設(shè)置連接也無法寫入或添加數(shù)據(jù)" #immutable a.不可變的
    s: 若這個(gè)文件被刪除, 則此文件會(huì)被完全從磁盤中刪除 (srcure deletion)
    u: 與s相反, 若這個(gè)文件被刪除, 其實(shí)數(shù)據(jù)內(nèi)容還在磁盤中, 可以使用來找回該文件 #undelete a.復(fù)原

#lsattr (顯示文件或目錄的特殊屬性)
lsattr [-adR] filename
    -a: 將隱藏文件的屬性也秀出來
    -d: 若后面接的是目錄, 僅列出目錄本身的屬性
    -R: 連子目錄的屬性一并顯示
    
#實(shí)例: 
    chattr +aij /home/alex/
    lsattr -d /home/alex/

SUID, SGID, SBIT

文件特殊權(quán)限

1. SUID

Set UID, # -rwsrwxr-x

限制:

#1. 僅對(duì)二進(jìn)制程序(binary program)有效, 對(duì)目錄無效
#2. 執(zhí)行者對(duì)該程序具備 x 權(quán)限
#3. 本權(quán)限僅在執(zhí)行過程(running time)中有效

功能:

#1. 執(zhí)行者在執(zhí)行過程中將具有所有者(owner)的權(quán)限
#2. SUID僅可用在二進(jìn)制程序上, 不能用在shell script上.
#3. 因?yàn)閟hell script只是將很多二進(jìn)制文件調(diào)進(jìn)來執(zhí)行而已. 所以SUID的權(quán)限部分, 還是要看shell 
#   script中調(diào)用的程序的設(shè)置, 而不是看shell script本身.

2. SGID

Set GID, # -rwxrwsr-x

文件:

#1. 對(duì)二進(jìn)制程序有效
#2. 執(zhí)行者對(duì)該程序具備 x 權(quán)限
#3. 執(zhí)行者在執(zhí)行程序時(shí)會(huì)暫時(shí)獲得程序用戶組的支持

目錄:

#1. 用戶對(duì)此目錄具備 rx 權(quán)限, 則可進(jìn)入該目錄
#2. 用戶在此目錄下的有效用戶組(effective group)將變成此目錄的用戶組
#3. 若用戶在此目錄下具備 w 權(quán)限, 則在此目錄下創(chuàng)建的文件的用戶組為此目錄的用戶組
    #注: 一般用戶對(duì)此目錄具有 rwx 權(quán)限時(shí), 在此目錄中創(chuàng)建的新文件的用戶組為一般用戶的私有組.

3. SBIT

Set Bit, 只對(duì)目錄有效.

功能:

#1. 用戶對(duì)此目錄具有 wx 權(quán)限
#2. 當(dāng)用戶在此目錄下創(chuàng)建文件時(shí), 僅自己和root才有權(quán)對(duì)該文件進(jìn)行刪除, 重命名, 移動(dòng)等操作

4. SUID, SGID, SBIT權(quán)限設(shè)置

4 SUID
2 SGID
1 SBIT

chmod 5775 /home/alex
chmod ug=rwxs,o+t /home/alex/permission_test.sh
#注: 大寫的S和T, 表示原本位置上無此權(quán)限.

ACL

access contral list, 訪問控制列表
是系統(tǒng)附加的特殊屬性, 因此與文件系統(tǒng)有關(guān).

1. setfacl

set file access control list.
#用法
#setfacl [-bkRd] [{-m|-x} acl參數(shù)] filename
#   -m  --modify
#   -x  --remore
#   -d  設(shè)置默認(rèn)的aclcanshu,只對(duì)目錄有效, 在該目錄新建的數(shù)據(jù)會(huì)引用此默認(rèn)值.
#   -b  刪除所有的ACL設(shè)置參數(shù).
#如何使ACL權(quán)限設(shè)置能被子目錄(包括文件)所"繼承"?
#   d:[ug]:用戶列表:[rwx]
#實(shí)例:
#   使alex在/tmp/grouptest下面一直具有默認(rèn)的rx權(quán)限
#   setfacl d:u:alex:rx /tmp/grouptest

2. getfacl

get file access control list.

#用法
#getfacl filename

ln

make links between files.

1. 硬連接

hard link
多個(gè)文件對(duì)應(yīng)到同一個(gè)inode號(hào)碼, 只是在某個(gè)目錄下新建一條文件名連接到某inode號(hào)碼的關(guān)聯(lián)記錄.

#用法:
#   ln 源文件 目標(biāo)文件
#   ln /etc/contab /root/crontab

#真正多出來的只是block塊中的一條實(shí)際數(shù)據(jù)block塊對(duì)應(yīng)的inode記錄.

限制:

#   1. 不能跨文件系統(tǒng)
#   2. 不能連接到目錄
#       因?yàn)槿绻褂糜策B接連接到目錄時(shí), 連接的數(shù)據(jù)需要連同被連接目錄下的所有數(shù)據(jù)都建立連接.
#       舉例:
#           比如你要將/etc使用硬連接創(chuàng)建一個(gè)/etc_hd的目錄時(shí), 那么在/etc_hd下的所有文件名都需要
#           與/etc下的文件建立硬連接, 而不僅是/etc_hd與/etc建立硬連接而已. 同時(shí)/etc_hd內(nèi)部創(chuàng)建一個(gè)
#           新文件時(shí), 連帶的, /etc內(nèi)的數(shù)據(jù)有得要?jiǎng)?chuàng)建一次hard link, ==> 因此造成環(huán)境相當(dāng)大的復(fù)雜度.

2. 軟連接

symboilc link, 符號(hào)連接, 即快捷方式.
軟連接就是創(chuàng)建一個(gè)新文件, 這個(gè)新文件會(huì)讓數(shù)據(jù)的讀取指向目標(biāo)文件的文件名.
新文件的block中記錄的不是實(shí)際文件的inode號(hào), 而是中間文件的inode號(hào).

#用法:
#   ln [-sf] 源文件 目標(biāo)文件
#   -s  建立symbolic link
#   -f  --force, remove existing destination files后創(chuàng)建連接文件

手工創(chuàng)建用戶

不要?jiǎng)?chuàng)建純數(shù)字用戶, 系統(tǒng)會(huì)搞不清楚那是 "UID" 還是 "賬號(hào)".

#1. 手工創(chuàng)建用戶組(vi /etc/group)
#2. 用戶組同步(grpconv)
#3. 手工創(chuàng)建用戶(vi /etc/passwd)
#4. 密碼同步(pwconv)                注: 此時(shí)/etc/passwd和/etc/shadow文件內(nèi)均無密碼
#5. 創(chuàng)建密碼(passwd normal_user)
#6. cp -a /etc/skel/ /home/normal_user/
#7. 修改文件權(quán)限(chown -R normal_user:normal_user /home/normal_user)
      本文基于<鳥哥的Linux私房菜>, 歸納整理, 在此致謝鳥哥.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目錄與路徑絕對(duì)路徑與相對(duì)路徑:略目錄的相關(guān)操作幾個(gè)特殊目錄. 代表此層目錄.. 代表上一層目錄- 代表前一個(gè)工作目...
    March_13th閱讀 585評(píng)論 1 1
  • 文件與目錄的默認(rèn)權(quán)限與隱藏權(quán)限 一個(gè)文件有若干個(gè)屬性, 包括讀寫運(yùn)行(r, w, x)等基本權(quán)限,及是否為目錄 (...
    咸魚_dd61閱讀 313評(píng)論 0 0
  • 1. 所有者與群組 Linux中有三個(gè)身份類別owner/group/others,各有read/write/ex...
    taosilly閱讀 463評(píng)論 2 7
  • 1、目錄與路徑 1.1、相對(duì)路徑與絕對(duì)路徑 相對(duì)路徑:路徑的寫法一定由根目錄/寫起,例如/usr/share/do...
    努力爬行中的蝸牛閱讀 345評(píng)論 0 1
  • 《賦新詞》~女冠子 文:書瑩 三千弱水,只為給君最美,畫峨眉。月下相思起,菱花俏弄姿。 記曾心諾許,白首品依依。水...
    書瑩閱讀 858評(píng)論 0 1

友情鏈接更多精彩內(nèi)容