綠色資源網:您身邊最放心(xīn)的(de)安全(quán)下載站! 最新軟(ruǎn)件|熱門排行|軟件分類(lèi)|軟件專題(tí)|廠商(shāng)大全

綠(lǜ)色資源網

技術教程
您的位置:首(shǒu)頁(yè)服務(wù)器類Linux服務(wù)器 → 解讀Linux文(wén)件權限(xiàn)的設(shè)置方法

解讀Linux文(wén)件權(quán)限的設置方法

我要評(píng)論 2009/04/26 00:10:36 來源:綠色(sè)資源(yuán)網(wǎng) 編輯:佚名 [ ] 評論:0 點擊:330次

Windows係(xì)統其實和Linux係統(tǒng)有(yǒu)相似的地方(fāng),Windows係統文件、目錄的屬性有隻讀、隱(yǐn)藏(cáng),而(ér)Linux也一樣。Linux中,每一個文件都具有特定的屬性。主要包括文件類型和文件權(quán)限兩個方麵。可(kě)以分為5種(zhǒng)不同的類型:普通文件、目錄文件、鏈接文件、設備文件和(hé)管道文件(jiàn)。

所謂(wèi)的文件權限,是指對文件的訪(fǎng)問(wèn)權(quán)限,包括對(duì)文件的讀、寫、刪(shān)除、執行。Linux 是(shì)一個多用(yòng)戶操作係(xì)統,它允(yǔn)許多個用(yòng)戶同時(shí)登錄和工作。因此 Linux 將一個文件或目錄與(yǔ)一個(gè)用戶或(huò)組聯係起來。訪問(wèn)控(kòng)製(zhì)列表(ACL:Access Control List)為計(jì)算(suàn)機提供更好的訪問控製(zhì),它的作用(yòng)是限(xiàn)製(zhì)包括root用戶(hù)在內的所有用戶對(duì)文件、資源(yuán)或者套接字的訪(fǎng)問。下(xià)麵就來教大家簡單的設置方法。

步驟1 檢查係統核(hé)心

首先檢查(chá)你的Linux係統的(de)核心(xīn)是否有支持ACL的功能。因為Linux係(xì)統並不是每一(yī)個(gè)版本的核心都有支持(chí)ACL的功能,而最簡單的方法(fǎ)就是(shì)檢查(chá)係統目前的(de)核心能否支持:

[root@mail /]# cat /boot/config-kernel-version | grep -i ext3

CONFIG_EXT3_FS=m

CONFIG_EXT3_IDEX=y

CONFIG_EXT3_FS_XATTR_SHARING=y

CONFIG_EXT3_FS_XATTR_USER=y

CONFIG_EXT3_FS_XATTR_TRUSTED=y

CONFIG_EXT3_FS_ACL=y

此時如果能(néng)看到(dào)上麵的幾(jǐ)項(xiàng)則表示已經編(biān)譯到核心中,ext3文件係統已支(zhī)持ACL功能(néng),這些功能(néng)在編譯(yì)核心選(xuǎn)項中都可(kě)以(yǐ)找(zhǎo)到。如果編譯(yì)時(shí)找不(bú)到,可(kě)以到ACL的官方網站來安裝Kernel(acl.bestbits.at/)。

步(bù)驟2 掛載分(fèn)區

你可以用下列(liè)的方式(shì)掛載分區並啟(qǐ)用ACL:

#mount -t ext3 -o acl /dev/sda1 /fs1

你也可(kě)以直(zhí)接(jiē)寫在/etc/fstab文(wén)件中,這樣就可(kě)以在開機後支(zhī)持ACL功能:

#vi /etc/fstab

步驟3 設置ACL權限

ACL常常(cháng)針對個別(bié)用(yòng)戶來進行設(shè)置(zhì),下麵是多(duō)個不同(tóng)的(de)例子:

例如需(xū)要創建test1、test2、test3三個用(yòng)戶,可以(yǐ)先(xiān)用(yòng)root身份登錄係統,然後執行以下命令(lìng)分別(bié)創建(jiàn)三(sān)個(gè)用戶名和(hé)密碼:

[root@mail root]#adduser test1

[root@mail root]#adduser test2

[root@mail root]#adduser test3

[root@mail root]#passwd test1

[root@mail root]#passwd test2

[root@mail root]#passwd test3

然後mount一個ext3文件到目錄/fs1:

[root@mail root]#mount -t ext3 -o acl /dev/sda1 /fs1

再將test1 建立的(de)文件(jiàn)設置(zhì)讀寫的權(quán)限給(gěi)test2 :

[root@mail root]#chmod -R 777 /fs1

讓所(suǒ)有的用(yòng)戶都能(néng)增加文件到目錄的權(quán)限:

先(xiān)用test1登錄係統,執行命令:

[test1@mail test1]# cd /fs1

[test1@mail fs1]# echo "Create by test1" > test1.txt

[test1@mail fs1]# chmod go-r test1.txt

[test1@mail fs1]# ll test1.txt

-rw------- 1 test1 test1 17 Jul 14 22:11 test1.txt

而如下操作則可(kě)以讓除了test1有讀(dú)寫(xiě)的權限(xiàn)外(wài)其他人沒有讀寫test1.txt的權(quán)限(root除(chú)外),先用test2 登錄係統後執行(háng)以下命(mìng)令:

[test2@mail test2]# cd /fs1

[test2@mail fs1]# cat test1.txt

cat : test1.txt Permission denied

接著用test1登錄係統,執行(háng)如下命令:

[test1@mail fs1]# setfacl -m u:test2:rw test1.txt

這樣就(jiù)修改權限允許test2 有這個文件的讀寫權限(xiàn)。再看一下(xià)它的文件(jiàn)屬性的變化:

[test1@mail fs1]# ll

-rw-rw-r--+ 1 test1 test1 10 Feb 16 13:52 test1.txt

會看到後麵多(duō)了一個“+”,表示這(zhè)個文(wén)件(jiàn)使用(yòng)ACL的(de)屬性設置,再用命令getfacl來看ACL的文件屬性設置(zhì):

[test1@mail fs1]# getfacl test1.txt

# file: test1.txt

# owner: test1

# group: test1

user::rw-

user:test2:rw-

group::rw-

mask::rw-

other::r--

可以看到 test2 有權限(xiàn)讀寫(xiě)這個文件。

我(wǒ)們(men)再用test2登錄係(xì)統執行以下命令,看(kàn)看(kàn)發生了什麽?

[test2@mail test2]# cd /fs1

[test2@mail fs1]# cat test1.txt

Create by test1

原來test2可以讀取test1.txt文件了(le)。

[test2@mail fs1]# echo "Modify by test2" >> test1.txt

[test2@mail fs1]# cat test1.txt

Create by test1

Modify by test2

現(xiàn)在test2也(yě)可以修改test1.txt文件(jiàn)了。

接著(zhe)用test3 登錄係統:

[test3@mail test3]# cd /fs1

[test3@mail fs1]# cat test1.txt

cat : test1.txt Permission denied

嘿嘿,除(chú)了test1、test2外(wài)沒(méi)有其他用戶有讀寫test1.txt的權限(root 除外(wài))。

關鍵詞:解讀(dú),Linux文件,權限,設置(zhì)方法

閱讀本文後您有什麽感想? 已有 人給(gěi)出評價!

  • 1 歡迎喜(xǐ)歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視