檔案訪問條件

檔案訪問條件

檔案是指由創建者所定義的、具有檔案名稱的一組相關元素的集合。檔案訪問條件,也可以稱之為檔案訪問許可權,是指檔案所有者、檔案所屬組和其它用戶。對檔案的讀、寫和執行許可權。所有者是對檔案具有所有權的 用戶,所屬組是檔案所屬的用戶組,其它用戶是除所有者和所屬組成員以外的用戶。

基本介紹

  • 中文名:檔案訪問條件
  • 外文名:File Access Condition
  • 學科:計算機科學
  • 定義:檔案的讀、寫和執行許可權
  • 目的:保護檔案安全、方便管理
  • 套用:檔案系統、作業系統
簡介,有關術語,檔案,組,linux檔案的訪問條件,有關術語的解釋,理解檔案許可權,修改檔案許可權,linux/unix 下的執行檔,SPASS的數據檔案訪問許可權,

簡介

檔案訪問條件,是指檔案所有者、檔案所屬組和其它用戶,對檔案的讀、寫和執行許可權。一般不同用戶對檔案訪問條件是不一樣的。設定不同的檔案訪問條件主要有以下兩個目的:便於對檔案系統(檔案)的維護和管理、提高檔案系統(檔案)的安全性。以下是Linux中一個檔案訪問條件:
drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop
與檔案許可權相關聯的是第一、第三、第四個域。第三個域是檔案的所有者,第四個域是檔案的所屬組,而第一個域則限制了檔案的訪問許可權。在這個例子中,檔案的 所有者是 root,所屬的組是 root,檔案的訪問許可權是 drwxr-xr-x。

有關術語

檔案

檔案是指由創建者所定義的、具有檔案名稱的一組相關元素的集合,可分為有結構檔案和無結構檔案兩種。在有結構的檔案中,檔案由若干個相關記錄組成;而無結構檔案則被看成是一個字元流。檔案在檔案系統中是一個最大的數據單位,它描述了一個對象集。例如,可以將一個班的學生記錄作為一個檔案。一個檔案必須要有一個檔案名稱,它通常是由一串 ASCII 碼或(和)漢字構成的, 名字的長度因系統不同而異。如在有的系統中把名字規定為 8 個字元,而在有的系統中又規定可用 14 個字元。用戶利用檔案名稱來訪問檔案。此外,檔案應具有自己的屬性,屬性可以包括:
(1) 檔案類型。可以從不同的角度來規定檔案的類型,如源檔案、目標檔案及執行檔等。
(2) 檔案長度。檔案長度指檔案的當前長度,長度的單位可以是位元組、字或塊,也可能是最大允許的長度。
(3) 檔案的物理位置。 該項屬性通常是用於指示檔案在哪一個設備上及在該設備的哪個位置的指針。
(4) 檔案的建立時間。這是指檔案最後一次的修改時間等。
按存取控制屬性分類,根據系統管理員或用戶所規定的存取控制屬性,可將檔案分為三類:
(1) 只執行檔案。該類檔案只允許被核准的用戶調用執行,既不允許讀,更不允許寫。
(2) 唯讀檔案。該類檔案只允許檔案主及被核准的用戶去讀,但不允許寫。
(3) 讀寫檔案。這是指允許檔案主和被核准的用戶去讀或寫的檔案。

是用戶和計算機賬戶、聯繫人以及其他可作為單個單元管理的組的集合。屬於特定組的用戶和計算機稱為組成員,它位於“計算機管理”中,用戶可以利用這一組管理工具來管理單個本地或遠程計算機。可以使用“組”保護並管理存儲在本地計算機上的組。可以在特定計算機和僅這台計算機上指派本地用戶或組賬戶的許可權和權利。
根據組的作用範圍不同又可以將組劃分為域本地組、全局組、通用組和本地組四種類型。域本地組可以為本域內的資源分配許可權,並可以接受任何一個域的用戶或者組作為成員。全局組可以為任何域內的資源分配許可權,但是只能接受所在域中的用戶或者組作為成員。通用組既可以為任何域內的資源分配許可權,也可以接受任何域中的用戶或者組作為成員,但是通用組只能工作在Windows 2000本機模式以上的域中使用。上述的這三種組都是保存在Active Directory資料庫中的。本地組保存在獨立伺服器或者成員伺服器中的安全資料庫中,只能為本機的資源分配許可權。
Active Directory中組的許可權
◆ 簡化管理,即為組而不是個別用戶指派對共享資源的許可權。這樣可將相同的資源訪問權指派給該組的所有成員。
◆ 委派管理,即使用組策略為某個組指派一次用戶許可權,然後向該組添加需要擁有與該組相同許可權的成員。
◆ 創建電子郵件通訊組。
組類型
在Active Directory中有兩種類型的組:通訊組和安全組。可以使用通訊組創建電子郵件通訊組列表,使用安全組給共享資源指派許可權。
(1)通訊組。只有在電子郵件應用程式(如Exchange)中,才能使用通訊組將電子郵件傳送給一組用戶。通訊組不啟用安全,這意味著它們不能列在隨機訪問控制列表(DACL) 中。如果需要組來控制對共享資源的訪問,則創建安全組。
(2)安全組。請小心使用,安全組提供了一種有效的方式來指派對網路上資源的訪問權。使用安全組,可以:
◆ 給安全組指派對資源的許可權。
◆ 將用戶許可權分配到Active Directory中的安全組。

