檔案權限:

檔案權限:

我想給一個目錄755權限,所以我使用:

# chmod -R 755 /my/folder/

它適用於我的資料夾內的所有文件,但問題是我使用在此資料夾中建立新文件的腳本,預設情況下權限為 600。

我如何對這些「未來」文件施加 755 權限?

- 編輯 -

我使用一個腳本來提供有關校園網路流量的資訊。我每 10 分鐘就會有一個新文件,位於名為「旅程」的資料夾中,位於月份資料夾中,如下所示:

ls -lrt /home/netmet/secure/2017-04/2017-04-27/
total 118548
-rwxr-sr-x 1 root root   85922 avril 27 00:10 zzaccounting.dmp-00-00
-rwxr-sr-x 1 root root   54874 avril 27 00:20 zzaccounting.dmp-00-10
-rwxr-sr-x 1 root root   33534 avril 27 00:30 zzaccounting.dmp-00-20
-rwxr-sr-x 1 root root   48890 avril 27 00:40 zzaccounting.dmp-00-30
-rwxr-sr-x 1 root root   36878 avril 27 00:50 zzaccounting.dmp-00-40
-rwxr-sr-x 1 root root   37034 avril 27 01:00 zzaccounting.dmp-00-50
-rwxr-sr-x 1 root root   38154 avril 27 01:10 zzaccounting.dmp-01-00
-rwxr-sr-x 1 root root   38318 avril 27 01:20 zzaccounting.dmp-01-10
-rwxr-sr-x 1 root root   26978 avril 27 01:30 zzaccounting.dmp-01-20
-rwxr-sr-x 1 root root   31558 avril 27 01:40 zzaccounting.dmp-01-30
-rwxr-sr-x 1 root root   23662 avril 27 01:50 zzaccounting.dmp-01-40
-rwxr-sr-x 1 root root   32298 avril 27 02:00 zzaccounting.dmp-01-50
-rwxr-sr-x 1 root root   30282 avril 27 02:10 zzaccounting.dmp-02-00
-rwxr-sr-x 1 root root   31110 avril 27 02:20 zzaccounting.dmp-02-10
-rwxr-sr-x 1 root root   25718 avril 27 02:30 zzaccounting.dmp-02-20
-rwxr-sr-x 1 root root   26306 avril 27 02:40 zzaccounting.dmp-02-30
-rwxr-sr-x 1 root root   23690 avril 27 02:50 zzaccounting.dmp-02-40
-rwxr-sr-x 1 root root   23002 avril 27 03:00 zzaccounting.dmp-02-50
-rwxr-sr-x 1 root root   21854 avril 27 03:10 zzaccounting.dmp-03-00

在這裡,我手動更改了權限,但是當新文件出現時,我有這個:

-rw------- 1 root root 3479106 avril 27 15:50 zzaccounting.dmp-15-40

問題是對於下面的每個資料夾和文件/home/netmet/安全/我想要預設755權限。

我已經這樣做了:

chmod -R g+s /home/netmet/secure   
setfacl -d -m g::rwx /home/netmet/secure   
setfacl -d -m o::rx /home/netmet/secure   

答案1

嘗試umask在您的資料夾中運行。如果它返回“0022”以外的任何內容,那麼這就是您的問題。在你的情況下,它應該初始輸出“0177”。建立目錄時的權限系統基本上是計算出來的: default - umask0777是目錄的預設模式,0666是普通檔案的預設模式,但是有不同的umasks,如果我理解這些事情正確的話。嘗試執行umask a=rx,uu+w.

編輯:您可以使用 umask 為目錄提供執行位,以便能夠 cd 進入該目錄,但不能進入檔案。出於安全考慮,必須手動給這些執行位。只需添加chmod +x <file>到您的腳本中即可。並且,在文件上設定的執行標誌除了可執行文件之外的任何內容都無效。

答案2

我猜你正在運行的腳本產生umask 設定為 0077 的環境中的檔案。

請注意,umask 是任何進程繼承環境的一部分,通常在登入時從預設「設定檔」設定。任何進程(shell)都可以使用「umask」指令修改自己的和後代子程序(初始)的umask。

目前 umask 中的位元將阻止創建在其權限中設定了這些位元的檔案(因此是“掩碼”,屏蔽生成的權限位)

答案3

筆記:這並不理想,應被視為臨時解決方法

您可以建立每 5 分鐘或根據首選執行 chmod 指令的 cron 作業。

還有inotify

相關內容