前言
上次我們我們聊了 什麼是文件權限以及怎麼查看文件權限,下面接着聊文件權限修改的那些事。
内容概要1、linux文件權限的修改
2、PHP操作文件權限
一、linux文件權限的修改linux文件權限修改,我理解的是有兩部分的意思:一是修改文件本身的權限,二是通過修改所有者改變文件的權限組成。
先說修改文件本身的權限問題。
修改文件本身的權限,首先要知道修改權限的命令chmod的用法,然後需要搞清楚如何表示出文件的權限(目标權限)。
chmod命令的用法:
#chmod 目标權限 文件/或文件夾(目錄)
如果是修改文件夾(目錄)下的所有文件權限,命令語法如下:
#chmod -R 目标權限 文件夾
先休息一下眼睛
1、數字型
所謂數字型,就是4代表r,2代表w,1代表x,0代表沒權限,将目标權限每三個為一組,按照數字代表轉化出來,并把權限加起來,最終形成三位數字,這三位數字就是目标權限的數字表示。
太繞了,上圖:
目标權限 數字轉化過程 數字表示法 rwx rwx r-x (4 2 1)(4 2 1)(4 0 1) 775 rw- r-x r-- (4 2 0)(4 0 1)(4 0 0) 654 說明:括号僅做分割之用,别當成乘法啊,哈哈
2、文本型
不說定義,我們上例子。
說,假設test.log的權限是:rwxrwxr-x,我們希望把這個文件的所有者權限去掉可執行的權限怎麼辦?
用數字型的話,就是:
chmod 675 ./test.log
文本型的表示方法是:
chmod u-x ./test.log
這都是什麼亂七八糟的?看官莫急,我們一點點看u-x到底是什麼鬼。
上一節中,我們知道,文件的權限有:
u權限:所有者權限
g權限:組成員權限
o權限:其他組成員的權限
a權限:所有人權限(上一節把這個拉下了,這裡補上)
所以u-x裡的u表示所有者權限,而其中的-表示減号,就是去掉某權限的意思,u-x表示所有者去掉執行權限(x)。
對應的,還有 号,表示增加權限,還有一個=号,表示重新定制權限,u=r表示所有者隻有讀權限。
是的,權限的表示方法仍舊是rwx-。
終于說完linux的文件本身權限修改的問題了(還有一些特殊權限的問題,用的少不表了)。
還剩一個問題:修改文件的所有者。使用chown命令即可,語法:
chown [選項]... [所有者][:[組]] 文件... 不多表,舉個常用例子:
#chown -R php:www ./dir
表示将dir文件的所有者改成www用戶組下的php用戶。
再休息一下吧
二、PHP操作文件權限php操作文件權限比較簡單:函數如下
chmod('文件路徑’,目标權限);
成功返回TRUE,失敗返回FALSE。
舉個例子:
chmod(‘./dir/file’,0755);
需要注意的是:
1、設置的文件不能是遠程文件。
2、目标權限可以是數字型,也可以是文本型
3、每次隻能操作一個文件或者文件夾。
另外,php有關權限的函數還有,mkdir()和chown()大夥翻翻手冊吧,我就不抄了。
理解有偏頗之處請大家指正。
點滴也分享,歡迎關注,點贊,評論,收藏,轉發,您的支持是最大的鼓勵。
原創不容易,轉載請注明出處:頭條号|PHP在路上
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!