web-dev-qa-db-ja.com

Apacheグループにログファイルへの書き込みアクセス権とFTPユーザーに読み取り専用アクセス権を与える方法

Ubuntu11.10サーバー

ホームディレクトリが/home/sites/bobであるユーザーbobがいます。その中にはディレクトリpublic_htmllogsがあります。

Apacheはwww-dataユーザーの下で実行されます。 bobのプライマリグループはwww-dataです。 Apacheは、logsディレクトリのaccess.logerror.logを更新します。 2つのログファイルはroot:rootが所有し、権限644を持っています。

bobユーザーは、動作するFTPサーバーにログインします。問題は、bobが2つのログファイルを削除または上書きできることです。 Apacheがログに書き込めるようにし、bobが読み取りアクセスのみを持つようにする必要があります。つまり、ログを上書きしたり削除したりする必要はありません。これはどのように行うことができますか?

私が試したこと:

cd /home/sites/bob
chown www-data:www-data logs
chmod 644 logs

Apacheに書き込みアクセスを許可し、www-dataグループ(つまり、bobユーザー)に読み取りアクセスを許可する必要があるため、これが機能することを期待していました。実際に発生するのはFTPセッションです。bobはディレクトリリストにlogsを表示できますが、logsに変更しようとすると、それを開くことができません。エラーが発生します。は:

コマンド:CWDログ
応答:550ログ:そのようなファイルまたはディレクトリはありません
エラー:ディレクトリリストの取得に失敗しました

だから私の質問は、Apache(www-data)への書き込みアクセスをlogsに許可し、読み取りアクセスのみ(削除なし)をbobに許可するにはどうすればよいですか?

1
ServerBloke

ログディレクトリに対する実行権限を付与する必要があります。そうしないと、ユーザーはディレクトリに入ることができません。

chmod 754 logs/
1
faker