1. 程式人生 > >linux使用者身份與檔案許可權

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

一、使用者身份與能力

root使用者擁有極高的系統所有權,能夠管理系統的各項功能,如新增/刪除使用者,啟動/關閉程序,開啟/禁用硬體裝置等許可權。

使用者UID

其實 root 只是個名字,真正讓它成為“超級使用者”的是 UID值
UID(即User IDentification的縮寫):每個使用者都有對應的UID值,就像我們的身份證號碼。

  • 超級使用者UID0:root使用者預設為0。
  • 系統使用者UID1-999:系統中系統服務由不同使用者執行,更加安全,預設被限制登陸系統。
  • 普通使用者UID1000~:即管理員建立的用於日常工作而不能管理系統的普通使用者。

注意:UID一定是不能衝突的,管理員建立的普通使用者UID從1000開始(即便前面有閒置的號碼)。帳戶名稱與UID儲存在/etc/passwd

檔案中,而帳戶密碼則儲存在/etc/shadow檔案中。

組GID

GID(即Group IDentification的縮寫):可將多個使用者加入某個組中,方便指派任務或工作。
想象公司員工如果想要在同部門內共享資料,就可以加入自己的工作組如技術部、運維部、財務部……
每個使用者在被建立時均會建立一個預設組(其GID與UID相同,俗稱基本組)而後加入的則叫擴充套件組
使用者組名稱與GID儲存在/etc/group檔案中。

二、檔案許可權與歸屬

Linux系統中一切都是檔案,檔案目錄的所屬與許可權——來分別規定所有者所有組其餘人執行許可權。

檔案許可權

r(read),寫w(write),執行x(execute)簡寫即為(r,w,x),亦可用數字(4,2,1)表示
這裡寫圖片描述

舉例:如果某檔案許可權為7則代表可讀,可寫,可執行(4+2+1)。若許可權為6則代表可讀(4),可寫(2)。許可權為5代表可讀(4)和可執行(1)。而許可權為3代表可寫(2)和可執行(1)。

檔案型別

例如:下圖中的檔案所有者(屬主)為root,所有組(屬組)為root,檔名為instsall.log,許可權位的第一個減號”–“代表的是普通檔案型別。

檔案型別有:

  • - :普通檔案
  • d :目錄檔案
  • b :塊裝置檔案
  • c :字元裝置檔案
  • p :管道檔案

檔案的許可權為rw-r–r–也就是分別表示所有者(屬主)有讀寫許可權,所有組(屬組)有讀許可權,其餘人也僅有讀許可權。

許可權歸屬

普通檔案 即實際儲存資料的地方,其並不具備刪除自身的許可權:

  • r:可讀取檔案的實際內容
  • w:可編輯/新增/修改該檔案的實際內容
  • x:可被執行

目錄檔案 即儲存有目錄結構和檔案許可權:

  • r:可讀取目錄結構和許可權
  • w:可更改目錄結構列表、新建/刪除/重新命名/轉移子檔案/目錄。
  • x:表示使用者可進入到該目錄中

注意:在該目錄中建立的檔案自動繼承此目錄的使用者組(只可以對目錄設定)

三、chmod與chown使用

  • chmod命令用於修改檔案或目錄的【許可權】,修改檔案或目錄的許可權:格式為 chmod [引數] 許可權 檔案或目錄名稱
  • chown命令用於修改檔案或目錄的【所屬主與所屬組】:格式為 chown [引數] 所屬主:所屬組 檔案或目錄名稱

例如:

chown -R root:root /var/lib/jenins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

chmod與chown的命令引數很簡單記——對於檔案不加引數,遇到目錄加大寫-R(遞迴,修改目錄內所有檔案的屬性)。

四、su命令與sudo服務

su命令

su命令用於變更使用者的身份(切換登陸者),格式為:su [-] 使用者名稱
root使用者切換到其他使用者時無需輸入密碼,嘗試切換到普通使用者olysa:

[root@root ~]# su olysa

普通使用者再切換使用者需要輸入對方帳戶密碼才可以。
若需將環境變數改變為新使用者的,請加引數 -

sudo服務

sudo命令用於給普通使用者提供額外權利來完成原本超級使用者才能完成的任務,格式為:sudo [引數] 命令名稱

sudo的特色功能有:
  1:限制使用者執行指定的命令。
  2:記錄使用者執行的每一條命令。
  3:配置檔案(/etc/sudoers)提供集中的管理使用者、許可權與主機等引數。
  4:驗證過密碼後5分鐘(預設值)內無須再讓使用者驗證密碼,更加的方便。

sudo命令的常用引數包括有:

引數 作用
-h 列出幫助資訊。
-l 列出當前使用者可執行的命令。
-u 使用者名稱或UID值 以指定的使用者身份執行命令。
-k 清空安全時間,下次執行sudo時需要再次密碼驗證。
-b 在後臺執行指定的命令。
-p 更改詢問密碼的提示語。

只用超級使用者才可以使用visudo命令編輯sudo程式的配置檔案/etc/sudoers