web-dev-qa-db-ja.com

新しいファイルを追加するときは常にchownする必要がありますか? Centos 6

サーバーに新しいファイルをアップロードするときはいつでも、chown -R Apache:apache /dirアクセスできるようにするため。

これを回避する簡単な方法はありますか?

2
Travis

ほとんどの場合、ファイルにアクセスできるようにするために実際に必要なのは、ファイルのグループがApacheに設定されていることです。以下を実行することにより、新しく作成されたファイルに対してデフォルトで簡単に設定できます。

find /path/to/root/directory/of/website -type d -print0 | xargs -0 chmod g+s

これにより、すべてのサブディレクトリにもsetgidフラグが設定されます。このフラグを設定すると、そこに作成された新しいファイルはすべて、その親ディレクトリのグループを継承します。 (-print0および-0オプションは、ファイル名のスペースを正しく処理するように設計されています)

ファイルを実行する前に、ファイルの所有権が正しいことを確認してください。よくわからない場合は、同じ方法で修正できます。

find /path/to/root/directory/of/website -print0 | xargs -0 chown Apache:apache
2
Levans

VSFTPDでできることは次のとおりです。

vsftpd.confには次の2つのオプションを設定できます。

guest_enable=YES
guest_username=Apache

guest_enableが有効になっている場合は、allファイルがユーザー/グループApacheとしてアップロードされていることを確認します。

これは、FTP経由でアップロードされたファイルに対してのみ機能することに注意してください。 Linux自体のファイルをwwwディレクトリにコピーする場合、これは権限を調整しません


そのため、ファイルシステムを介してそのディレクトリにもアクセスしている場合は、Levansが提案したchmod g+sメソッドを使用するのが最適です。
(つまり)

find /var/www/site/public_html -print0 | xargs -0 chown Apache:apache
find /var/www/site/public_html -type d -print0 | xargs -0 chmod g+s

guest_enable
有効にすると、匿名以外のすべてのログインが「ゲスト」ログインとして分類されます。ゲストログインは、guest_username設定で指定されたユーザーに再マップされます。

デフォルト:[〜#〜] no [〜#〜]

guest_username
ゲストログインの構成要素の説明については、ブール設定guest_enableを参照してください。この設定は、ゲストユーザーがマップされる実際のユーザー名です。

デフォルト:ftp

0
Rik