2010年1月23日 星期六

Linux檔案/目錄權限的設定



這篇只是隨便看隨便筆記
主要是要看權限那類的東西

加以整理刪減過後
要看詳細的解說請去鳥哥的Linux私房菜


A. Linux 系統很重要的三個檔案

1. /etc/passwd <= 系統上的帳號、一般身分使用者、root相關資訊都在此
2. /etc/shadow <= 個人的密碼
3. /etc/group <= 系統上所有的群組名稱

千萬不要隨意刪除



B. Linux 檔案的屬性

重要的指令

ls -al

可查看目前目錄下,所有檔案的權限(permission)和屬性
(擁有者、群組、修改日期、檔名等)
(包含隱藏的檔案,檔名前面有"."的)


ls -l

隱藏的檔案不會列出



*permission

----------

第一個黑色的代表檔案的類型 (d:目錄, -:檔案, l:連結檔, b和c我還不太懂 QQ)
第二段黃色的代表Owner對於檔案的權限(rwx)
第三段藍色的代表Group對於檔案的權限(rwx)
第四段紅色的代表Other對於檔案的權限(rwx)

其中r代表 read, w代表write, x代表execute

有r沒有x(r--) 在目錄的權限中代表的意義是
可以看到那個目錄但不能進入當然也不能寫


C. 改變檔案的屬性與權限

1. 改變檔案所屬的群組(Change group)

chgrp [-R] groupname dirname/filename

參數 -R : 進行遞迴(Recursive), 連同次目錄下的檔案目錄都成為這個群組

ex: # chgrp groupA test.txt



2. 改變檔案的擁有者(Change Owner)

chown [-R] 新的擁有者名稱 (:群組名稱) dirname/filename

※中間使用 新的擁有者名稱.群組名稱.群組名稱 也可以



3. 改變檔案的權限

<法一> 利用數字類型去改

r: 4
w: 2
x: 1

chmod [-R] xyz dirname/filename

<法二> 利用符號去改

身分有:
u: user(owner)
g: group
o: other
a: all(全部人)

符號有:
=(設定)
+(加入)
- (除去)

chmod [-R] 身分 符號 r,w,x dirname/filename

ex: # chmod u=rwx,go=rx abc.txt
=> 擁有可可讀可寫可執行, 所屬群組和其他人指可讀和執行

ex: # chmod a+w abc.txt
=> 所有的人都可以寫 (其他的依原設定)


D. 權限在不同的地方的意義

對檔案而言

檔案是用來放資料的
所以權限設定主要針對『檔案的內容』

r :可以讀檔案的實際內容,像文字等等
w:可以新增/編輯/修改檔案內容
x :可以在系統中執行檔案(如果檔案可以執行的話)

※ "w"權限不可刪除該檔案



對目錄而言

目錄是用來記錄檔名清單
所以權限設定主要針對『檔名清單』

r :可以讀取目錄下的檔名清單, 換句話說, 就是可以用ls指令列出清單
w:具有異動該目錄結構清單的權限
  • 建立新的檔案與目錄;
  • 刪除已經存在的檔案與目錄(不論該檔案的權限為何!)
  • 將已存在的檔案或目錄進行更名;
  • 搬移該目錄內的檔案、目錄位置。
x:使用者能否進入該目錄成為工作目錄, 換句話說, 就是可以用cd指令進入目錄

※只有r--不可進入目錄!!! 非常重要!!!


下面是鳥哥的範例

例題:
假設有個帳號名稱為dmtsai,他的家目錄在/home/dmtsai/,dmtsai對此目錄具有[rwx]的權限。 若在此目錄下有個名為the_root.data的檔案,該檔案的權限如下:
-rwx------ 1 root  root  4365 Sep 19 23:20  the_root.data
請問dmtsai對此檔案的權限為何?可否刪除此檔案?
答:

如上所示,由於dmtsai對此檔案來說是『others』的身份,因此這個檔案他無法讀、無法編輯也無法
執行, 也就是說,他無法變動這個檔案的內容就是了。

但是由於這個檔案在他的家目錄下, 他在此目錄下具有rwx的完整權限,因此對於the_root.data這個 『檔名』來說,他是能夠『刪除』的! 結論就是,dmtsai這個用戶能夠刪除the_root.data這個檔案!



沒有留言:

張貼留言