歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> UNIX系統文件屬性及存取權限

UNIX系統文件屬性及存取權限

日期:2017/2/28 17:58:32   编辑:Linux教程

我們都知道UNIX是一個多用戶的操作系統,那麼,它是怎樣來區分一個文件是屬於誰的,這個文件是什麼類型的文件的呢?下面我們通過一個例子來說明這個問題

我們現在使用ls命令列出當前目錄下的文件

#ls -la
# -rw-rw-rw- 1 root wheel 170 jan 7 19:46 mnk
# -rw-r----- 1 root wheel 18204 jan 8 20:34 nmap.tar.gz
# -rwxr-xr-- 1 candy user 1204 may 23 13:00 mysh.sh
# drwx------ 2 netdemon user 512 may 23 14:23 mydoc
|-----1------|--2--|----3-----|---4---|---5---|------6------|-----7-------|

在這裡第一部分是文件屬性,第二部分是文件數量,第三是所有者,第四是所屬組,第五是文件大小,第六是文件修改時間,第七是文件名,其中文件名,時間,文件大小應該不用解釋大家都能明白,我就不再說明了,第三部分表明了一個文件的擁有者是誰,就mnk這個文件來說,它的擁有者是root,是屬於wheel這個組的,而mysh.sh的擁有者是candy,user組的,通常情況下,如果用戶屬於這個組,那麼這個文件也就屬於這個組,第二部分指出連接到此文件的連接的數量,我們都知道,在win系統上,我們可以創建快捷方式,比如在桌面上創建一個快捷方式,指向某個文件,UNIX的連接也大致是一樣的概念,如果在系統尚有一個連接是指向mnk的,那麼在這裡它的1就會變成2。而第一部分呢,表面看起來很不知所謂,很難一下子明白這個表示了什麼,但這個就恰恰是UNIX的精粹所在,UNIX的最大特點之一,如果沒有這個,UNIX將不是UNIX。
這個部分一共有10位數來表示,第一位表示文件類型,"-"表示這個一個文件,"d"表示這個一個目錄,"s"表示這是一個連接,詳細的說明請看最後的表格,接下來的9位,我們把他們每3位分為一段來看,第一段對應於文件擁有者用u表示(user),第二段對應屬組用g表示(group),第三段對應任何人用o表示(other),而每一段的第一位代表讀權限(r),第二為代表寫權限(w),第三位代表執行(x)(對文件而言)或可進入(對目錄而言)權限,現在我們拿第二個文件nmap.tar.gz來作說名,第一位"-"表明這是一個文件,接下來的"rw-"表明root可以讀寫這個文件,但不能執行它,再接下來的"r--"表明了屬於wheel這個組的人可以讀這個文件,但不能修改(不可寫)也不能執行這個文件,最後的"---"表明了其他的任何人都不能讀、寫、執行這個文件。由此,我們現在可以知道,mnk這個文件是任何一個人都可以讀寫但不能執行的一個文件,因為它的每一部分都是"rw-",而第三個mysh.sh就是candy可讀可寫可執行,netdemon可以執行但不能修改或刪除,為什麼呢?通過第4個mydoc,我們看出netdemon也是屬於user組的一個用戶,而mysh.sh的表示組權限的這一段是"r-x",所以netdemon有執行這個文件的權限,但是其他的人就只能看了,這是因為最後的"r--"說明的這個規則。第四個mydoc,由第一位的"d",說明這是一個目錄而不是一個文件,netdemon可以讀寫進入這個目錄,但其他的人都不可以包括同一組的candy,因為他最後都是"---"。但是,root可不可以呢?答案是可以的,因為root是整個系統權限最高的一個用戶的名字,幾乎所有的UNIX系統都一樣,整個系統所有的東西都是屬於root的,盡管在某些UNIX系統上root去刪除mydoc這個目錄時會出錯,但root還是通過可以使用chown或chmod來改變文件的屬性再刪除或修改的,(關於chown及chmod等命令自行用'man chmod'命令察看說明)

Copyright © Linux教程網 All Rights Reserved