Linux进阶之路————组管理与权限管理
引言
這篇博客將會總結一些關于組的概念和相關操作,以及文件的一些權限管理。
一、組的基本介紹
在前面的博文《Linux進階之路————用戶管理》已經有提到用戶組的概念,實際上,組的概念并不局限于用戶,文件和目錄都有組的概念。
在Linux中每個用戶必須屬于一個組,不能獨立于組外。在Linux中,每個文件有所有者、所在組、其他組的概念。
二、查看文件所有者及所在組
命令如下:
# a - all 包括隱藏文件 # h - human-readable 自然語言 # l - long listing format 長列表形式 ls -ahl從輸出內容中可以看到,tom即為文件的所有者,而police既是tom所在的用戶組,同時也是文件的所在組。一般來講,文件的所在組就是所有者所在的組,但可以對文件所在組進行修改。
2.1 查看系統所有用戶
cat /etc/passwd2.2 查看系統有哪些組
cat /etc/group三、修改文件所有者
命令如下:
chown 用戶名 文件名?案例:使用root用戶創建一個apple.txt文件,然后將其所有者修改為 tom。
四、組的創建與刪除
命令如下:
groupadd 組名每個組創建后,會自動分配一個gid(組id),可以在groupadd 時指定 -g 參數,如 “groupadd -g 1000 組名”,如果未指定,那就在當前已有的最大 gid 基礎上 +1 。
案例:創建一個組 monster ,再創建一個用戶fox,放入到monster組中。
刪除用戶組可以使用:
groupdel 組名五、修改文件/目錄所在組
當某個用戶創建了一個文件后,這個文件的所在組,就是該用戶的所在組。
命令如下:
chgrp 組名 文件名案例:使用root用戶創建orange.txt ,然后將這個文件所在組修改為police。
六、修改用戶所在組
在添加用戶時,可以指定將用戶添加到哪個組,同樣,可以用root權限修改某個用戶的所在組。
命令如下:
usermod -g 組名 用戶名 ##改變該用戶登錄的初始目錄## usermod -d 目錄名 用戶名案例:創建一個土匪組(bandit),將tom這個用戶從原來的police組,修改為土匪組中。
另外,如果一個用戶同時屬于多個用戶組,那么用戶可以在用戶組之間切換,以便具有其他用戶組的權限。用戶可以在登錄后,使用命令newgrp切換到其他用戶組,這個命令的參數就是目的用戶組。這條命令將當前用戶切換到root用戶組,前提條件是root用戶組確實是該用戶的主組或附加組。類似于用戶賬號的管理,用戶組的管理也可以通過集成的系統管理工具來完成。
newgrp root七、Linux權限基本介紹
Linux權限指的是文件和目錄的操作權限。所有者、同一組的用戶、不同組的用戶對應會有對文件不同的讀、寫、執行 權限。而且,文件和目錄在讀、寫、執行權限的區分上還有所區別。
Linux通過這種方式,將所有文件進行嚴格的管理。
如上圖所示。我們分別以文件和目錄來進行說明。
1)第一個字符代表“文件類型”:
- 普通文件
d 目錄
l? 鏈接
c? 字符設備(鍵盤、鼠標)
b? 塊文件、硬盤
2)緊接著9個字符,代表文件或目錄的9個基本權限,每3個字符一組,分為三組,分別代表 所有者權限、所在組權限、其他組權限
3)其中 r = read(讀),w = write(寫),x = execute(執行),rwx 順序固定,如果位置上是 “-” ,則代表沒有這一項權限。
4)權限后面是一個數字,如果目標是一個文件,那么這個數字代表硬鏈接的個數;如果目標是目錄則表示該目錄下子目錄的個數。
5)第一個root代表所有者
6)第二個root代表所在組
7)283 、4096:這個數字如果描述的是一個文件,則代表文件大小,單位是KB;如果描述的是目錄,則表示目錄所占空間的大小。注意,目錄固定是4096,它實際上并不表示目錄中所有文件的大小總和,也就是說,即便是一個空目錄,依然是4096.
8)4月? 20? 20:57 代表文件或目錄的最后修改時間
9)最后一部分表示文件或目錄名稱
八、rwx權限詳解
8.1 rwx作用在文件上
1)[r] 代表可讀(read):可以讀取和查看。
2)[w] 代表可寫(write):可以修改。但不代表可以刪除文件。刪除一個文件的前提條件是對該文件所在的目錄有寫權限。
3)[x] 代表可執行(execute):可以被執行。
8.2 rwx 作用在目錄上
1)[r] 代表可讀(read):可以讀取,ls查看目錄內容。
2)[w] 代表可寫(write):可以修改,目錄內創建+刪除+重命名目錄。
3)[x] 代表可執行(execute):可以進入該目錄。
8.3?文件及目錄權限實際案例
ls -l 顯示的內容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
前10個字符確定不同用戶能對文件做什么。
第一個字符代表文件類型:文件(-),目錄(d),鏈接(l)
其余字符每3個一組(rwx):讀(r)寫(w)執行(x)
第一組rwx:文件擁有者的權限是讀寫和執行。
第二組rw-:與文件擁有者同一組的用戶的權限是:讀寫,但不能執行。
第三組:r--:其他組用戶的權限是讀,但不能寫和執行。
九、權限的管理
9.1 修改文件或目錄權限:chmod
語法如下:
chmod 權限列表 文件名/目錄因為rwx也可以用數字表示:r = 4,w = 2,x = 1。修改文件或目錄的權限有兩種方法。根據自己的喜好進行選擇。但是一般推薦使用數字的方式,雖然可能不是特別直觀,但是足夠簡潔,不必寫9個字符。在實際開發中較為常用。
第一種方式(不推薦):使用 u(user)、g(group)、o(others) 、a(all) 配合?+ 、 - 、 =?
1)chmod? u=rwx,g=rx,o=x? 文件/目錄
2)chmod? o+w? 文件/目錄
3)chmod? a-x? 文件/目錄
第二種方式(推薦):使用分值數字:r = 4 w = 2 x = 1
chmod 751? 文件/目錄
相當于:chmod? u=rwx,g=rx,o=x? 文件/目錄??
說明:根據實際開發經驗,使用數字設置權限一般要非常熟悉常見組合的分值:
7 = 4 + 2 + 1 = rwx6 = 4 + 2 = rw5 = 4 + 1 = rx4 = 4 + 0 + 0 = r1 = 0 + 0 + 1 = x數值不可能等于 3、2,因為如果總分 >= 2 ,就一定會有寫的權限,我們默認,一個文件或目錄可寫就一定可讀。因此,每組權限值一定是:7、6、5、4、1的其中一個。
9.2 修改文件或目錄所有者:chown
語法如下:
## 改變文件的所有者 chown newowner file## 改變文件的所有者以及所在組 chown newowner:newgroup file常用參數: [-R]? 如果是目錄,此參數則會使該目錄下所有文件及子目錄生效。
9.3 修改文件所在組:chgrp
語法如下:
## 改變文件的所在組 chgrp newgroup file9.4 實際演練:警匪游戲
游戲要求:
警察兩名:jack,jerry
土匪兩名:xh、xq
xh投靠警察,看看是否可以讀寫
?
?
總結
以上是生活随笔為你收集整理的Linux进阶之路————组管理与权限管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux进阶之路————CentOS网
- 下一篇: linux 用dg分区,[bug报告]