網頁

2020年2月11日 星期二

cygwin 檔案及目錄設定不同權限的做法

按原 cygwin 的預設預設權限權限方式為目錄 770 檔案 750 ,但不知為什麼有少數幾台主機所使用的目錄與檔案預設權限都是 770 (查詢 umask 後都是正確的 0022)。

可以使用以下方式直接重設想要的權限:

使用 find 來執行 chmod:

find Apache2/ -type d -exec chmod 770 {} \; <= /www 內所有目錄
find Apache2/ -type f -exec chmod 750 {} \; <= /www 內所有檔案

find 的 -type 參數可以指定檔案的類型,常用的選項有:

d:目錄。

p:具名的 pipe(FIFO)。

f:一般的檔案。

l:連結檔,如果與 -L 或 -follow 參數同時使用時,就只會搜尋到有問題的連結檔,如果想要與 -L 同時使用,請改用 -xtype。

s:socket 檔案。

其它用的到的 find 指令

//找出當下目錄權限為 777 的所有檔案

find . -type f -perm 0770

//找出當下目錄權限不是 777 的所有檔案
find . -type f ! -perm 0770
雜記

目前遇到的狀況是在 htdocs 目錄內新增的檔案或目錄的權限會變成 ---rwx--- 的權限異常狀況。這也是為什麼會有這篇的存在。

發生原因不明,查看 umask 的預設設定皆正常,後來乾脆將 htdocs 目錄刪除,再利用 ssh ftp 帳號登入後,用這個身份新增目錄(e.g. mkdir htdocs),這時在這個特定的 htdocs 目錄內所新增的權限就是預設給的權限。


相關參考: