Linux 中的使用者與檔案許可權

2021-08-28 17:10:36 字數 3708 閱讀 7351

一、使用者與使用者組

linux系統是乙個多使用者多工的分時作業系統,任何乙個要使用系統資源的使用者,都必須首先向系統管理員申請乙個賬號,然後以這個賬號的身份進入系統。

使用者的賬號一方面可以幫助系統管理員對使用系統的使用者進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助使用者組織檔案,並為使用者提供安全性保護。

每個使用者賬號都擁有乙個惟一的使用者名稱和各自的口令。

使用者在登入時鍵入正確的使用者名稱和口令後,就能夠進入系統和自己的主目錄。

//檢視使用者

id user

//檢視當前使用者

who am i

//新增使用者

useradd user

//設定密碼

passwd user

//刪除使用者

userdel -r user

每個使用者都有乙個使用者組,系統可以對乙個使用者組中的所有使用者進行集中管理。不同linux 系統對使用者組的規定有所不同,如linux下的使用者屬於與它同名的使用者組,這個使用者組在建立使用者時同時建立。

使用者組的管理涉及使用者組的新增、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group檔案的更新。

//檢視使用者所在組

groups user

//加入組

gpasswd -a user group

#把使用者user加入到group組;

#加入組後user獲取到user組及group組所有許可權

//移出組

gpasswd -d user root

#把使用者user移出group組;

二、檔案許可權

ls命令列出檔案詳情(ll 是 ls -l):

每列依次表示:

檔案型別與許可權 連線的檔案數 使用者 使用者所在的組 檔案大小(位元組)最後修改日期 檔名

第一列第一位表示檔案型別,有以下幾種:

普通檔案(regular file)第乙個字元為[ - ]

包括:①純文字檔(ascii):這是linux系統中最多的一種檔案類 型,稱為純文字檔。是因為內容為我們⼈人類可以直接讀到的資料,例如數字、字母等等。

②二進位制檔案(binary): 你的linux中的 可執行檔案(scripts, 文字型批處理檔案不算)就是這種格式的。

③資料格式檔案(data):有些程式在運作的過程當中會讀取某些特 定格式的檔案,那些特定格式的檔案可以被稱為資料⽂檔案 (data file)。一般用cat看到的都是亂碼。

目錄(directory): 第乙個字元為[ d ]

連線檔案(link)第⼀乙個字元為[ l ]

裝置和裝置檔案

包括:①塊裝置檔案,即一些儲存檔案,如硬碟、軟盤等,第乙個字元為 [ b ]

​ ②字元裝置檔案,即一些串列埠的介面檔案,如鍵盤、滑鼠等, 第乙個字元為[ c ]

套接字(sockets)第乙個字元為[ s ] 。還被稱為資料介面檔案,這種型別的檔案通常被用在網路上的數 據連線。我們可以啟動乙個程式來監聽客戶端的請求,而客戶端就 可以通過資料介面檔案來進行資料通訊。

管道(fifo,pipe)第乙個字元為[ p ]

第一列後九位是許可權列表:

如上圖,可以將許可權分為三組:

檔案和檔案目錄的所有者:u—user

一般為檔案的建立者,誰建立了該檔案,就天然的成為該檔案的所有者

ls ‐ahl命令可以看到檔案的所有者

也可以使用chown使用者名稱 檔名來修改檔案的所有者

檔案和檔案目錄的所有者所在的組的使用者:g—group

當某個使用者建立了乙個檔案後,這個檔案的所在組就是該使用者所在的組

ls ‐ahl命令可以看到檔案的所有組

也可以使用chgrp組名 檔名來修改檔案所在的組

其它使用者:o—others

除開檔案的所有者和所在組的使用者外,系統的其它使用者都是檔案的其它組

每個許可權部分可選字元選項如下:

r: read對檔案而言,具有讀取檔案內容的許可權;對目錄來說,具有瀏覽該目錄資訊的許可權。

w:write對檔案而言,具有修改檔案內容的許可權;對目錄來說具有刪除移動目錄內檔案的許可權。

s:set如果在所有者許可權部分,表示該檔案不能被執行和設定為set-user-id模式。如果在組許可權部分,表示該檔案不能被執行和設定為set-group-id模式。

s:如果該字元在所有者許可權部分,表示該檔案可執行和設定為set-user-id模式。如果設定在組許可權部分,表示該檔案可執行和設定為set-group-id模式。

s位的說明:

一般來說,乙個執行中的程式為執行這個程式的使用者所擁有。但如果該程式是suid/guid程式,則執行的程式則為檔案所有者擁有,執行中的程式在程式執行期間擁有檔案所有者的全部許可權。

如果乙個普通使用者執行了乙個屬於根使用者的帶s標誌的程式,那麼,該程式將不考慮使用者許可權,而是自動擁有在系統中讀/寫任何檔案及目錄的特權。

這樣做,有一定的好處,但一般我們不建議採用s位,要嚴格設定這種許可權,避免破壞性。

x:execute對⽂檔案⽽而⾔言,具有執⾏行⽂檔案的許可權; 對於目錄來說,具有進⼊目錄的許可權

-:無(讀,寫,執行,setuid等)許可權

以下兩個字元只能用於其它使用者:

t沾滯位設定(1000模式),但不能執行或者搜尋。

t沾滯位設定(1000模式),並可以執行或搜尋。(該字元較常見一般用於授予目錄,作用為任何人可以在該目錄中建立檔案,但是該檔案只有建立者可刪除。見/tmp目錄許可權)

t位的說明:

程式的t屬性表示粘滯位,即告訴系統在程式完成後在記憶體中儲存乙份執行程式的備份,如該程式常用,可為系統 節省點時間,不用每次從磁碟載入到記憶體。由本人註明:是儲存在虛擬記憶體中,而不是物理記憶體中。

目錄的t屬性,設定了目錄的t屬性後1000,由只有該目錄的所有者及root才能刪除該目錄

需要注意的是:

如果有某目錄的w許可權那麼就可以刪除該目錄下的任意檔案(無論有無該檔案的許可權)

如果沒有目錄的x許可權,那麼無法進入該目錄使其成為工作目錄,但是仍然可以看到該目錄的內容,但是無法對該目錄下的檔案進行讀寫操作(即使有該檔案的讀寫許可權)

一般使用八進位制表示 rwx 許可權:r=4,w=2,x=1

//設定檔案的訪問許可權

chmod [引數] 許可權檔名

//修改檔案的擁有者

chown [引數] 使用者名稱 檔名

//修改檔案或目錄的所屬組

chgrp [引數] 使用者組名 檔名

linux 使用者許可權 檔案許可權與目錄許可權

1 使用者及使用者組的概念 1.檔案所有者 2.使用者組 3.使用者 以root登入linux之後,執行ls al,會看到有關檔案屬性的資訊 rw r r 第1個字元代表這個檔案是 目錄,檔案或鏈結檔案等 d 代表目錄,代表檔案,l 則是連線檔案。接下來的字元3個一組分別代表檔案所有者許可權 同使用...

linux使用者身份與檔案許可權

useradd 引數作用 d指定使用者的家目錄 預設為 home username e賬戶的到期時間,格式為 yyyy mm dd.u指定該使用者的預設 uid g指定乙個初始的使用者基本組 必須已存在 g指定乙個或多個擴充套件使用者組 n不建立與使用者同名的基本使用者組 s指定該使用者的預設 sh...

Linux 使用者身份與檔案許可權

學習 引數作用 d指定使用者的家的目錄,預設為 home username e賬戶的到期時間,格式yyyy mm dd u指定該使用者的預設uid g指定乙個初始的使用者的基本組 g指定乙個或多個擴充套件使用者組 n不建立與使用者同名的基本使用者組 s指定該使用者的預設shell直譯器 引數 作用 ...