天天看點

Linux 檔案權限的詳細介紹

Linux 的優秀之處就在于它的多使用者、多任務的系統。Linux 一般将檔案可存取通路的身份分為 3 個類别,分别是 owner、group、others,且 3 種身份各有 read、write、execute 等權限。

權限的三種身份

檔案所有者(owner)

使用者級别的檔案權限,通常為檔案的建立者,可以通過 chown 修改檔案所有者。

使用者組(group)

如果把使用者組比作團隊,使用者就是其中的成員,團隊中的隊員對于該檔案都有相同的權限。可以通過 chgrp 修改檔案的使用者組。

使用者組最有用的功能之一,就是在團隊開發資源的時候。兩個項目 project1 和 project2 由兩個團隊開發,則分别給項目配置設定使用者組權限1、2,然後上司同時支援1、2 權限,即:每個賬号都可以有多個使用者組的支援。

其他人(others)

不是檔案所有者而且不屬于檔案的使用者組,就是其他人。

檔案權限

定義及檢視

在伺服器中執行指令以下指令,檢視檔案相關的資訊:

[root@iz2zedcscvry6t0psspzswz ~]# ls -al
total 44
dr-xr-x---. 5 root root 4096 Sep 9 12:11 .
dr-xr-xr-x. 18 root root 4096 Sep 9 12:39 ..
-rw-r--r--. 1 root root  18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwx------  3 root root 4096 Oct 15 2017 .cache
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwxr-xr-x  2 root root 4096 Oct 15 2017 .pip
-rw-r--r--  1 root root  64 Oct 15 2017 .pydistutils.cfg
drwx------  2 root root 4096 Sep 9 12:11 .ssh
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc           

複制

以下示例,展示了每一列對應的含義:

檔案權限 連接配接數 檔案所有者 使用者組 檔案大小 修改日期 檔案名

drwxr-xr-x 2 root root 4096 Oct 15 2017 .pip

檔案權限部分,drwxr-xr-x 第一個字母代表檔案類型,這裡的 d 代表目錄(directory)。d = 目錄, – = 檔案, l = 連結檔案(linkfile)。

後面以 3 個為一組,第一組 rwx 代表檔案所有者權限,第二組 r-x 代表使用者組權限,第三組 r-x 代表其他使用者權限。

示例中的檔案,檔案所有者 root 有讀寫可執行權限,root 使用者組的使用者有讀和可執行權限,其他使用者有讀和可執行權限。

  • 檢視檔案建立或修改的具體的日期 : ls -al –full-time
  • 檢視 ls 的詳細用法: man ls 或 info ls

修改檔案權限

  • chgrp(change group):改變檔案所屬使用者組
  • chown(change owner):改變檔案所有者
  • chmod(change mod):修改檔案的權限

修改使用者組

chgrp [-R] dirname/filename

# 将 install.log 的使用者組修改為 users
chgrp users install.log           

複制

修改檔案所有者

chown 可以同時修改檔案所屬的使用者組

chown [-R] 賬号名稱:組名 檔案或目錄

# 将 install.log 的使用者組和所有者改為 root
chown root:root install.log           

複制

改變檔案權限

權重配置設定: r:4 w:2 r:1

# 将檔案權限設定為 -rwxr-xr

chmod 754 filename

# 設定一個可執行檔案,不讓其他人修改

chmod 755 filename # -rwxr-xr-x           

複制

符号類型改變檔案權限

指令 身份 操作 檔案
chmod u g o a +(加入) -(除去) =(設定) r w x 檔案或目錄

身份解釋: u = user, g = group,o = other, a = all

# 讓檔案擁有執行權限,但不知道原權限
chmod a+x filename           

複制

目錄與檔案的權限意義

Linux 檔案是否被執行由 “x” 的權限決定,跟檔案名沒有絕對的關系。

檔案是存放實際資料的所在,目錄主要的内容是記錄檔案名清單。

檔案的權限解釋

  • r:可以讀取檔案内容
  • w:可以編輯檔案内容
  • x:檔案具有被系統執行的權限

目錄的權限解釋

  • r:查詢該目錄下的檔案名資料(可以用 ls)
  • w:建立、删除、重命名、轉義
  • x:能否進入該目錄

權限的配置檔案

  • 賬号資訊: /etc/passwd
  • 個人的密碼:/etc/shadow
  • 組名:/etc/group

【綜合案例】

【題1.1】建立兩個使用者組group1和group2,以及三個使用者dennis、daniel、abigale,并且将前2個使用者配置設定在group1使用者組下,後一個配置設定在group2使用者組下

Linux 檔案權限的詳細介紹

【題1.2】以dennis使用者登入,建立一個Hello.java檔案

【題1.3】以daniel使用者登入,觀察是否可以通路/home/dennis目錄以及讀或寫其建立的Hello.java檔案

【題1.4】以dennis使用者登入,修改目錄/home/dennis及Hello.java檔案的讀寫權限(更正:修改目錄權限的時候,應該使用770,而不是760,否則權限不足)

Linux 檔案權限的詳細介紹

【題1.5】重複【題1.3】

【題1.6】改變abigale的使用者組由group2變為group1

Linux 檔案權限的詳細介紹

然後,可以使用cat/etc/passwd檢視并确定

Linux 檔案權限的詳細介紹

【參考】

-groupadd組名,在linux中添加組

-vi/etc/group,檢視linux中所有組資訊,可以看可以編輯

-cat/etc/group,檢視linux中所有組資訊,隻可以看不可以編輯

-useradd‐g組名使用者名,建立使用者的同時指定将該使用者配置設定到哪個組下

-vi/etc/passwd,檢視linux中所有使用者資訊,可以看可以編輯

-cat/etc/passwd,檢視linux中所有使用者資訊,隻可以看不可以編輯

以上就是本文的全部内容,希望對大家的學習有所幫助。