西部開源學習筆記《unit 6》

##########################

##### unit6.文件權限 #####

##########################


########1.文件屬性的查看#######

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--

 *   $   @

*所有人的權限

$所有組的權限

@其他人的權限


3.“1”文件內容被系統記錄的次數


4.“root”:文件所有人


5.“root”:文件所有組


6.“46”:文件內容的大小


7.“Oct 1 05:03”:文件最後一次被修改的時間


8.“filename”:文件名字


########2.文件的權限#######

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權限,擁有組添加w權限

chmod ugo-r file2       ##file2用戶,組,其他人去掉r權限

chmod ug+x,o-r file3    ##file3用戶,組添加x權限;其他人去掉r權限


5.數字方式修改文件權限

chmod 修改後的權限值 file

chmod 777 file


7=rwx

6=rw-

5=r-x

4=r--

3=-wx

2=-w-

1=--x



#########3.設置umask值########

永久設定方式:

vim /etc/bashrc     ##shell

  70 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

  71 umask 002      ##普通用戶umask

  72 else

  73 umask 022      ##超級用戶umask

  74 fi


vim /etc/profile    ##系統

  59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

  60 umask 002      ##普通用戶umask

  61 else

  62 umask 022      ##超級用戶umask

  63 fi


注意:以上兩個文件的umask必須保持一致

source /etc/bashrc

source /etc/profile

讓設定立即生效



########4.特殊權限#########

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 directory

t=1

chmod 1xxx directory



補充:

1. b 塊設備

   l 鏈接

2.同時修改所有人和所有組的命令是

  chown student.student /mnt/find.out

  或chown student:student /mnt/find.out

3.chown +用戶名/用戶名id(若沒有用戶使用該id,則ls -l時直接顯示該id 號)

  ##一般不建議使用id號來修改文件該屬性

4.umask顯示的是0077,第一位爲特殊權限

5.當添加s特殊權限時,如果該二進制文件的所屬用戶發生改變,則需要重新賦予其s權限

6.echo $PATH 顯示當前用戶可執行命令的文件路徑

7.冒險位suid,強制位sgid,粘制位sticky


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章