linux檔案的訪問條件

Linux是一個多用戶作業系統,它允許多個用戶同時登錄和工作。因此 Linux 將一個檔案或目錄與一個用戶和組聯繫起來。

有關術語的解釋

SUID含義:檔案的該位被設 置為1,在該檔案被執行時,該檔案將以所有者的身份運行,也就是說無論誰來執行這個檔案,他都有檔案所有者的特權,如果所有者是root的話,那么執行人就有超級用戶 的特權了,這是該位將變成一個安全漏洞,因此不要輕易設定該位。
SGID含義:運行者將具有檔案所有組的許可權。
STICKY粘合位: 要求作業系統既是在可執行程式退出後,仍要在記憶體中保留該程式的映像,這樣做是為了節省大型程式的啟動時間,但是會占用系統資源,因此設定該位,不如把程式寫好。
set uid、set gid、sticky bit的區別:
每一個檔案有所有者及組編號,set uid ;set gid可以改變用戶對檔案具有的許可權:寫和執行。
setuid: 在執行時具有檔案所有者的許可權。
setgid::設定目錄。一個目錄被標上setgid位,此目錄下創建的檔案繼承該目錄的屬性.
sticky bit:該位可以理解為防刪除位. 設定sticky bit位後,就算用戶對目錄具有寫許可權,但也只能添加檔案而不能刪除檔案。
操作這些標誌與操作檔案許可權的命令是一樣的, 都是 chmod。有兩種方法來操作:
1) chmod u+s temp -- 為temp檔案加上setuid標誌. (setuid 只對檔案有效,U=用戶)
chmod g+s tempdir -- 為tempdir目錄加上setgid標誌 (setgid 只對目錄有效,g=組名)
chmod o+t temp -- 為temp檔案加上sticky標誌 (sticky只對檔案有效)
2) 採用八進制方式. 這一組八進制數字三位的意義如下,
abc
a - setuid位, 如果該位為1, 則表示設定setuid
b - setgid位, 如果該位為1, 則表示設定setgid
c - sticky位, 如果該位為1, 則表示設定sticky
如:
rwsrw-r-- 表示有setuid標誌 (rwxrw-r--:rwsrw-r--)
rwxrwsrw- 表示有setgid標誌 (rwxrwxrw-:rwxrwsrw-)
rwxrw-rwt 表示有sticky標誌 (rwxrw-rwx:rwxrw-rwt)

理解檔案許可權

