一趣钱、Linux權(quán)限介紹
在linux中的每一個(gè)文件或目錄都包含有訪問權(quán)限慎宾,這些訪問權(quán)限決定了誰能訪問和如何訪問這些文件和目錄。用戶可以利用Linux系統(tǒng)提供的chmod命令來重新設(shè)定不同的訪問權(quán)限。也可以利用chown命令來更改某個(gè)文件或目錄的所有者献丑。利用chgrp命令來更改某個(gè)文件或目錄的用戶組涛贯。
可以通過以下三種方式限制方位權(quán)限:
- 只用戶自己訪問:
- 允許一個(gè)預(yù)先指定的用戶組中的用戶訪問
- 允許系統(tǒng)中的任何用戶訪問
同時(shí)诽嘉,用戶能夠控制一個(gè)文件或目錄的訪問程度,一個(gè)文件或目錄可能有讀、寫以及執(zhí)行權(quán)限虫腋;當(dāng)創(chuàng)建一個(gè)文件時(shí)骄酗,系統(tǒng)會(huì)自動(dòng)賦予文件的所有者讀和寫的權(quán)限,這樣可以允許所有者能夠顯示文件內(nèi)容和修改文件悦冀。文件所有者可以將這些權(quán)限改變?yōu)槿魏嗡胫付ǖ臋?quán)限趋翻。
每一個(gè)用戶都有它自身的讀、寫和執(zhí)行權(quán)限盒蟆。
- 第一套權(quán)限控制訪問自己的文件權(quán)限嘿歌,即所有者權(quán)限。
- 第二套權(quán)限控制用戶組訪問其中一個(gè)用戶的文件的權(quán)限茁影。
- 第三套權(quán)限控制其他所有用戶訪問一個(gè)用戶的文件的權(quán)限宙帝,這三套權(quán)限賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀募闲、寫及執(zhí)行權(quán)限就構(gòu)成了一個(gè)有9種類型的權(quán)限組步脓。
有三種不同類型的用戶可對文件或目錄進(jìn)行訪問:文件所有者,同組用戶浩螺、其他用戶靴患。
所有者一般是文件的創(chuàng)建者。所有者可以允許同組用戶有權(quán)訪問文件要出,還可以將文件的訪問權(quán)限賦予系統(tǒng)中的其他用戶鸳君。在這種情況下,系統(tǒng)中每一位用戶都能訪問該用戶擁有的文件或目錄患蹂。
查看文件權(quán)限:ls -l file
?
bash-3.2# ls -l test.html
-rw-r--r-- 1 tongkun staff 208 12 26 21:18 test.html
說明:
- 橫線代表空許可
- r代表只讀
- w代表寫
- x代表可執(zhí)行
注意這里有10個(gè)位置或颊,第一個(gè)字符制定文件類型。如果第一個(gè)字符是橫線传于,表示一個(gè)非目錄文件囱挑,如果是d,表示是一個(gè)目錄沼溜。
-rw-r--r-- 說明:
test.html是一個(gè)普通文件平挑,對屬主有讀寫權(quán)限,對屬同組用戶有只讀權(quán)限系草,對其他用戶有只讀權(quán)限通熄。
二、使用chmod的字母和數(shù)字改變文件或目錄的訪問權(quán)限
- chmod命令用于改變文件活目錄的訪問權(quán)限
- chmod有兩種用法找都。一種是包含字母和操作符表達(dá)式的文字設(shè)定法唇辨;另一種是包含數(shù)字的數(shù)字設(shè)定法。
- ?
1. 文字設(shè)定法
chmod [who] [+ | - | =] [mode] 文件名
命令中各選項(xiàng)的含義是:
- u 表示用戶(user),即文件和目錄的所有者
- g 表示同組用戶(group)檐嚣,即與文件屬主有相同id的所有用戶
- o 表示其他用戶
- a 表示所有用戶助泽,他是系統(tǒng)的默認(rèn)值
操作符:
- + 添加某個(gè)權(quán)限
- - 取消某個(gè)權(quán)限
- = 賦予給定權(quán)限并取消其他所有權(quán)限(如果有的話)
mode所表示的權(quán)限可用于下注字符的任意組合:
- r 可讀
- w 可寫
- x 可執(zhí)行
- X 只有目標(biāo)文件對某些用戶是可執(zhí)行的或該目標(biāo)文件是目錄時(shí)才追加x 屬性啰扛。
- s 在文件執(zhí)行時(shí)把進(jìn)程的屬主或組ID置為該文件的文件屬主。方式“u+s”設(shè)置文件的用戶ID位嗡贺,“g+s”設(shè)置組ID位隐解。
- t 保存程序的文本到交換設(shè)備上。
- u 與文件屬主擁有一樣的權(quán)限诫睬。
- g 與和文件屬主同組的用戶擁有一樣的權(quán)限煞茫。
- o 與其他用戶擁有一樣的權(quán)限。
文件名:以空格分開的要改變權(quán)限的文件列表摄凡,支持通配符续徽。
在一個(gè)命令行中可給出多個(gè)權(quán)限方式,其間用逗號隔開亲澡。例如:chmod g+r钦扭,o+r example
2. 數(shù)字設(shè)定法
用數(shù)字表示的屬性的含義:0表示沒有權(quán)限,1表示可執(zhí)行權(quán)限床绪,2表示可寫權(quán)限客情,4表示可讀權(quán)限,然后將其相加癞己。所以數(shù)字屬性的格式應(yīng)為3個(gè)從0到7的八進(jìn)制數(shù)膀斋,其順序是(u)(g)(o)。
例如痹雅,如果想讓某個(gè)文件的屬主有“讀/寫”二種權(quán)限仰担,需要把4(可讀)+2(可寫)=6(讀/寫)。
數(shù)字設(shè)定法的一般形式為:
chmod [mode] 文件名?
文件和目錄的權(quán)限表示绩社,是用rwx這三個(gè)字符來代表所有者摔蓝、用戶組和其他用戶的權(quán)限。有時(shí)候铃将,字符似乎過于麻煩项鬼,因此還有另外一種方法是以數(shù)字來表示權(quán)限,而且僅需三個(gè)數(shù)字劲阎。
- r:對應(yīng)數(shù)值4
- w:對應(yīng)數(shù)值2
- x:對應(yīng)數(shù)值1
- -:對應(yīng)數(shù)值0
只是包rwx看成二進(jìn)制數(shù)。有則1表示鸠真,無則0表示悯仙。所以 -rwx r-x r--則表示為111 101 100 十進(jìn)制數(shù)為754
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執(zhí)行
那么,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--吠卷,那么轉(zhuǎn)換成二進(jìn)制數(shù)就是110 110 100锡垄,再每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù),就得到664祭隔,因此我 們執(zhí)行命令:
例如货岭,我們想讓a.txt這個(gè)文件的權(quán)限為:
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執(zhí)行
那么路操,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--,那么轉(zhuǎn)換成二進(jìn)制數(shù)就是110 110 100千贯,再每三位轉(zhuǎn)換成為一個(gè)十進(jìn)制數(shù)屯仗,就得到664,因此我 們執(zhí)行命令:
chmod 644 a.txt
如果一個(gè)文件的權(quán)限全部放開搔谴,則權(quán)限數(shù)字即為 777
chmod 777 a.txt
如果想一次修改某個(gè)目錄下所有文件的權(quán)限魁袜,包括子目錄中的文件權(quán)限也要修改,要使用參數(shù)-R表示啟動(dòng)遞歸處理敦第。
chomd -R 777 /Hexo
則Hexo目錄下所有文件對所有用戶授予讀寫和執(zhí)行的權(quán)限峰弹。
三、是用chown更改文件的擁有者權(quán)限
chown將指定文件的擁有者改為指定的用戶或組芜果,用戶可以是用戶名或者用戶ID鞠呈;組可以是組名或者組ID;文件是以空格分開的要改變權(quán)限的文件列表右钾,支持通配符粟按。系統(tǒng)管理員經(jīng)常使用chown命令,在將文件拷貝到另一個(gè)用戶的名錄下之后霹粥,讓用戶擁有使用該文件的權(quán)限灭将。
命令說明
1.命令格式:
chown [選項(xiàng)]... [所有者][:[組]] 文件...
2.命令功能:
通過chown改變文件的擁有者和群組。在更改文件的所有者或所屬群組時(shí)后控,可以使用用戶名稱和用戶識別碼設(shè)置庙曙。普通用戶不能將自己的文件改變成其他的擁有者。其操作權(quán)限一般為管理員浩淘。
3.命令參數(shù):
必要參數(shù):
- -c 顯示更改的部分的信息
- -f 忽略錯(cuò)誤信息
- -h 修復(fù)符號鏈接
- -R 處理指定目錄以及其子目錄下的所有文件
- -v 顯示詳細(xì)的處理信息
- -deference 作用于符號鏈接的指向捌朴,而不是鏈接文件本身
選擇參數(shù):
- --reference=<目錄或文件> 把指定的目錄/文件作為參考,把操作的文件/目錄設(shè)置成參考文件/目錄相同擁有者和群組
- --from=<當(dāng)前用戶:當(dāng)前群組> 只有當(dāng)前用戶和群組跟指定的用戶和群組相同時(shí)才進(jìn)行改變
- --help 顯示幫助信息
- --version 顯示版本信息
命令實(shí)例
實(shí)例1. 改變擁有者和群組
命令:chown tongkun:everyone Mysql日志分析.md
說明:更改擁有者為tongkun张抄, 群組為everyone群組
實(shí)例2. 更改目錄的擁有者和群組
命令:chown -R tongkun:everyone dir
說明:更改目錄以及子目錄子文件的擁有者和群組