SHELL學習一 檔案許可權

2021-09-01 17:52:10 字數 4785 閱讀 3399

# ls -l

總用量 36

-rw-r--r-- 1 root root 34890 10月 19 20:17 httpd.conf

-rw-r--r-- 1 root root 0 10月 19 20:16 temp

總用量 36:是ls所列出的入口占用空間的位元組數(以k為單位)。

1該檔案硬鏈結的數目。

root:檔案屬主。

root:檔案屬組(一般是檔案屬主所在的預設組。)

34890:位元組來表示的檔案長度,記住,不是k位元組!

10月 19 20:17:件的更新時間。

temp or httd.conf :件名。

要檢查該目錄所有檔案占用的空間應該用這個命令:du。

譬如說前面說的36是如何計算出來:

首先我們要先了解你所用的檔案系統的io block(中文叫作簇)為多少,在你所使用的這個檔案系統的io block大小是4096 bytes。

他意義是檔案系統最小的讀寫及分配單位,每次讀寫操作你都不能小於這個尺寸。即使你的檔案是只有乙個位元組。而且檔案在硬碟上的儲存也是以這個為單位,就是說如果檔案尺寸小於這個值,那麼它在磁碟上占用的空間就是4096位元組。

占用空間的具體演算法是:(進一(檔案尺寸/4096))×4096。根據這個你就可以計算出你所列舉的例子中的檔案的空間使用狀況:34890除以4096,大約等於8.5,進一法取得為9,就是說檔案在磁碟上占用了9個block,每個block為4k,所以這兩個檔案占用的空間就是36k。

這個規則也適合於目錄,不過不會出現為0的目錄,即使是空目錄

-rw-r--r-- :這是該檔案的許可權位。

除去最前面的橫槓,一共是9個字元,他們分別對應9個許可權位。通過這些許可權位,可以設定使用者對檔案的訪問許可權。對這兩個檔案的精確解釋是:

rw-:前三位,檔案屬主可讀、寫

r--:中間三位,組使用者可讀

r--:最後三位,其他使用者只可讀

在建立的時候並未給屬主賦予執行許可權,在使用者建立檔案時,系統不會自動地設定執行許可權位。這是出於加強系統安全的考慮

btw:檔案的屬主組並不一定就是所有者所在的預設組,而可以是任何乙個跟該檔案所有者無關的使用者組。為了方便,還是統稱屬主,屬組和其它

用stat可以檢視乙個檔案的比較詳細的資訊

檔案型別

前面提到的第一條橫槓,表示該檔案是普通檔案型

檔案型別有七種,它可以從ls -l命令所列出的結果的第一位看出.

d 目錄。

l 符號鏈結(指向另乙個檔案)。

s 套接字檔案。

b 塊裝置檔案。

c 字元裝置檔案。

p 命名管道檔案。

- 普通檔案,或者更準確地說,不屬於以上幾種型別的檔案。

r 讀許可權

w 寫/更改許可權

x 執行該指令碼或程式的許可權

r-- --- --- 文檔案屬主可讀,但不能寫或執行

r-- r-- --- 文檔案屬主和屬組使用者(一般來說,是檔案屬主所在的預設組)可讀

r-- r-- r- - 文任何使用者都可讀,但不能寫或執行

rwx r-- r- - 文檔案屬主可讀、寫、執行,屬組使用者和其他使用者只可讀

rwx r-x --- 文檔案屬主可讀、寫、執行,屬組使用者可讀、執

rwx r-x r- x 文檔案屬主可讀、寫、執行,屬組使用者和其他使用者可讀、執行

rw- rw- --- 文檔案屬主和屬組使用者可讀、寫

rw- rw- r- - 文檔案屬主和屬組使用者可讀、寫,其他使用者可讀

rw- rw- --- 文檔案屬主和屬組使用者及其他使用者讀可以讀、寫,慎用這種許可權

設定,因為任何使用者都可以寫入該檔案

使用chmod來改變許可權位

這一命令有符號模式和絕對模式。

符號模式

chmod命令的一般格式為:

chmod [who] operator [permission] filename

w h o的含義是:

u 檔案屬主許可權。

g 屬組使用者許可權。

o 其他使用者許可權。

a 所有使用者(檔案屬主、屬組使用者及其他使用者)。

o p e r a t o r的含義:

+ 增加許可權。

- 取消許可權。

= 設定許可權。

p e r m i s s i o n的含義:

r 讀許可權。

w 寫許可權。

x 執行許可權。

s 檔案屬主和組set-id。

t 粘性位*。

l 給檔案加鎖,使其他使用者無法訪問。

u,g,o 針對檔案屬主、屬組使用者及其他使用者的操作。

*在列檔案或目錄時,有時會遇到「 t」位。「t」代表了粘性位。如果在乙個目錄上出現「t」位,這就意味著該目錄中的檔案只有其屬主才可以刪除,即使某個屬組使用者具有和屬主同等的許可權。不過有的系統在這一規則上並不十分嚴格。

如果在檔案列表時看到「 t」,那麼這就意味著該指令碼或程式在執行時會被放在交換區(虛存)。

chmod a-x temp //rw- rw- rw- 收回所有使用者的執行許可權

chmod og-w temp //rw- r-- r- - 收回屬組使用者和其他使用者的寫許可權

chmod g+w temp //rw- rw- r- - 賦予屬組使用者寫許可權

chmod u+x temp //rwx rw- r- - 賦予檔案屬主執行許可權

