qt科技感ui界面sem優(yōu)化軟件哪家好
權(quán)限目錄
- 1. 前言
- 2. 權(quán)限
- 2.1 修改權(quán)限
- 2.2 有無權(quán)限的對比
- 2.3 另外一個(gè)修改權(quán)限的方法
- 2.3.1 更改用戶角色
- 2.3.2 修改文件權(quán)限屬性
- 3. 第一個(gè)屬性列
- 4. 目錄權(quán)限
- 5. 默認(rèn)權(quán)限
1. 前言
在之前的一篇博客中分享了關(guān)于權(quán)限的一些知識,這次緊接上次的進(jìn)行,有需要了解上次的可以點(diǎn)這個(gè)鏈接: link。
話不多說,繼續(xù)開始權(quán)限篇。
2. 權(quán)限
2.1 修改權(quán)限
我們需要先知道,一個(gè)文件的權(quán)限,誰能修改?
一般來說有兩個(gè):一個(gè)是文件的擁有者,另外一個(gè)是root。
要修改文件的權(quán)限需要一個(gè)命令chmod
舉個(gè)例子:將a.txt中擁有者的權(quán)限中,去掉r。
我們來看一下:
chmod u-r a.txt
也可以同時(shí)去掉多個(gè)權(quán)限,比如:將b.txt中擁有者的rw都去掉
可以同時(shí)去掉,當(dāng)然也可以同時(shí)加上:
將a.txt中擁有者的rwx都加上:
這里擁有者用u
表示,所屬組用g
表示,other用o表示。也可以全部都同時(shí)加減全限,此時(shí)用all
。
來看一個(gè)所屬組的例子:
去掉a.txt中所屬組r的權(quán)限:
chmod g-r a.txt
如果想同時(shí)操作多個(gè)對象,也是一樣的,舉個(gè)例子:將a.txt中擁有者去掉r,所屬組去掉w。
chmod u-r,g-w a.txt
所以我們可以更改一個(gè)人的一個(gè)權(quán)限,一個(gè)人的多個(gè)權(quán)限,多個(gè)人的一個(gè)權(quán)限,多個(gè)人的多個(gè)權(quán)限,不過組合時(shí)用逗號做分離。
如果給所有人都加上同一個(gè)權(quán)限,可以直接用all。
舉個(gè)例子:將b.txt中所有人都加上w。
chmod a+w b.txt
總之:
u,g,o位置可以隨便寫,但不建議。
2.2 有無權(quán)限的對比
用普通賬號創(chuàng)建一個(gè)文件t.txt
去掉文件的所有權(quán)限后,執(zhí)行讀文件和向文件寫入,發(fā)現(xiàn)都不行。
對于普通用戶,自身要受到對應(yīng)權(quán)限的約束,即使這個(gè)文件是直接的。
當(dāng)把t.txt中所有的權(quán)限全部去掉之后,root還是想寫入就能寫,想讀就能讀。
root賬號不受權(quán)限的約束。
當(dāng)把賬號切換成普通用戶時(shí),屬于other,沒有讀寫權(quán)限,我們發(fā)現(xiàn)不能讀寫t.txt。
所以說普通用戶是受到權(quán)限的約束的。
總之:權(quán)限存在的意義就是保證普通用戶的文件的一般安全性。
在身份識別的時(shí)候,只識別一次。
更改文件的擁有者,先切換到root賬號下。
把文件的擁有者改為root
chown root t.txt
給所屬組加上rw權(quán)限
當(dāng)zxctscl不是擁有者時(shí),自動(dòng)匹配到后面的所屬組。
發(fā)現(xiàn)所屬組仍然可以讀寫。
把文件的所屬組也改為root
chgrp root t.txt
切換為普通賬號時(shí),發(fā)現(xiàn)不能讀寫了:
給other加上rw權(quán)限
chmod o+rw t.txt
這時(shí)使用普通賬戶就能繼續(xù)進(jìn)行讀寫。
所以說:訪問一個(gè)文件時(shí),得先判定相對于這個(gè)文件來說是擁有者、所屬組還是other,然后再在這個(gè)33為一組特定的權(quán)限列表里,進(jìn)行權(quán)限識別,然后才能決定到底能不能訪問這個(gè)文件。
2.3 另外一個(gè)修改權(quán)限的方法
2.3.1 更改用戶角色
用普通賬戶新建一個(gè)文件file.txt
想把文件的擁有者改為rjjjcph,但是不被允許:
所以說在把文件給別人時(shí)候,可能權(quán)限不允許,但是又要把文件給別人時(shí),如果是普通賬戶就強(qiáng)制給,加上sudo
。而root賬號不需要加。
sudo chown rjjjcph file.txt
把指令進(jìn)行提權(quán),把文件給別人是強(qiáng)制給的。
把所屬組也改為rjjjcph:
那么怎么改回去呢?
直接sudo chown
sudo chown zxctscl:zxctscl file.txt
也可以將擁有者改為zxctscl,將所屬組改為root
sudo chown zxctscl:root file.txt
那么為什么不需要修改other呢?
但修改了擁有者和所屬組,那么other自然也就改變了。
2.3.2 修改文件權(quán)限屬性
在之前就談到:
有就對應(yīng)1,沒有就對應(yīng)0。
所以對于a.txt中的
擁有者: 110 -> 6
所屬組:110 -> 6
other:100 -> 4
用8進(jìn)制表示就是664
所以可以用8進(jìn)制來表示權(quán)限。
舉個(gè)例子:把所有人的所有權(quán)限都加上
chmod 777 a.txt
只想保留u和g的rw就是660:
chmod 660 a.txt
總之第二種修改文件權(quán)限屬性的方法就是
chmod 八進(jìn)制 filename
3. 第一個(gè)屬性列
在window中是通過文件的后綴來判斷文件類型。
Linux并不是通過文件后綴來判斷的,那么它是怎么區(qū)別的呢?
通過第一個(gè)屬性列來區(qū)分。
d:文件夾
-:普通文件
l:軟鏈接(類似Windows的快捷方式)
b:塊設(shè)備文件(例如硬盤、光驅(qū)等)
p:管道文件
c:字符設(shè)備文件(例如屏幕等串口設(shè)備)
s:套接口文件
常見的就是-和d.
用mkdir
創(chuàng)建的目錄,就是以d開頭。
磁盤:
顯示器就是字符設(shè)備:
Linux系統(tǒng)不以文件后綴作為區(qū)分文件類型,但并不是代表gcc不需要。
所以說Linux!=gcc
也就是說Linux不區(qū)分文件類型,但是Linux上面的工具可能會(huì)區(qū)分。
所以我們可以對Linux的文件使用后綴。
4. 目錄權(quán)限
如果我們進(jìn)入一個(gè)目錄,那么需要什么權(quán)限呢?
先去掉擁有者目錄的r,結(jié)果顯示能進(jìn)入目錄:
所以進(jìn)入一個(gè)目錄與r無關(guān)
但是不能查看指定目錄內(nèi)的信息
加上r,去掉w,看看能不能進(jìn)入一個(gè)目錄?
發(fā)現(xiàn)是可以進(jìn)入目錄的。
但是不能創(chuàng)建一個(gè)文件。
加上r,去掉w,看看能不能進(jìn)入一個(gè)目錄?
發(fā)現(xiàn)不能進(jìn)入目錄了。
總之:
目錄的r權(quán)限:用戶能否查看指定目錄內(nèi)的信息。
目錄的w權(quán)限:決定用戶是否能在指定目錄內(nèi)新建、修改、刪除文件。
目錄的x權(quán)限:決定用戶能否進(jìn)入一個(gè)目錄
5. 默認(rèn)權(quán)限
在Linux創(chuàng)建文件的時(shí)候,為什么好像有默認(rèn)權(quán)限?為什么就是我們所看到的這樣?
創(chuàng)建普通文件時(shí),起始權(quán)限是:0666,去掉x
創(chuàng)建目錄文件時(shí),起始權(quán)限是:0777,包含x
我們使用umask
來看看默認(rèn)值,不同的平臺可能會(huì)有不同,這個(gè)是正常的。
這個(gè)默認(rèn)值代表創(chuàng)建文件時(shí),要從起始權(quán)限中,過濾掉。
我們也可以修改默認(rèn)值:
此時(shí)新的文件權(quán)限默認(rèn)權(quán)限就改變了。
來計(jì)算一下普通文件,顯示的權(quán)限怎么來的:
先將umask
按位取反,在將666與取反之后的進(jìn)行按位與,最后得到的就是664,剛好就是rw-r–r–
有錯(cuò)誤請指出,大家一起進(jìn)步吧!