FTPで作成されたファイルとディレクトリに、Apacheがファイルを読み書きするための正しい権限を与えるにはどうすればよいですか


8

私はWindowsの方が好きなので、このLinuxの基本的な質問を知らないことを許してください。

Apache2とvsftpのみがインストールされているLinux(Debian)サーバーの世話をしています。

何が起こっているのかというと、私はファイルとフォルダーを所有している人と絶えず戦いを繰り広げており、それを正しく行うことができないようです。

これはこれまでのところ私の理解です:

  • www-dataユーザーは、/ var / www / htmlの下のすべてのファイルが、フォルダーへの書き込みを必要とするスクリプトを実行するため、フォルダーとファイルの所有権を必要とします。そしてもちろん、http経由でページを提供できる必要があります。
  • 新しいファイルをアップロードできるようにする必要があるため、私のftpユーザー(ftpuserと呼ぶことにします)にも/ var / www / htmlフォルダー(再帰的)への書き込み権限が必要です。

これを念頭に置いて、ftpandwwwというグループを作成し、すべてのフォルダーとファイルをこのグループに割り当てました。これはある程度働いています...

FTPクライアントを使用して作成された新しいフォルダーに誤ったアクセス許可(FTPクライアントで変更することで修正できる)があることを除いて、私はほぼ正しい場所にいますが、www-dataはそれらに書き込むことができませんなぜなら、それらはftpuserによって所有されており、私はSSHでSSHを実行し、chownをftpandwwwグループに実行して、両方が幸せになるためです。

FTPで作成したすべての新しいフォルダーに正しい権限(774)を持たせ、ftpandwwwグループが自動的に所有するようにするにはどうすればよいですか?アップロードしてWeb経由で(書き込み権限で)提供できます。毎回新しいフォルダとファイル?


回答:


10

WebルートディレクトリでSetGID権限を使用し、それらを子に伝播します。

ディレクトリにSetGIDを適用すると、そのディレクトリ内のすべての新しいアイテムは、ユーザーのデフォルトのグループメンバーシップに関係なく、親と同じグループで作成されます。

SetGIDをファイルシステムオブジェクトに適用するにchmodは、許可コードの前に2を付けて使用します。
(例:740 => 2740)。

私は多くのSamba共有でSetGIDを使用しているため、ファイルには常に所有者Usersグループがあり、グループのメンバーは誰でもファイルを読み取ることができます(通常2750、所有者ユーザーのみがファイルに書き込むことができるように使用します)。

あなたの場合、次のようなものを実行してください(XXXを希望する権限に置き換えてください):

sudo chown -R  root:ftpandwww /var/www
sudo chmod -R 2XXX /var/www 

その後、新しいファイルとフォルダはのような所有権で出てきますftpuser:ftpandwww

編集:

ユースケースによっては、SetGIDで問題を解決できる可能性がありますが、グループの権限が正しくない(所有権は正しい)ために、一方または他方のユーザーが書き込みを拒否されるという問題が続く場合は、設定することをお勧めします。ファイルを作成するユーザーのためのカスタムUMASK

(デーモンであるため)ユーザーのUMASKを設定するのが難しい場合は、daemon-userのUMASK設定するオプションのこのスレッドを確認してください。

007グループメンバーにファイルの書き込みと削除を許可し、所有者以外には権限を付与しない場合は、マスクをお勧めします。


ありがとう、私はこれを試します。すべてのファイルとフォルダーがこの所有権を持っていると言及したとき、ftpuser:ftpandwwwはwww-dataが引き続きそれらを提供し、フォルダーに書き戻すための(スクリプトを介して)アクセス許可を持っていますか?再度、感謝します。
omega1

ローカル認証を使用しない限り、実際の所有者ユーザーはおそらくプロセスを実行しているユーザーです(ただし、アプリケーションに完全に依存しています)。どちらの場合も、質問への回答は、使用するXXXによって異なります。wwwdataとftpdataの両方が同じグループにあるため、770を指定すると、両方のアカウントがオブジェクトに書き込むことができます。ただし、740を指定した場合、所有者ユーザーのみが書き込みを実行できますが、ftpandwwwのすべてのメンバーは読み取りを実行できます。重要なのは、これらの操作にユーザー権限ではなくグループ権限を使用していることです。
フランクトーマス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.