1.文件屬性的查看
ls -l filename
-|rw-r--r--.|1| root| root|46 |Oct105:03 |filename
12 3 4 5 6 7 8
1、"-":文件類型
-##普通文件
d##目錄
c##字符設備
s##套接字
p##管道
b##快設備
l##連接
2、"rw-r--r--":文件讀寫權限 rw-|r--|r--
*$ @
*所有人的權限
$所有組的權限
@其他人的權限
3、"1":
對文件:文件內容被系統記錄的次數
對目錄:目錄中文件屬性的字節數
4、"root":文件所有人
5、"root":文件所有組
6、"46":文件內容的大小
7、"Oct1 05:03":文件最後一次被修改的時間
8、"filename":文件名字
2、文件所有人所有組的管理
chownusernamefile|dir##更改文件的所有人
chownusername:groupnamefile|dir##更改所有人所有組
chown -R usernamedir##更改目錄本身及裏面所有內容的所有人
chgrp -R groupnamedir##更改目錄本身及裏面所有內容的所有組
監控命令watch -n 1 ls -lR /mnt
3、文件普通權限
rw-|r--|r--
u go
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權限
5)數字方式修改該文件權限
在linux中
r=4
w=2
x=1
文件權限數字表示方式
rw-|r--|r--
u go
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件權限表示爲644
chmod修改後權限值filename
chmod777 filename
7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---
4、系統默認權限的設定
從系統存在角度來說,開放權力越大,系統存在意義越高從系統安全角度來說,開放權力越少,系統安全性越高所以系統設定新建文件或目錄會去掉一些權限設定方式 umask ##查看系統保留權限默認爲022
umask 077##修改該系統保留權限爲077,此設定爲臨時設定,只當前shell中生效
永久設定方式:
vim /etc/bashrc##shell
70if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
71 umask 002##普通用戶umask
72else
73 umask 077##超級用戶umask…
74fi
vim/etc/profile##系統
59if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
60umask 002##普通用戶umask
61else
62umask 077##超級用戶umask…
63fi
以上兩個文件umask設定值必須保持一致
source /etc/bashrc
source /etc/profile
讓設定立即生效
5、特殊權限
1.suid ##冒險位之針對二進制可執行文件,
文件內記錄的程序產生的進程的所有人爲文件所有人和進程發起人身份無關
設定方式:
chmod u+s file
suid=4
chmod 4xxx file
2.sgid##強制位
對文件:只針對二進制可執行文件,任何人運行二進制文件
程序時程序產生的進程的所有組都是文件的所有組和程序發起人組的身份無關
對目錄:當目錄有sgid權限後,目錄中新建的所有文件的所有組都自動歸屬到目錄的所有組之中,和文件建立者所在的組無關
設定方式:
chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
3.sticky ##粘制位t權限:
只針對與目錄,當一個目錄上有t權限,那麼目錄中的文件只能被所有人刪除
設定方式:
chmod o+t direcotry
t=1 chmod
chmod 1777 direcotry