文件訪問和共享的方法介紹

發(fā)布時(shí)間:2024-03-08
系統(tǒng)運(yùn)維
在上一篇文章中,你了解到文件有三個不同的權(quán)限集。擁有該文件的用戶有一個集合,擁有該文件的組的成員有一個集合,然后最終一個集合適用于其他所有人。在長列表(ls -l)中這些權(quán)限使用符號模式顯示在屏幕上。
每個集合都有 r、w 和 x 條目,表示特定用戶(所有者、組成員或其他)是否可以讀取、寫入或執(zhí)行該文件。但是還有另一種表達(dá)這些權(quán)限的方法:八進(jìn)制模式。
你已經(jīng)習(xí)慣了十進(jìn)制編號系統(tǒng),它有十個不同的值(0 到 9)。另一方面,八進(jìn)制系統(tǒng)有八個不同的值(0 到 7)。在表示權(quán)限時(shí),八進(jìn)制用作速記來顯示 r、w 和 x 字段的值。將每個字段視為具有如下值:
r?=?4w?=?2x?=?1現(xiàn)在,你可以使用單個八進(jìn)制值表達(dá)任何組合。例如,讀取和寫入權(quán)限(但沒有執(zhí)行權(quán)限)的值為 6。讀取和執(zhí)行權(quán)限的值僅為 5。文件的 rwxr-xr-x 符號權(quán)限的八進(jìn)制值為 755。
與符號值類似,你可以使用八進(jìn)制值使用 chmod?命令設(shè)置文件權(quán)限。以下兩個命令對文件設(shè)置相同的權(quán)限:
chmod?u=rw,g=r,o=r?myfile1chmod?644?myfile1特殊權(quán)限位
文件上還有幾個特殊權(quán)限位。這些被稱為 setuid(或 suid)、setgid(或 sgid),以及粘滯位sticky bit(或阻止刪除位delete inhibit)。 將此視為另一組八進(jìn)制值:
setuid?=?4setgid?=?2sticky?=?1除非該文件是可執(zhí)行的,否則?setuid?位是被忽略的。如果是可執(zhí)行的這種情況,則該文件(可能是應(yīng)用程序或腳本)的運(yùn)行就像擁有該文件的用戶啟動的一樣。setuid?的一個很好的例子是?/bin/passwd?實(shí)用程序,它允許用戶設(shè)置或更改密碼。此實(shí)用程序必須能夠?qū)懭氲讲辉试S普通用戶更改的文件中(lctt?譯注:此處是指?/etc/passwd?和?/etc/shadow)。因此它需要精心編寫,由?root?用戶擁有,并具有?setuid?位,以便它可以更改密碼相關(guān)文件。setgid 位對于可執(zhí)行文件的工作方式類似。該文件將使用擁有它的組的權(quán)限運(yùn)行。但是,setgid 對于目錄還有一個額外的用途。如果在具有 setgid 權(quán)限的目錄中創(chuàng)建文件,則該文件的組所有者將設(shè)置為該目錄的組所有者。
最后,雖然文件粘滯位沒有意義會被忽略,但它對目錄很有用。在目錄上設(shè)置的粘滯位將阻止用戶刪除其他用戶擁有的該目錄中的文件。
在八進(jìn)制模式下使用 chmod 設(shè)置這些位的方法是添加一個值前綴,例如 4755,可以將 setuid 添加到可執(zhí)行文件中。在符號模式下,u 和 g 也可用于設(shè)置或刪除 setuid 和 setgid,例如 u s,g s。粘滯位使用 o t 設(shè)置。(其他的組合,如 o s 或 u t,是沒有意義的,會被忽略。)
http://www.51cto.com/it/news/2019/1014/15367.html
https://article.pchome.net/content-2101735.html
http://www.pcpop.com/article/6067769.shtml
共享與特殊權(quán)限
回想一下前一篇文章中關(guān)于需要共享文件的財(cái)務(wù)團(tuán)隊(duì)的示例??梢韵胂?,特殊權(quán)限位有助于更有效地解決問題。原來的解決方案只是創(chuàng)建了一個整個組可以寫入的目錄:
drwxrwx---.?2?root?finance?4096?jul?6?15:35?finance此目錄的一個問題是,finance?組成員的用戶?dwayne?和?jill?可以刪除彼此的文件。這對于共享空間來說不是最佳選擇。它在某些情況下可能有用,但在處理財(cái)務(wù)記錄時(shí)可能不會!另一個問題是此目錄中的文件可能無法真正共享,因?yàn)樗鼈儗⒂?dwayne 和 jill 的默認(rèn)組擁有 – 很可能用戶私有組也命名為 dwayne 和 jill,而不是 finance。
解決此問題的更好方法是在文件夾上設(shè)置 setgid 和粘滯位。這將做兩件事:使文件夾中創(chuàng)建的文件自動歸 finance 組所有,并防止 dwayne 和 jill 刪除彼此的文件。下面這些命令中的任何一個都可以工作:
sudo?chmod?3770?financesudo?chmod?u rwx,g rwxs,o t?finance該文件的長列表現(xiàn)在顯示了所應(yīng)用的新特殊權(quán)限。粘滯位顯示為?t?而不是?t,因?yàn)?finance?組之外的用戶無法搜索該文件夾。drwxrws--t.?2?root?finance?4096?jul?6?15:35?finance
上一個:CC0603JPNPO9BN390,NPO 0603 39pF ±5% 50V
下一個:電線電纜中BV、BLV、V是什么意思

意大利犀利sirai電磁閥l372系列
關(guān)于電力電纜熱伸縮的對策?
德國waldrich coburg銑床
迅龍數(shù)據(jù)恢復(fù)軟件手機(jī)版
結(jié)婚之后女方戶口可以不遷移嗎
揭秘普洱茶的倉儲
內(nèi)退人員與其他單位訂立勞動合同
LZB-40玻璃轉(zhuǎn)子流量計(jì)使用方法
學(xué)生網(wǎng)貸逾期了暫時(shí)還不上怎么辦
證明勞動關(guān)系還有哪些其它方式
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos