最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Linux系統(tǒng)中的文件權(quán)限設(shè)置

開(kāi)源中文社區(qū)   發(fā)布時(shí)間:2016-06-23 12:03:32   作者:Jack Wallen   我要評(píng)論
Linux自從引入多用戶(hù)機(jī)制以后,文件權(quán)限的設(shè)置功能也日趨細(xì)化和完善,這里我們就來(lái)詳解Linux系統(tǒng)中的文件權(quán)限設(shè)置,需要的朋友可以參考下

你要明白的第一件事是文件權(quán)限可以用來(lái)干什么。當(dāng)你設(shè)置一個(gè)分組的權(quán)限時(shí)發(fā)生了什么?讓我們將其展開(kāi)來(lái)說(shuō),這個(gè)概念就真的簡(jiǎn)單多了。那到底什么是權(quán)限?什么是分組呢?
你可以設(shè)置的3種權(quán)限:
1.讀 — 允許該分組讀文件(用r表示)
2.寫(xiě) — 允許該分組寫(xiě)文件(用w表示)
3.執(zhí)行 — 允許該分組執(zhí)行(運(yùn)行)文件(用x表示)
為了更好地解釋這如何應(yīng)用于一個(gè)分組,例如,你允許一個(gè)分組可以讀寫(xiě)一個(gè)文件,但不能執(zhí)行?;蛘?,你可以允許一個(gè)分組讀和執(zhí)行一個(gè)文件,但不能寫(xiě)。甚至你可以允許一個(gè)分組有讀、寫(xiě)、執(zhí)行全部的權(quán)限,也可以刪除全部權(quán)限來(lái)去除該組的權(quán)限。
現(xiàn)在,什么是分組呢,有以下4個(gè):
1.user — 文件實(shí)際的擁有者
2.group — 用戶(hù)所在的用戶(hù)組
3.others — 用戶(hù)組外的其他用戶(hù)
4.all — 所有用戶(hù)
大多數(shù)情況,你只會(huì)對(duì)前3組進(jìn)行操作,all 這一組只是作為快捷方式(稍后我會(huì)解釋?zhuān)?br />到目前為止很簡(jiǎn)單,對(duì)吧?接下來(lái)我們將深入一層。
如果你打開(kāi)一個(gè)終端并運(yùn)行命令 ls -l,你將會(huì)看到逐行列出當(dāng)前工作目錄下所有的文件和文件夾的列表(如圖)
2016623120427292.png (550×326)

你會(huì)留意到最左邊那列是像是 -rw-rw-r-- 這樣的。
實(shí)際上這列表應(yīng)該這樣看:

復(fù)制代碼
代碼如下:

rw- rw- r--

正如你所見(jiàn),列表將其分為如下3部分:
1.rw-
2.rw-
3.r--
權(quán)限和組的順序都很重要,順序總是:
1.所屬者 所屬組 其他人 — 分組
2.讀 寫(xiě) 執(zhí)行 — 權(quán)限
在我們上面示例的權(quán)限列表中,所屬者擁有讀/寫(xiě)權(quán)限,所屬組擁有讀/寫(xiě)權(quán)限,其他人用戶(hù)僅擁有讀權(quán)限。這些分組中賦予執(zhí)行權(quán)限的話,就用一個(gè) x 表示。
2016623120459451.png (638×419)

等效數(shù)值
接下來(lái)我們讓它更復(fù)雜一些,每個(gè)權(quán)限都可以用一個(gè)數(shù)字表示。這些數(shù)字是:
1.讀 — 4
2.寫(xiě) — 2
3.執(zhí)行— 1
數(shù)值代替不是一個(gè)一個(gè)的替換,你不能像這樣:

復(fù)制代碼
代碼如下:

-42-42-4--

你該把每個(gè)分組的數(shù)值相加,給用戶(hù)讀和寫(xiě)權(quán)限,你該用 4 + 2 得到 6。給用戶(hù)組相同的權(quán)限,也是使用相同的數(shù)值。假如你只想給其他用戶(hù)讀的權(quán)限,那就設(shè)置它為4。現(xiàn)在用數(shù)值表示為:

復(fù)制代碼
代碼如下:

664

如果你想給一個(gè)文件664權(quán)限,你可以使用 chmod 命令,如:

復(fù)制代碼
代碼如下:

chmod 664 FILENAME

FILENAME 處為文件名。

更改權(quán)限
既然你已經(jīng)理解了文件權(quán)限,那是時(shí)候?qū)W習(xí)如何更改這些權(quán)限了。就是使用 chmod 命令來(lái)實(shí)現(xiàn)。第一步你要知道你能否更改文件權(quán)限,你必須是文件的所有者或者有權(quán)限編輯文件(或者通過(guò) su 或 sudo 得到權(quán)限)。正因?yàn)檫@樣,你不能隨意切換目錄和更改文件權(quán)限。
繼續(xù)用我們的例子 (-rw-rw-r--)。假設(shè)這個(gè)文件(命名為 script.sh)實(shí)際是個(gè)shell腳本,需要被執(zhí)行,但是你只想讓自己有權(quán)限執(zhí)行這個(gè)腳本。這個(gè)時(shí)候,你可能會(huì)想:“我需要是文件的權(quán)限如 -rwx-rw-r--”。為了設(shè)置 x 權(quán)限位,你可以這樣使用 chmod 命令:

復(fù)制代碼
代碼如下:

chmod u+x script.sh

這時(shí)候,列表中顯示的應(yīng)該是 -rwx-rw-r-- 。
如果你想同時(shí)讓用戶(hù)及其所屬組同時(shí)擁有執(zhí)行權(quán)限,命令應(yīng)該這樣:

復(fù)制代碼
代碼如下:

chmod ug+x script.sh
明白這是怎么工作的了嗎?下面我們讓它更有趣些。不管什么原因,你不小心給了所有分組對(duì)文件的執(zhí)行權(quán)限(列表中是這樣的 -rwx-rwx-r-x)。
如果你想去除其他用戶(hù)的執(zhí)行權(quán)限,只需運(yùn)行命令:
[code]
chmod o-x script.sh

如果你想完全刪除文件的可執(zhí)行權(quán)限,你可以用兩種方法:

復(fù)制代碼
代碼如下:

chmod ugo-x script.sh

或者

復(fù)制代碼
代碼如下:

chmod a-x script.sh

以上就是所有內(nèi)容,能使操作更有效率。我希望能避免哪些可能會(huì)導(dǎo)致一些問(wèn)題的操作(例如你不小心對(duì) script.sh 使用 a-rwx 這樣的 chmod 命令)。

目錄權(quán)限
你也可以對(duì)一個(gè)目錄執(zhí)行 chmod 命令。當(dāng)你作為用戶(hù)創(chuàng)建一個(gè)新的目錄,通常新建目錄具有這樣的權(quán)限:

復(fù)制代碼
代碼如下:

drwxrwxr-x

注:開(kāi)頭的 d 表示這是一個(gè)目錄。
正如你所見(jiàn),用戶(hù)及其所在組都對(duì)文件夾具有操作權(quán)限,但這并不意味著在這文件夾中出創(chuàng)建的文件也具有與其相同的權(quán)限(創(chuàng)建的文件使用默認(rèn)系統(tǒng)的權(quán)限 -rw-rw-r--)。但如果你想在新文件夾中創(chuàng)建文件,并且移除用戶(hù)組的寫(xiě)權(quán)限,你不用切換到該目錄下并對(duì)所有文件使用 chmod 命令。你可以用加上參數(shù) R(意味著遞歸)的 chmod 命令,同時(shí)更改該文件夾及其目錄下所有的文件的權(quán)限。
現(xiàn)在,假設(shè)有一文件夾 TEST,里面有一些腳本,所有這些(包括 TEST 文件夾)擁有權(quán)限 -rwxrwxr-x。如果你想移除用戶(hù)組的寫(xiě)權(quán)限,你可以運(yùn)行命令:

復(fù)制代碼
代碼如下:

chmod -R g-w TEST

運(yùn)行命令 ls -l,你講看到列出的 TEST 文件夾的權(quán)限信息是 drwxr-xr-x。用戶(hù)組被去除了寫(xiě)權(quán)限(其目錄下的所有文件也如此)。

總結(jié)
現(xiàn)在,你應(yīng)該對(duì)基本的 Linux 文件權(quán)限有了深入的理解。對(duì)于更高級(jí)的東西學(xué)起來(lái)會(huì)很輕松,像 setgid、setuid 和 ACL 這些。沒(méi)有良好的基礎(chǔ),你很快就會(huì)混淆不清概念的。
Linux 文件權(quán)限從早期到現(xiàn)在沒(méi)有太大變化,而且很可能以后也不會(huì)變化。

相關(guān)文章

最新評(píng)論

成安县| 沂水县| 正蓝旗| 云林县| 徐汇区| 高州市| 缙云县| 高青县| 吉隆县| 遂昌县| 平江县| 剑阁县| 湟源县| 宁蒗| 英超| 合水县| 谢通门县| 武平县| 阜南县| 镶黄旗| 故城县| 上栗县| 望谟县| 博野县| 香格里拉县| 弥勒县| 泗洪县| 墨竹工卡县| 苗栗县| 岳西县| 利辛县| 饶平县| 新民市| 聂荣县| 伊金霍洛旗| 锡林郭勒盟| 郁南县| 密山市| 廉江市| 行唐县| 宁化县|