1. 程式人生 > >Linux的檔案基本許可權

Linux的檔案基本許可權

在Linux系統中,一切皆檔案

使用者、使用者組、其他人

●檔案所有者

●Linux是一個多使用者,多工的系統,因此通常會有很多人同時使用一臺Linux的主機進行工作,為了保護每一個人的隱私權以及每個人喜歡的工作環境,檔案所有者就顯得異常重要了。 ●例如你住在一個小區裡,你對自己的家擁有所有權,可以任意處置自己家裡的東西,而別人要來你的家裡做客,就需要經過你的授權。

●使用者組

●使用者組就是將多個使用者歸為一個小組,該小組對某檔案可以有特定許可權,則該組中的成員就對該檔案有同樣的許可權,但小組中每個使用者又是一個獨立的使用者。 ●例如在一個家裡有張一、張二、張三,而這個家是登記在張一名下的,三個人都有自己的房間,並且共同擁有一個客廳。“張一家”就是所謂的“使用者組”,“張一”“張二”“張三”就是分別三個“使用者”,“張一”“張二”“張三”可以自由進入客廳,但是不屬於“張一家”的人就不可以隨便進入“張一家”的客廳。

●root使用者

●可以將root使用者理解為上帝使用者,該使用者擁有一切許可權,可以做自己想做的一切事情。所以使用root使用者登入時一定要謹慎。

●Linux使用者身份與使用者組記錄的檔案

在Linux系統中,預設情況下所有的系統上的賬號、一般身份使用者和root使用者的相關資訊都會記錄在/etc/passwd這個檔案內,個人密碼則會記錄在/etc/shaow這個檔案下。此外,Linux所有組名都記錄在/etc/group檔案內。

檔案許可權的檢視與更改

通過命令來檢視檔案的屬性:

[[email protected]~]$ ls -al
total 68
drwxr-xr-x
1 ahao ahao 512 Sep 16 11:49 . drwxr-xr-x 1 root root 512 Aug 12 22:03 .. -rw------- 1 ahao ahao 17437 Sep 16 11:49 .bash_history -rw-r--r-- 1 ahao ahao 220 Aug 12 22:03 .bash_logout -rw-r--r-- 1 ahao ahao 3771 Aug 12 22:03 .bashrc drwx------ 1 ahao
ahao 512 Aug 21 22:38 .cache -rw-rw-r-- 1 ahao ahao 53 Aug 12 23:01 .gitconfig -rw-r--r-- 1 ahao ahao 120 Sep 13 16:22 .indexer_files drwxr-xr-x 1 ahao ahao 512 Sep 12 23:00 .indexer_files_tags drwx------ 1 ahao ahao 512 Aug 21 22:40 .local -rw-r--r-- 1 ahao ahao 807 Aug 12 22:03 .profile drwx------ 1 ahao ahao 512 Aug 12 23:00 .ssh -rw-r--r-- 1 ahao ahao 0 Aug 12 22:03 .sudo_as_admin_successful drwxrwxr-x 1 ahao ahao 512 Sep 12 22:11 .vim -rw------- 1 ahao ahao 28763 Sep 15 20:59 .viminfo -rw-rw-r-- 1 ahao ahao 5764 Sep 13 19:33 .vimrc drwxrwxr-x 1 ahao ahao 512 Aug 12 23:00 Linux_code drwxrwxr-x 1 ahao ahao 512 Sep 14 12:04 data drwxrwxr-x 1 ahao ahao 512 Sep 14 12:43 tmp [ 許可權 ][連線][所有者][使用者組][size][ 修改日期 ][檔名]

[1.]第一列代表該檔案的型別與許可權

這裡寫圖片描述

檔案型別

[d]:目錄[-]:普通檔案[l]:連線檔案(linkfile)[b]:表示裝置檔案裡面的可供儲存的介面裝置[c]:表示裝置檔案裡面的串列埠,例如鍵盤、滑鼠(一次性讀取裝置)

檔案許可權

在檔案型別之後的字元中,以三個為一組,且均為“rwx”的三個引數組合。其中[r]代表可讀(read),[w]代表可寫(write),[x]代表可執行(execute)。這三個許可權的位置不會改變,如果沒有許可權,對應位置就會出現[-]代替。 ●第一組為“檔案所有者許可權”。 ●第二組為“同用戶組的許可權”。 ●第三組為“其他非本使用者組的許可權”

[2.]第二列表示有多少個檔名連線到此節點(i-node)

每一個檔案都會將它的許可權與屬性記錄到檔案系統的i-node中,不過我們使用的目錄樹卻是用檔名來記錄,因此每一個檔名都會連線到一個i-node。

[3.]第三列表示該檔案/目錄的所有者賬號

[4.]第四列表示該檔案/目錄的所屬使用者組

[5.]第五列表示這個檔案/目錄的容量大小,預設單位為B

[6.]第六列表示這個檔案/目錄的建立日期/最近修改日期

如果想要顯示完整的時間格式,可以使用”ls -l –full-time”

[7.]第七列為該檔案的檔名

如何改變檔案屬性與許可權

chmod:改變檔案許可權chgrp:改變檔案所屬使用者組chown:改變檔案所有者

改變許可權:chmod

改變檔案許可權有兩種方式,分別可以使用數字或者符號進行許可權的修改。

通過數字改變檔案許可權

Linux檔案的基本許可權有9個,分別是own、group、others三種身份各有自己的read、write、execute許可權。檔案的許可權字元為”-rwxrwxrwx”,這九個許可權是三個三個為一組的。我們可以用二進位制數字來代表各個許可權是否存在,存在即為1,不存在即為0。[r–]:可以用二進位制數字100來替代,八進位制即為4[-w-]:可以用二進位制數字010來替代,八進位制即為2[–x]:可以用二進位制數字001來替代,八進位制即為1每種身份[own、group、others]各自的三個許可權[r、w、x]分數是需要累加的,例如: owner=rwx=4+2+1=7 group=rwx=4+2+1=7 others=—=0+0+0=0 所以當我們需要給一個檔案改變許可權為”-rwxrwx- - -“時,經過計算”-rwxrwx- - -“的許可權數字為770,就可以通過chmod [-R] 770 檔名[-R]為進行遞迴的持續更改,即連同目錄下的所有檔案的許可權也會被更改

通過符號改變檔案許可權

●方法如下表: 這裡寫圖片描述

目錄與檔案的許可權意義

許可權對檔案的意義

r(read):可讀取該檔案的內容,如讀取文字檔案的文字內容等。 ●w(wirte):可以編輯、新增或修改檔案的內容(不包含刪除該檔案)。 ●x(execute):該檔案具有可以被系統執行的許可權

許可權對目錄的意義

r(read contents in directory):表示具有讀取目錄結構列表的許可權,即表明可以讀取目錄中的檔名。 ●w(modify contents of directory):表示具有更改該目錄結構列表的許可權,即:建立新的檔案或目錄、刪除已經存在的檔案或目錄(不論該檔案的許可權為何)、將已經存在的檔案或目錄進行重新命名、轉移該目錄內的檔案或目錄位置。 ●x(access directory):表示使用者是否能進入該目錄成為工作目錄的用途,所謂工作目錄就是當前所在的目錄目錄不可以被執行