前言
上次我們我們聊了 什麼是檔許可權以及怎麼查看檔許可權, 下面接著聊檔許可權修改的那些事。
內容概要1、linux檔許可權的修改
2、PHP操作檔許可權
一、linux檔許可權的修改linux檔許可權修改, 我理解的是有兩部分的意思:一是修改檔本身的許可權, 二是通過修改所有者改變檔的許可權組成。
先說修改文件本身的許可權問題。
修改檔本身的許可權, 首先要知道修改許可權的命令chmod的用法, 然後需要搞清楚如何表示出檔的許可權(目標許可權)。
chmod命令的用法:
#chmod 目標許可權 檔/或資料夾(目錄)
如果是修改資料夾(目錄)下的所有檔許可權, 命令語法如下:
#chmod -R 目標許可權 資料夾
舉個栗子:
# chmod 777 ./dir/test.log
# chmod 777 ./dir
# chmod -R 777 ./dir
解讀:
第一個:將dir資料夾下的文件test.log改成許可權為777
第二個:將dir資料夾本身修改許可權為777
第三個:將dir資料夾下的所有檔和資料夾都改成許可權為777
等等, 777是目標許可權, 也就是將要設置檔的許可權, 777是啥意思呢?
這就是我們要搞清楚的第二個問題:如何表示出我們要把檔修改後的檔許可權(目標許可權)
不幸的是, 表示方法竟然有兩種:一種是數字型, 另一種是文本型。 暈, 還要學兩種……
先休息一下眼睛
1、數字型
所謂數字型, 就是4代表r, 2代表w, 1代表x, 0代表沒許可權, 將目標許可權每三個為一組, 按照數字代表轉化出來, 並把許可權加起來, 最終形成三位元數位, 這三位元數位就是目標許可權的數位表示。
太繞了, 上圖:
目標許可權 數位轉化過程數位標記法rwx rwx r-x(4+2+1)(4+2+1)(4+0+1)775rw- 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操作文件許可權比較簡單:函數如下
chmod('檔路徑’,目標許可權);
成功返回TRUE,失敗返回FALSE。
舉個例子:
chmod(‘./dir/file’,0755);
需要注意的是:
1、設置的檔不能是遠程檔。
2、目標許可權可以是數字型,也可以是文本型
3、每次只能操作一個檔或者資料夾。
另外,php有關許可權的函數還有,mkdir()和chown()大夥翻翻手冊吧,我就不抄了。
理解有偏頗之處請大家指正。
點滴也分享,歡迎關注,點贊,評論,收藏,轉發,您的支持是最大的鼓勵。
再休息一下吧
php操作文件許可權比較簡單:函數如下
chmod('檔路徑’,目標許可權);
成功返回TRUE,失敗返回FALSE。
舉個例子:
chmod(‘./dir/file’,0755);
需要注意的是:
1、設置的檔不能是遠程檔。
2、目標許可權可以是數字型,也可以是文本型
3、每次只能操作一個檔或者資料夾。
另外,php有關許可權的函數還有,mkdir()和chown()大夥翻翻手冊吧,我就不抄了。
理解有偏頗之處請大家指正。
點滴也分享,歡迎關注,點贊,評論,收藏,轉發,您的支持是最大的鼓勵。