一、檔案屬性檢視
ls -l filename 目錄屬性的大小(檔案名的字元總和)
-|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename
— ————————— — ———— ———— —— ———————————— ————————
1 2 3 4 5 6 7 8
目錄當中所包含的檔案個數
1."-":檔案類型
- ##普通檔案
d ##目錄
c ##字元裝置
s ##套接字
p ##管道
b ##快裝置
l ##連接配接
2."rw-r--r--":檔案讀寫權限
rw-|r--|r--
* $ @
*所有人的權限--u
$所有組的權限--g
@其他人的權限--o
3."1":
對檔案:檔案内容被系統記錄的次數
對目錄:目錄中檔案屬性的位元組數
4."root":檔案所有人
5."root":檔案所有組
6."46":檔案内容的大小
7."Oct 1 05:03":檔案最後一次被修改的時間
8."filename":檔案名字
圖示:檔案檢視ls -l /root ##root目錄下的檔案屬性檢視
<a href="https://s4.51cto.com/wyfs02/M02/A6/DB/wKioL1ncoNjAGZj1AACp9bwLPjY373.png-wh_500x0-wm_3-wmp_4-s_2432302367.png" target="_blank"></a>
二、檔案所有人所有組的管理
1. 更改檔案權限人/組
chown username file|dir ##更改檔案的所有人
chgrp username:groupname file|dir ##更改所有人所有組
圖示:目錄下檔案權限的更改
<a href="https://s2.51cto.com/wyfs02/M01/08/29/wKiom1ndEACxoa5fAACZ20qtTwI916.png-wh_500x0-wm_3-wmp_4-s_3278929735.png" target="_blank"></a>
2.更改目錄權限人/組
chown -R username dir ##更改目錄本身及裡面所有内容的所有人
圖示:目錄使用者權限的修改
<a href="https://s3.51cto.com/wyfs02/M01/08/29/wKiom1ndEBGion_SAACRehmsFYg012.png-wh_500x0-wm_3-wmp_4-s_3595423630.png" target="_blank"></a>
chgrp -R groupname dir ##更改目錄本身及裡面所有内容的所有組
圖示:目錄組權限的修改
<a href="https://s1.51cto.com/wyfs02/M02/08/29/wKiom1ndECLBWDIkAAC5evNjy8c282.png-wh_500x0-wm_3-wmp_4-s_376930923.png" target="_blank"></a>
$PS:
監控指令
watch -n 1 ls -lR /mnt ##ls -lR /mnt 檢視目錄下檔案的屬性,并且-R遞歸檢視mnt中目錄的檔案的屬性
三、檔案普通權限
u g o
u:檔案所有人對檔案可以讀寫
g:檔案組成員對檔案可讀
o:其他人對檔案可讀
u優先比對,g次優先,o當u,g不比對時比對
1.r
對檔案:可以檢視檔案中的字元
對目錄:可以檢視目錄中檔案的資訊
2.w
對檔案:可以更改檔案内字元
對目錄:可以在目錄中添加删除檔案
3.x
對檔案:可以運作檔案内記錄的程式動作
對目錄:可以進入目錄中
4.字元方式修改該檔案權限
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir
chmod u-x file1 ##file1擁有者去掉x權限
chmod g+w file1 ##file1擁有組添加w權限
chmod u-x,g+w file1 ##file1擁有者去掉x權,file1擁有組添加w權限
chmod ugo-r file2 ##file2的使用者組其他人去掉r權限
chmod ug+x,o-r file3 ##file3使用者群組添加x權限,其他人去掉r權限
圖示:chmod修改權限
<a href="https://s1.51cto.com/wyfs02/M00/A6/DB/wKioL1ncoZ2QIOclAACiiDLSMr8712.png-wh_500x0-wm_3-wmp_4-s_1804405452.png" target="_blank"></a>
5.數字方式修改該檔案權限
在linux中
r=4
w=2
x=1
檔案權限數字表示方式
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
是以檔案權限表示為644
chmod 修改後權限值 file
chmod 777 file
7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---
圖示:chmod數字修改權限
<a href="https://s5.51cto.com/wyfs02/M01/A6/DB/wKioL1ncocKBCiJQAACPdJyn9Fo917.png-wh_500x0-wm_3-wmp_4-s_2231505658.png" target="_blank"></a>
四、系統預設權限的設定
從系統存在角度來說,開放權力越大,系統存在意義越高
從系統安全角度來說,開放權力越少,系統安全性越高
是以系統設定建立檔案或目錄會去掉一些權限
設定方式
umask ##檢視系統保留權限預設為022
umask 077 ##修改該系統保留權限為077,此設定為臨時設定,隻目前shell中生效
圖示:umask系統權限與臨時權限
<a href="https://s3.51cto.com/wyfs02/M00/A6/DB/wKioL1ncodeACGyoAAB4yx1vQk8107.png-wh_500x0-wm_3-wmp_4-s_3755303141.png" target="_blank"></a>
永久設定方式:
[root@localhost Desktop]# vim /etc/bashrc ##shell系統檔案配置
/etc/bashrc檔案内部分内容:
70 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
71 umask 002 ##普通使用者umask
72 else
73 umask 077 ##超級使用者umask
74 fi
圖示:/etc/bashrc檔案内容
<a href="https://s3.51cto.com/wyfs02/M01/08/29/wKiom1ndEPaATbCTAAB4yx1vQk8936.png-wh_500x0-wm_3-wmp_4-s_266351626.png" target="_blank"></a>
[root@localhost Desktop]# vim /etc/profile ##系統
/etc/profile檔案内部分内容:
59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
60 umask 002 ##普通使用者umask
61 else
62 umask 077 ##超級使用者umask
63 fi
圖示:/etc/profile檔案内容
<a href="https://s5.51cto.com/wyfs02/M02/08/29/wKiom1ndESrAqlnUAAAsHNalWug033.png-wh_500x0-wm_3-wmp_4-s_342996024.png" target="_blank"></a>
以上兩個檔案umask設定值必須保持一緻
source /etc/bashrc
source /etc/profile
讓設定立即生效
五、特殊權限
1.suid ##冒險位
隻針對二進制可執行檔案,
檔案内記錄的程式産生的程序的所有人為檔案所有人
和程序發起人身份無關
設定方式:
[root@lacalhost Desktop]# chmod u+s file ##suid=4,也可以用數字修改權限chmod 4xxx file
檢查是否可以使用修改過的檔案:切換到普通使用者,用普通使用者以超級使用者的身份執行被賦予特殊權限的指令
比如用/bin/touch,是touch指令的配置檔案
[root@lacalhost Desktop]# chmod u+s /bin/touch
切換使用者到普通使用者
[westos@lacalhost ~]$ /bin/touch /root/file ##/bin/touch 相當于普通使用者以超級使用者的身份執行的建立為檔案的指令,/root/file是一個對于普通使用者來說不能操作的目錄
圖示:執行過程
<a href="https://s4.51cto.com/wyfs02/M00/08/29/wKiom1ndEUqg6_HhAACIrYLXf1U066.png-wh_500x0-wm_3-wmp_4-s_3953586644.png" target="_blank"></a>
2.sgid ##強制位
對檔案:隻針對二進制可執行檔案,
任何人運作二進制檔案
程式時程式産生的程序的所有組都是檔案的所有組
和程式發起人組的身份無關
對目錄:當目錄有sgid權限後,目錄中建立的所有檔案的所有組
都自動歸屬到目錄的所有組之中,和檔案建立者所在的組無關
[root@lacalhost Desktop]# chmod g+s file|dir
##sgid=2,也可以用數字修改權限 chmod 2xxx file|dir,組必須有寫的功能
<a href="https://s4.51cto.com/wyfs02/M01/08/29/wKiom1ndEYvw_3akAACIrYLXf1U954.png-wh_500x0-wm_3-wmp_4-s_2090544569.png" target="_blank"></a>
3.sticky ##粘制位
t權限:
隻針對與目錄,當一個目錄上有t權限,那麼目錄中的檔案隻能被所有者删除
[root@lacalhost Desktop]# chmod o+t direcotry
##t=1,是以可以用數字修改權限,chmod 1777 direcotry
用普通使用者登陸并且在被加t權限的目錄下建立檔案,這是檔案的所有者為建立他的使用者,再用另外普通使用者登陸去删除剛才建立的檔案,是不被允許的。
<a href="https://s2.51cto.com/wyfs02/M01/A6/DC/wKioL1ncoo6CPQ9-AADefzjtP20643.png-wh_500x0-wm_3-wmp_4-s_274427269.png" target="_blank"></a>
本文轉自 無緣 51CTO部落格,原文連結:http://blog.51cto.com/13352594/1975401