Linux 的優(yōu)秀之處就在于它的多用戶、多任務(wù)的系統(tǒng)。Linux 一般將文件可存取訪問的身份分為 3 個(gè)類別,分別是 owner、group、others,且 3 種身份各有 read、write、execute 等權(quán)限。
權(quán)限的三種身份
文件所有者(owner)
用戶級別的文件權(quán)限,通常為文件的創(chuàng)建者,可以通過 chown 修改文件所有者。
用戶組(group)
如果把用戶組比作團(tuán)隊(duì),用戶就是其中的成員,團(tuán)隊(duì)中的隊(duì)員對于該文件都有相同的權(quán)限??梢酝ㄟ^ chgrp 修改文件的用戶組。
用戶組最有用的功能之一,就是在團(tuán)隊(duì)開發(fā)資源的時(shí)候。兩個(gè)項(xiàng)目 project1 和 project2 由兩個(gè)團(tuán)隊(duì)開發(fā),則分別給項(xiàng)目分配用戶組權(quán)限1、2,然后上司同時(shí)支持1、2 權(quán)限,即:每個(gè)賬號(hào)都可以有多個(gè)用戶組的支持。
其他人(others)
不是文件所有者而且不屬于文件的用戶組,就是其他人。
文件權(quán)限
定義及查看
在服務(wù)器中執(zhí)行命令以下命令,查看文件相關(guān)的信息:
[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
以下示例,展示了每一列對應(yīng)的含義:
文件權(quán)限 連接數(shù) 文件所有者 用戶組 文件大小 修改日期 文件名
drwxr-xr-x 2 root root 4096 Oct 15 2017 .pip
文件權(quán)限部分,drwxr-xr-x 第一個(gè)字母代表文件類型,這里的 d 代表目錄(directory)。d = 目錄, - = 文件, l = 鏈接文件(linkfile)。
后面以 3 個(gè)為一組,第一組 rwx 代表文件所有者權(quán)限,第二組 r-x 代表用戶組權(quán)限,第三組 r-x 代表其他用戶權(quán)限。
示例中的文件,文件所有者 root 有讀寫可執(zhí)行權(quán)限,root 用戶組的用戶有讀和可執(zhí)行權(quán)限,其他用戶有讀和可執(zhí)行權(quán)限。
- 查看文件創(chuàng)建或修改的具體的日期 : ls -al --full-time
- 查看 ls 的詳細(xì)用法: man ls 或 info ls
修改文件權(quán)限
- chgrp(change group):改變文件所屬用戶組
- chown(change owner):改變文件所有者
- chmod(change mod):修改文件的權(quán)限
修改用戶組
chgrp [-R] dirname/filename
# 將 install.log 的用戶組修改為 users
chgrp users install.log
修改文件所有者
chown 可以同時(shí)修改文件所屬的用戶組
chown [-R] 賬號(hào)名稱:組名 文件或目錄
# 將 install.log 的用戶組和所有者改為 root
chown root:root install.log
改變文件權(quán)限
權(quán)重分配: r:4 w:2 r:1
# 將文件權(quán)限設(shè)置為 -rwxr-xr
chmod 754 filename
# 設(shè)置一個(gè)可執(zhí)行文件,不讓其他人修改
chmod 755 filename # -rwxr-xr-x
符號(hào)類型改變文件權(quán)限
命令 |
身份 |
操作 |
文件 |
chmod |
u g o a |
+(加入) -(除去) =(設(shè)置) |
r w x |
文件或目錄 |
身份解釋: u = user, g = group,o = other, a = all
# 讓文件擁有執(zhí)行權(quán)限,但不知道原權(quán)限
chmod a+x filename
目錄與文件的權(quán)限意義
Linux 文件是否被執(zhí)行由 "x" 的權(quán)限決定,跟文件名沒有絕對的關(guān)系。
文件是存放實(shí)際數(shù)據(jù)的所在,目錄主要的內(nèi)容是記錄文件名列表。
文件的權(quán)限解釋
- r:可以讀取文件內(nèi)容
- w:可以編輯文件內(nèi)容
- x:文件具有被系統(tǒng)執(zhí)行的權(quán)限
目錄的權(quán)限解釋
- r:查詢該目錄下的文件名數(shù)據(jù)(可以用 ls)
- w:新建、刪除、重命名、轉(zhuǎn)義
- x:能否進(jìn)入該目錄
權(quán)限的配置文件
- 賬號(hào)信息: /etc/passwd
- 個(gè)人的密碼:/etc/shadow
- 組名:/etc/group
【綜合案例】
【題1.1】建立兩個(gè)用戶組group1和group2,以及三個(gè)用戶dennis、daniel、abigale,并且將前2個(gè)用戶分配在group1用戶組下,后一個(gè)分配在group2用戶組下

【題1.2】以dennis用戶登錄,創(chuàng)建一個(gè)Hello.java文件
【題1.3】以daniel用戶登錄,觀察是否可以訪問/home/dennis目錄以及讀或?qū)懫鋭?chuàng)建的Hello.java文件
【題1.4】以dennis用戶登錄,修改目錄/home/dennis及Hello.java文件的讀寫權(quán)限(更正:修改目錄權(quán)限的時(shí)候,應(yīng)該使用770,而不是760,否則權(quán)限不足)

【題1.5】重復(fù)【題1.3】
【題1.6】改變abigale的用戶組由group2變?yōu)間roup1

然后,可以使用cat/etc/passwd查看并確定

【參考】
-groupadd組名,在linux中添加組
-vi/etc/group,查看linux中所有組信息,可以看可以編輯
-cat/etc/group,查看linux中所有組信息,只可以看不可以編輯
-useradd‐g組名用戶名,創(chuàng)建用戶的同時(shí)指定將該用戶分配到哪個(gè)組下
-vi/etc/passwd,查看linux中所有用戶信息,可以看可以編輯
-cat/etc/passwd,查看linux中所有用戶信息,只可以看不可以編輯
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。