檔案許可權,是指對檔案的訪問許可權,包括對檔案的讀、寫、刪除、執行。通常Linux 將一個檔案或目錄與一個用戶和組聯繫起來。請看下面的例子:
drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop
與檔案許可權相關聯的是第一、第三、第四個域。第三個域是檔案的所有者,第四個域是檔案的所屬組,而第一個域則限制了檔案的訪問許可權。在這個例子中,檔案的 所有者是 root,所屬的組是 root,檔案的訪問許可權是 drwxr-xr-x。對於檔案和目錄講,每個檔案和目錄都有一組許可權標誌和它們結合在一起,在上例中就是第一個域中的內容。下面來仔細分析這個域中各個 符號的意義:
該域由 10 個字元組成,可以把它們分為四組,具體含義分別是:
d rwx r-x r-x
檔案類型 所有者許可權標誌 組許可權標誌 其他用戶許可權標誌
其中:
檔案類型:第一個字元。由於 Linux 系統對與設備、目錄、檔案都當作是檔案來處理,因此該字元表明此檔案的類型,字元與對應的意義如下表:
檔案標誌 檔案類型 例子
- 普通檔案 數據檔案、ASCII 純文本 檔案、程式
d 目錄 /bin
b 塊設備 /dev/hda(第一個 IDE 硬碟)
c 字元設備 /dev/ttyS1(與 DOS 種的串口 2 等同)
s 套接字 /dev/log
p 命名管道 /dev/initctl(與“|”等同)
l 符號連結 /dev/modem->/dev/ttyS1
許可權標誌:
對每個檔案或目錄都有 4 類不同的用戶。每類用戶各有一組讀、寫和執行(搜尋)檔案的訪問許可權,這 4 類用戶是:
root:系統特權用戶類,既 UID = 0 的用戶。
owner:擁有檔案的用戶。
group:已分享檔案的組訪問許可權的用戶類的用戶組名稱。
world:不屬於上面 3 類的所有其他用戶。
作為 root,他們自動擁有了所有檔案和目錄的全面的讀、寫和搜尋的許可權,所以沒有必要明確指定他們的許可權。其他三類用戶則可以在耽擱檔案或者目錄的基礎上別 授權或撤消許可權。因此對另外三類用戶,一共 9 個許可權位與之對應,分為 3 組,每組 3 個,分別用 r、w、x 來表示,分別對應 owner、group、world。
許可權位對於檔案和目錄的含義有些許不同。每組 3 個字元對應的含義從左至右的順序,對於檔案來說是:讀檔案的內容(r)、寫數據到檔案(w)、做為命令執行該檔案(x)。對於目錄來說是:讀包含在目錄中 的檔案名稱稱(r)、寫信息到目錄中去(增加和刪除索引點的連線)、搜尋目錄(能用該目錄名稱作為路徑名去訪問它所包含的檔案或子目錄)。具體來說就是:
1. 有隻讀許可權的用戶不能用 cd 進入該目錄;還必須有執行許可權才能進入。
2. 有執行許可權的用戶只有在知道檔案名稱並擁有該檔案的讀許可權的情況下才可以訪問目錄下的檔案。
3. 必須有讀和執行許可權才可以使用 ls 列出目錄清單,或使用 cd 進入目錄。
4. 如用戶有目錄的寫許可權,則可以創建、刪除或修改目錄下的任何檔案或子目錄,既是該檔案或子目錄屬於其他用戶。

修改檔案許可權

修改檔案的所有權,使用 chown 和 chgrp 命令:
chown new_user file or directory:修改檔案或目錄的所有者。
chgrp new_group file or directory:修改檔案或目錄的所屬組。
這裡需要注意的是:普通用戶不能將檔案或目錄的所有權交與他人,只有 root 有這一許可權。但是普通用戶有權改變檔案或目錄的所屬組。
由於每類用戶的許可權都是由 rwx 三位組成,因此可以用三個八進制數字表示檔案的訪問權。一個八進制數字可以用三個二進制數字表示,那么與其對應,權值為 4 的位對應 r,權值為 2 的位對應 w,權值為 1 的位對應 x。對於一類用戶,將這三位與其對應的權值相乘求和,就可以得出對該類用戶的訪問許可權。
改變檔案訪問許可權的命令是 chmod,格式是:
chmod permission file_name
比如 chmod 764 a.txt,它表示對於檔案的所有者,具有對該檔案讀、寫、執行的許可權。對於檔案所屬組的用戶,擁有讀、寫的許可權。對於其他用戶,只有讀許可權。
這裡需要注意的是:檔案的創建者是唯一可以修改該檔案訪問許可權的普通用戶,另外一個可以修改檔案訪問許可權的用戶是 root。
還有一種表示方法,就是用字元串來設定檔案訪問許可權。其中讀用 r 表示,寫用 w 表示,執行用 x 表示;所有者用 u 表示,組用戶用 g 表示,其他用戶用 o 表示,所有用戶用 a 表示。那么上面例子就寫成西面的模樣:
chmod a+r,u+w,u+x,g+w a.txt
chmod是Linux下設定檔案許可權的命令,後面的數字表示不同用戶或用戶組的許可權。
一般是三個數字:
第一個數字表示檔案所有者的許可權
第二個數字表示與檔案所有者同屬一個用戶組的其他用戶的許可權
第三個數字表示其它用戶組的許可權。
許可權分為三種:讀(r=4),寫(w=2),執行(x=1) 。 綜合起來還有可讀可執行(rx=5=4+1)、可讀可寫(rw=6=4+2)、可讀可寫可執行(rwx=7=4+2+1)。
所以,chmod 755 設定用戶的許可權為:
1.檔案所有者可讀可寫可執行
2.與檔案所有者同屬一個用戶組的其他用戶可讀可執行
3.其它用戶組可讀可執行
chmod 4755與chmod 755 的區別在於開頭多了一位,這個4表示其他用戶執行檔案時,具有與所有者相當的許可權。
例如:root用戶創建了一個上網認證程式netlogin,如果其他用戶要上網也要用到這個程式,那就需要root用戶運行chmod 755 netlogin命令使其他用戶也能運行netlogin。
但是netlogin執行時可能需要訪問一些只有root用戶才有權訪問的檔案,那么其他用戶執行netlogin時可能因為許可權不夠還是不能上網。
這種情況下,就可以用 chmod 4755 netlogin 設定其他用戶在執行netlogin也有root用戶的許可權,從而順利上網。

