ファイルの権限:


9

ディレクトリに755のアクセス許可を付与したいので、次を使用します。

# chmod -R 755 /my/folder/

それは私のフォルダー内のすべてのファイルに対して機能しますが、問題は、このフォルダーに新しいファイルを作成するスクリプトを使用することです。デフォルトでは、アクセス許可は600です。

これらの「将来の」ファイルにどのように755の権限を課すことができますか?

-編集-

キャンパスのネットワークトラフィックに関する情報を提供するスクリプトを使用しています。10分ごとに新しいファイルがあり、journeyというフォルダにあります。これは、次のようにmonthフォルダにあります。

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 / secure /の下のすべてのフォルダーとファイルについて、デフォルトで755の権限が必要なのです。

私はすでにこれを行っています:

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

3
ACLが答えです。これは以前に議論れました
d3ag0s

8
ACLはをオーバーライドするための答えumaskですが、モードでファイルを作成するプログラムを意図的にオーバーライドするための答えではありません0600。参考資料については、こちらをご覧ください。
ilkkachu 2017

1
そしてもう1つの詳細:デフォルトでumaskは、実行ビットをファイルに追加するために使用することはできません。これは手動で行う必要があります
Romeo Ninov

umaskが機能しない
klaypez

ファイルの作成に使用するスクリプトを編集できますか?ファイルはどのようにして最終的なディレクトリ(例:)に移動し2017-04-27、どのようにして最初にディレクトリを作成しますか?これらの詳細で質問を更新してください。
Tigger

回答:


1

umaskフォルダで実行してみてください。「0022」以外が返される場合は、これが問題です。あなたの場合、それは最初に「0177」を出力するはずです。ディレクトリを作成するときの許可システムは基本的に計算されます: default - umask0777はディレクトリのデフォルトモードであり、0666は通常のファイルですが、これらを正しく理解していれば、異なるumaskがあります。実行してみてくださいumask a=rx,uu+w

編集:umaskを使用してディレクトリに実行ビットを与え、そこにcdできるようにしますが、ファイルにはできません。セキュリティのため、これらには手動で実行ビットを与える必要があります。chmod +x <file>スクリプトに追加するだけです。また、実行可能ファイル以外に実行フラグを設定しても効果はありません。


1
umaskシェルコマンドが経路に依存しない、それだけで、それを実行しているユーザーに依存し、各ユーザがログイン時に定義された特定のumask値を有し、それは後で変更することができます。これは、新しいファイル許可がどのように作成されるかを定義します。
Patrick Mevzek 2017年

それはchmod a=rx,u+wあなたの返事にあるべきです。
Patrick Mevzek 2017年

1

umaskが0077に設定されている環境でファイルを生成するスクリプトを実行していると思います。これにより、生成プログラムが「グループ」および「その他」の許可ビットに許可ビットを設定できなくなります。

umaskは、プロセスの継承環境の一部であり、通常、ログイン時にデフォルトの「プロファイル」から設定されることに注意してください。任意のプロセス(シェル)は、 'umask'コマンドを使用して、自分の子孫(子)の(初期)umaskを変更できます。

現在のumaskのビットは、これらのビットが許可に設定されたファイルの作成を防止します(その結果、「マスク」、つまり結果の許可ビットがマスクされます)


0

:これは理想的ではなく、一時的な回避策と見なす必要があります

5分ごとに、または必要に応じて、chmodコマンドを実行するcronジョブを作成できます。

inotifyもあります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.