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使用者組下
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICMyYTMvw1dvwlMvwlM3VWaWV2Zh1Wa-cmbw5SOpVjbpFXezo2NvwVM0MDN0gTMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
【題1.2】以dennis使用者登入,建立一個Hello.java檔案
【題1.3】以daniel使用者登入,觀察是否可以通路/home/dennis目錄以及讀或寫其建立的Hello.java檔案
【題1.4】以dennis使用者登入,修改目錄/home/dennis及Hello.java檔案的讀寫權限(更正:修改目錄權限的時候,應該使用770,而不是760,否則權限不足)
【題1.5】重複【題1.3】
【題1.6】改變abigale的使用者組由group2變為group1
然後,可以使用cat/etc/passwd檢視并确定
【參考】
-groupadd組名,在linux中添加組
-vi/etc/group,檢視linux中所有組資訊,可以看可以編輯
-cat/etc/group,檢視linux中所有組資訊,隻可以看不可以編輯
-useradd‐g組名使用者名,建立使用者的同時指定将該使用者配置設定到哪個組下
-vi/etc/passwd,檢視linux中所有使用者資訊,可以看可以編輯
-cat/etc/passwd,檢視linux中所有使用者資訊,隻可以看不可以編輯
以上就是本文的全部内容,希望對大家的學習有所幫助。