linux/unix 下的執行檔

被設定了setuid, 當一個程式一旦設定了該標記以後,使用該可執行程式的進程將擁有該執行檔案的所有者的許可權,可提升使用者的許可權,普通用戶可以執行改命令,使自己升級為root許可權
setuid的用法是: chmod 4755 program 或 chmod u+s program (setuid 只對檔案有效)
被設定了setgid,同理使用該程式的進程將擁有該程式所有組的許可權,單獨setGid的檔案非常少用,通常都是即setUid又setGid,同時setuid,setgid 是為了綁定某個特殊用戶及其組的特殊許可權。
setgid的用法是:chmod 2755 dir 或 chmod g+s dir (setgid 只對目錄有效)
同時設定setuid,setgid的用法:chmod 6755 program
被設定粘著位,設定的用法是: chmod 1777 file 或 chmod o+t file (sticky只對檔案有效)
當一個目錄被設定為"粘著位"(用chmod a+t),則該目錄下的檔案只能由
一、超級管理員刪除
二、該目錄的所有者刪除
三、該檔案的所有者刪除
也就是說,即便該目錄是任何人都可以寫,但也只有檔案的屬主才可以刪除檔案 。

SPASS的數據檔案訪問許可權

數據檔案訪問權設定,如圖1,解釋如下:
檔案訪問條件
圖1
限制僅能訪問數據檔案路徑。 (data_files_restricted) 設定為是時,此選項將限制只能訪問標準數據路徑和以下數據檔案路徑中列出的數據檔案。
默認數據路徑。 (data_file_path) 允許用戶讀和寫數據檔案的其他目錄的列表。除非啟用限制僅能訪問數據檔案路徑選擇,否則此選項將被忽略。注意:所有路徑名中應使用正斜線。指定多個目錄時請使用半角分號隔開(例如,[server install path]/data;c:/data;c:/temp)
限制僅能訪問程式檔案路徑。 (program_files_restricted) 設定為是時,此選項將限制只能訪問標準 bin 路徑和以下程式檔案路徑中列出的程式檔案。
程式檔案路徑。 (program_file_path) 允許用戶執行程式的其他目錄的列表。除非啟用限制僅能訪問程式檔案路徑選擇,否則此選項將被忽略。注意:所有路徑名中應使用正斜線。指定多個目錄時請使用半角分號隔開。
最大檔案大小 (MB)。 (max_file_size) 流執行期間創建的臨時和導出數據檔案的最大大小(不適用於 SAS 和 SPSS Statistics 數據檔案)。值為 –1 則表示無限制。
臨時目錄。 (temp_directory) 該目錄用於存儲臨時數據檔案(快取檔案)。在理想情況下,該目錄應當在獨立的高速驅動器或控制器上,因為對該目錄的訪問速度對性能可能有顯著影響。可以指定多個臨時目錄,並分別用逗號隔開。這些目錄應當位於不同的磁碟,其中第一個目錄使用最頻繁,而其他目錄則在執行過程中特定數據準備操作(例如排序)平行套用時,用於存儲臨時工作檔案。允許每個執行執行緒使用獨立磁碟進行臨時存儲能夠提高性能。在所有路徑指定中均應使用正斜線。注意:在 SPSS Modeler Server 啟動期間會在此目錄中生成臨時檔案。確保您對該目錄擁有所需的訪問許可權(例如,如果臨時目錄為共享網路資料夾),否則 SPSS Modeler Server 啟動將失敗。
Python 執行路徑。 (python_exe_path) Python 可執行程式的完整路徑(包括可執行程式的名稱)。注意,根據 Python 安裝的位置,可能需要將限制僅能訪問程式檔案路徑設定為否。

相關詞條

熱門詞條

聯絡我們