chmod go+x temp //rwx rwx r- x 賦予屬組使用者和其他使用者執行許可權

舉如當建立temp檔案時,它具有這樣的許可權:

-rw-r--r-- 1 root root 0 10月 19 20:16 temp

如果要使屬主和屬組使用者具有有執行許可權,並取消其他使用者(所有其他使用者)的寫許可權,可以用:

$ chmod ug+x temp

$ chmod o-w temp

這樣,該檔案的許可權變為:

-rwxr--r-- 1 root root 0 10月 19 20:16 temp

絕對模式

chm d命令絕對模式的一般形式為:

chmod [mode] file

其中m o d e是乙個八進位制數。

在絕對模式中,許可權部分有著不同的含義。每乙個許可權位用乙個八進位制數來代表,如

0 4 0 0 檔案屬主可讀

0 2 0 0 檔案屬主可寫

0 1 0 0 檔案屬主可執行

0 0 4 0 屬組使用者可讀

0 0 2 0 屬組使用者可寫

0 0 1 0 屬組使用者可執行

0 0 0 4 其他使用者可讀

0 0 0 2 其他使用者可寫

0 0 0 1 其他使用者可執行

在設定許可權的時候,只需按照上面查出與檔案屬主、屬組使用者和其他使用者所具有的許可權相對應的數字,並把它們加起來,就是相應的許可權表示。

可以看出,檔案屬主、屬組使用者和其他使用者分別所能夠具有的最大許可權值就是7。

再來看看前面舉的例子:

-rwxr--r-- 1 root 0 10月 19 20:16 temp

相應的許可權是:

rwx-:0400 + 0200 +0100 (檔案屬主可讀、寫、執行) = 0 7 0 0

r--:0 0 4 0 (屬組使用者可讀) = 0 0 4 0

r--:0 0 4 0 (屬組使用者可讀) = 0 0 4 0

0 7 4 4

有乙個計算八進位制許可權表示的更好辦法,如下:

檔案屬主:r w x:4 + 2 + 1

屬組使用者:r w x:4 + 2 + 1

其他使用者:r w x:4 + 2 + 1

這上面這相,更容易地計算出相應的許可權值,只要分別針對檔案屬主、屬組使用者和其他使用者把相應許可權下面的數字加在一起就可以了。

temp檔案具有這樣的許可權:

r w x r - - r - -

4+2+1 4 4

把相應許可權位所對應的值加在一起,就是7 4 4。

如:chmod 666 rw- rw- rw- 賦予所有使用者讀和寫的許可權

chmod 644 rw- r-- r- - 賦予所有檔案屬主讀和寫的許可權,所有其他使用者讀許可權

chmod 744 rwx r-- r- - 賦予檔案屬主讀、寫和執行的許可權,所有其他使用者讀的許可權

chmod 664 rw- rw- r- - 賦予檔案屬主和屬組使用者讀和寫的許可權,其他使用者讀許可權

chmod 700 rwx --- --- 賦予檔案屬主讀、寫和執行的許可權

chmod 444 r-- r-- r- - 賦予所有使用者讀許可權

下面舉乙個例子,假定有乙個名為temp的檔案,具有如下許可權:

-rw-rw-r-- 1 root 0 10月 19 20:16 test1

$chmod 740 test1

$ls -l

-rwxr----- 1 root 0 10月 19 20:16 test1

如果檔案可讀、寫和執行,對其他所有使用者唯讀,用:

$chmod 744 test1

$ls -l

-rwxr--r-- 1 root 0 10月 19 20:16 test1

如果希望一次設定目錄下所有檔案的許可權,可以用:

$chmod 664*

$ls -l

-rw-r--r-- 1 root 0 10月 19 20:16 test1

這將使檔案屬主和屬組使用者都具有讀和寫的許可權,其他使用者只具有讀許可權。

還可以通過使用- r選項連同子目錄下的檔案一起設定:

chmod -r 664 /temp/*

這樣就可以一次將/ temp目錄下的所有檔案連同各個子目錄下的檔案的許可權全部設定為檔案屬主和屬組使用者可讀和寫,其他使用者唯讀。使用- r選項一定要謹慎,只有在需要改變目錄樹下全部檔案許可權時才可以使用。

一 檔案安全與許可權

檔案 當我們建立乙個檔案的時候,系統儲存了有關該檔案的全部資訊,包括 檔案的位置。檔案型別。檔案長度。哪位使用者擁有該檔案,哪些使用者可以訪問該檔案。i節點。檔案的修改時間。檔案的許可權位。讓我們使用ls l命令,來看乙個典型的檔案 root linux ll total 80 rw r r 1 r...

Linux基礎(一) 檔案 使用者 許可權管理

1.檔案管理 2.使用者管理 3.許可權管理 整個根就是乙個倒樹裝的形態,目錄結構 這些都是根目錄,盡量不要動,在整個linux裡面,目錄也是檔案 2 常用指令 3 vim編輯器 複製貼上 查詢替換 剪下 視覺化模式ctrl v分屏模式ctrl w s v c sp 4 輸入輸出重定向 5 管道 管...

linux基礎學習(一)檔案處理

一 檔案處理 建立檔案 touch file 複製檔案 cp file1 file2 cp file1 file2 file3 dir 前三個檔案複製到最後乙個資料夾中 移動檔案 mv f1 f2 mv f1 f2 f3 dir 刪除檔案 rm f1 rm f1 f2 f2 建立目錄 mkdir d...