作者 主題: [分享]系統各動作所須的權限  (閱讀 10507 次)

0 會員 與 1 訪客 正在閱讀本文。

小徒兒

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 622
    • 檢視個人資料
[分享]系統各動作所須的權限
« 於: 2004-07-26 18:26 »
使用cd進入一個目錄時,需對該目錄有x(執行)的權限

使用ls顯視一個目錄時,需對該目錄有x(執行)及r(讀取)的權限

使用mkdir或rmdir,需對所在目錄有x(執行)及w(寫入)的權限,不須有讀的權限.

使用cat, less時,對所在目錄不需有任何權限,但對所要cat或less的檔案,要有r(讀取)的權限

使用cp時,對所在目錄須有x權限,對目標目錄須有執行(x)及寫入(w)的權限,對所要考貝的檔案需有讀取(r)的權限

使用cp -r 時,對所在目錄須有x及r權限,但對目標目錄須有執行(x)及寫入(w)的權限,對所要考貝的檔案需有讀取(r)的權限


使用mv時,對所在目錄須有x及w的權限(可把搬開一檔案或目錄看作刪除),但對目標目錄須有執行(x)及寫入(w)的權限,對所要搬運的檔案不需有任何權限

使用vi某一檔案,需對所在目錄有x(執行)及r(讀取)的權限,及所編輯之檔案有w(寫入)及r(讀取)的權限.


使用rm刪除檔案,對所在來源目錄須有需對所在目錄有x(執行)及w(寫入)的權限,無須有r(讀取)的權限. 對所要刪除的檔案無須有任何權線.比如說一個root.root mode的檔案,不須是root身份即可刪除,只要是在其有w及r權限的目錄即可.






ps:
use stat command to view the numberic or rwx mode of a file
ex: # stat /usr/bin/lpr



以上 :wink:

小徒兒

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 622
    • 檢視個人資料
read,write,execute (r,w,x)權限對檔案及目錄的影響
« 回覆 #1 於: 2004-07-26 18:33 »
對一個目錄有 r的權限,代表可以列出該目錄的檔案及目錄名

對一個目錄有 w的權限,代表刪除該目錄中的檔案,或在該目錄中增加檔案

對一個目錄有 x的權限,代表能進入該目錄中,因此無論是啥動作,從cd, ls, mkdir, rmdir, cat, less, cp, cp -R, mv, vi, rm都須要x的權線.

---------------------------------------------------------------------------------


對一個檔案有 r的權限,代表可以讀取該檔

對一個檔案有 w的權限,代表可以更改該檔內容

對一個檔案有 x的權限,代表可以執行該檔

小徒兒

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 622
    • 檢視個人資料
[分享]系統各動作所須的權限
« 回覆 #2 於: 2004-07-26 18:43 »
如何得知現今有對系統是啥身份可以有啥權限:

$id

[root@localhost root]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(

得到 uid及gid,若是uid不是屬於對其有動作的檔案的擁有者,就是user,  在第三個欄位

[root@localhost root]# ls -la f1
-rw-r--r--    1 root     root            0  7月 19 21:30 f1

則就要看是否屬於所屬的group, gid ,若都不屬於,便要歸為others的群組,一次只能擁有一個身份,選擇順序由user --> group --> others.


動到目錄及檔案就要牽扯到mkdir,touch, rmdir, less, source ,

如果你execute 一個 program, 其program裡的所有動作都會帶著你的id 及gid ,以便系統判斷你是否對系統內的檔案或目錄有read write execute的權限,如果你所execute的program 帶有suid就是 rws--------x而他的owner是root,這時就會換成所有動作是以root的id來對檔案或目錄做存取。

如果你的目錄有suid,那沒啥意義因為目錄沒法有任何動作.


如果你execute 一個program 其program裡的所有動作都會帶著你的id 及gid ,以便系統判斷你是否對系統內的檔案或目錄有read write execute的權限,如果你所source的script 帶有sgid就是 rws-ws-----x而他的group是root,這時就會換成所有動作是以root的gid來對檔案或目錄做存取。

如果你的目錄有sgid,那就有意義,代表所有在這個目錄建的所有檔案都要換為其目錄的gid而非建立目錄者的gid,



如果你所execute的program 帶有sticky bit就是 ------rwt那沒啥意義.

如果你的目錄有sticky bit,那就有意義,代表所有在這個目錄建的所有檔案只有該檔案的擁有者及所在目錄的擁有者或root才可刪除或改名這個檔案,





#find / -perm +4000 -ls  #find out the file with suid
#find / -perm +2000 -ls  #find out the file with sgid
#find / -perm +1000 -ls  #find out the file with stickybit


#chmod u+s myfilewithsuid  #add the suid attribute on myfilewithsuid
#chmod g+s myfilewithsgid  #add the sgid attribute on myfilewithsgid
#chmod o+t myfilewithstickybit  #add the stickybit attribute on myfilewithstickybit

bono

  • 榮譽學長
  • 活潑的大學生
  • ***
  • 文章數: 363
  • 性別: 男
    • 檢視個人資料
[分享]系統各動作所須的權限
« 回覆 #3 於: 2004-07-27 01:14 »
很棒的分享哦  :D

要不要再研究一下 suid,sgid,sticky bit 對於 file & directory 的影響呢 ?

加油  :P
/___/_/___/_/___/_/___/_/___/_/___/

-=-  Bono   -=-  MCSE & LPIC Tutor -=-
_/___/_/___/_/___/_/___/_/___/_/___/

Guoway

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
[分享]系統各動作所須的權限
« 回覆 #4 於: 2004-07-28 09:29 »
挖~~好棒喔~~請問可以轉載嗎??

小圭

  • 憂鬱的高中生
  • ***
  • 文章數: 92
    • 檢視個人資料
    • 超好用網路行銷工具
[分享]系統各動作所須的權限
« 回覆 #5 於: 2004-07-28 16:30 »
咦 好眼熟的例子.....

哇!!這不是課堂上的例子嗎?  :o

同學 辛苦你了...整理的真棒..
更多超好用網路行銷工具在這
請各位幫我在活動相片按讚哦:http://on.fb.me/1DREeVa

funlonkon

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
[分享]系統各動作所須的權限
« 回覆 #6 於: 2004-09-29 11:07 »
引述: "小徒兒"

如果你source 一個script 其script裡的所有動作都會帶著你的id 及gid ,以便系統判斷你是否對系統內的檔案或目錄有read write execute的權限,如果你所source的script 帶有suid就是 rws--------x而他的owner是root,這時就會換成所有動作是以root的id來對檔案或目錄做存取。


suid 應該只能針對binary file,對script 不行吧!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
[分享]系統各動作所須的權限
« 回覆 #7 於: 2004-09-29 11:22 »
script 要看是 shell script 還是其他類型的 script.
若在 linux 上, bash script 是不支援 suid/sgid 的,
但 perl 可以透過安裝 suid-perl 來達成.

同樣是 shell, 在其他作業系統上(如 aix, sco, 等), 有些也是可用 suid/sgid 的...

funlonkon

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
[分享]系統各動作所須的權限
« 回覆 #8 於: 2004-09-29 15:50 »
受教了.

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
[分享]系統各動作所須的權限
« 回覆 #9 於: 2004-09-29 15:57 »
funlonkon 兄客氣了...  ^_^