AIX 的許可許可權(轉)

amyz發表於2007-08-10
AIX 的許可許可權(轉)[@more@]

  1.如何檢視許可許可權

  執行命令 Is -l file_name 或 Is -ld directory-name 會顯示不同的資料, 左側的一個 有10個字元的字串:

  —rwxrwxrwx

  該字串可分解為3個許可許可權集:

  —rwx rwx rwx

  | | |其他使用者許可 。

  | |

  | |

  | 把該組作為主組或作為他們組集之一部分的使用者許可。

  |

  檔案或目錄所有者許可

  這些命令同時也顯示檔案或目錄的所有者和使用者組 。

  —rwxrwxrwx joe joegroup

  許可 所有者 使用者組

  所顯示的所有者名稱來自 /etc/passwd。檔案的inode 儲存使用者的Id 。如果你看到的是一個數字而不 是名稱,這就是說/etc/passwd檔案無法讀取,或該檔案不存在此使用者id 。同樣,使用者組的名稱來自/etc/group 檔案.

  系統首先檢查你是否是所有者;如果是,你會得到所有者的許可許可權 ,即使這個許可比 使用者群或其他人許可許可權集嚴格。

  然後系統會檢查你是否將該組列為主組或組集的一部分。如果是,你會得到組許可,儘管這些 許可限制比其他人許可許可權集更嚴格。

  如果你既不是所有者也不是組集的一部分,你會得到其他人的許可。

  2. 許可許可權的字母的意義

  許可許可權字母的意思因檔案或目錄的不同而有區別。讀/寫目錄的許可權與讀/寫目錄所指檔案的許可權無關。

  對於目錄,許可許可權字母的含義如下:

  r --- 指讀目錄中檔案列表的能力,如ls命令。

  注 :如果只有讀目錄列表的許可,則不可以在目錄內部執行命令。

  x ---目錄搜尋能力。可以在已知檔名時在目錄中執行此檔案。一般來說,大多數目錄操作都要求讀(r)和搜尋(x)許可權。

  w---同搜尋(x)許可權共同使用時,在目錄中產生或刪除檔案的能力。如果目錄具有寫的許可權,而沒有在檔案寫的許可權,你仍可以刪除檔案,但不可以修改檔案.

  t ---指連結許可權。設定連結許可權可防止除檔案所有者、根使用者和目錄所有者之外的所有使用者刪除檔案,雖然目錄中的許可權可能允許刪除這個檔案。在這種情況下,可為其他人設定搜尋(x)位。

  T---同t相同,但不為其他使用者設定搜尋(x)位。

  s---不適用於所有者。用於使用者組 ,它成為組的繼承位(sgid,亦稱set groupid) 。這個目錄中建立的所有檔案都與此目錄有同樣的組。

  S---與s相同,但不為使用者組設定搜尋(x) 。

  對於檔案,許可字母有下列含義:

  r--- 指閱讀檔案的能力。

  w--- 指修改檔案的能力。只有在目錄中有寫許可權時才可以建立或刪除檔案。

  x--- 指執行檔案的能力。

  3. 當產生檔案或目錄時,如何決定性許可權?

  使用者id(uid)用來設定檔案所有者。主組用來設定使用者組(除非建立檔案的目錄有Sgid位設定)。

  umask 可設定初始許可權。在命令列中鍵入umask 命令,檢視當前設定 ,如要修改 umask設定,輸入umask號碼,如:

  umask 022。

  umask 命令不設定文字檔案和指令碼檔案而只在目錄中設定執行位。

  如果你建立一個目錄或文字檔案,可按以下例子設定許可權 :

  以umask 022為例 :

  777-022=755

  666-022=644

  執行ls -l,會顯示以下許可權,(r=4, w=2, x=1)

  目錄:rwxr-xr-x

  文字檔案:rw-r--r--

  4.如何改變檔案或目錄的所有者或組?

  chown 和 chgrp 命令用於改變所有者和組。只有根 使用者才能改變檔案的所有者。 根使用者或檔案的擁有者可以改變這個檔案的組。

  使用Chgrp命令:chgrp (New_group_name) (file_name)

  使用Chown命令: Chown (new_owner) (file_name) 或 chown (new_owner) (file_name)

  5.如何改變檔案或目錄的許可權?

  使用chmod 命令來改變檔案或目錄的許可權.許可權可以用字母或數字表示。讀 (r) = 4 ,寫(w) = 2 ,執行(或搜尋)(x) = 1

  這些數字加到一起就得到用於chmod命令的數字.(注意:如果您正在檔案或目錄中使用ACL,使用數字模式chmod命令會使ACL無效) 。

  如 :所有者許可權:讀+寫+執行= 4+2+1=7

  組 許 可 權 限 : 讀 + 寫 = 4+2 =6

  其他使用者許可許可權:閱讀=4

  chmod 764 file_name。

  如要設定特殊位如suid(設定使用者ID)、sgid和連結數位,chmod命令需要第四個數字。

  suid=4

  sgid=2

  link=1

  如要在前面的例子中加入suid許可,它的命令是:

  chmod 4764 file_name

  如果採用符號模式,首先確定要改變哪個位置所有者[u] 、組[g] ,其他[o] 或所有[a])和要加(+)或減(- )哪些符號。要為所有者增加讀和寫的許可權,可採用以下兩種方式:

  chmod u+r u+w (file_name) 或 chmod u+rw (file_name)

  6. ACL

  ACL是對標準許可權位的擴充套件。透過修改分配給個人或組的標準許可權,對每個檔案或目錄進行更精細的控制。對每個組或使用者,有3種許可權分配情況:

  PERMIT : 准許對檔案或目錄的特定許可權。

  DEMY : 限制對檔案或目錄的特定許可權。

  SPECIFY : 明確地定義檔案或目錄許可權。

  acledit 命令用於建立ACL。首先必須設定文字編輯器.如:export EDITOR=/usr/bin/vi。

  然後使用:acledit file_name

  螢幕上將會顯示:

  attributes:

  base permissions

  owner (rcunning): rwx

  group (staff): r—

  others: ---

  extended permissions

  disabled

  要設定擴充套件的許可權,將disabled 設定改為enabled:

  extend permissions

  enabled

  使用permit、deny 或specify關鍵字來定義擴充套件許可權。前面的例子表明只有所有者能對這個檔案寫操作。組成員能讀此檔案而其他使用者則沒有任何許可許可權。如果要使使用者 joe能夠讀寫這個檔案,用以下命令:

  extended permissions

  enabled

  permit rw- u: joe.

  要允許組使用者joegroup讀這個檔案,用以下命令:

  rermit r-- g: joegroup

  你能夠透過在同一行中合併多個條目來對許可權進行微調。如果只想為pete提供讀寫權,而他是系統組的一部分,則用以下命令:

  permit rw- u: pete, g: system

  要為幾個使用者或組增加許可許可權,則使用分行命令 :

  permit rw- u: joe

  permit rw- u: pete

  使用 ls -el命令,檢視ACL是否已在檔案中設定。如ls -el profile命令顯示:

  — rwxw--------+

  最後的+表示檔案已具 有有效的ACL 。

  注意:使用有數字爭議的chmod 命令將使檔案或目錄的ACL無效。

  7.檔案系統和目錄安裝點許可權

  檔案系統安裝在目錄安裝點上。安裝點和檔案系統都有許可權。安裝點的許可權由檔案系統建立時所採用的umask設定來決定。

  雖然已安裝檔案系統的許可權優先於安裝點的許可權,但安裝點必須儘可能限制每個人的搜尋許可權(也就是111)來避免不可預測的結果。記住,安裝檔案系統後,不能看到安裝點上的許可權。在檢查或改變安裝點許可權之前,必須解除安裝(umount )檔案系統。

  在建立檔案系統時,預設許可權來自基本檔案,同時sgid (組 繼 承)位被設定。使用者的umask不用於檔案系統中而只用於基礎安裝點。

  8.NFS安裝檔案系統許可

  網路檔案系統(NFS)安裝在當地目錄中。目錄安裝點在建立網路安裝檔案系統時建立。安裝點在建立時使用當前的umask設定來決定許可許可權。

  NFS安裝檔案系統使用一個叫作nobody的特殊使用者id。這個uid一般都是很大的數字,以便使它不會和真實使用者id發生衝突。除非NFS伺服器在/etc/passwd中有您的使用者id(不是文字名) ,否則你在遠端安裝檔案系統時所享有的許可權只使用該假使用者nobody。如果你的使用者id碰巧與遠端系統的某個有效id相吻合,你就會成為是由那個所有者建立的所有檔案的所有者。這有可能導致無法預見的嚴重後果。如果你希望能夠在遠端系統中建立和擁有檔案,你的本地系統和伺服器系統必須具有與/etc/passwd檔案中相匹配的使用者(使用者名稱稱和相同的id號碼)。而且檔案系統必須以能夠讀和寫的形式輸出。

  根使用者是一個特殊情況。由於根使用者id在所有系統中都是0,如果沒有特殊保護,任何安裝該檔案系統的系統都將成為該伺服器系統的根。因此,NFS檔案系統的輸出必須帶有一些主機名稱的 根接入,以便使您可以從這些主機名稱中要求特殊的根接入。如果檔案系統不以這種方式輸出,根就成為使用者nobody.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-941684/,如需轉載,請註明出處,否則將追究法律責任。

相關文章