ApacheサーバーでのVSFTPD権限の設定


8

Ubuntu 10.10を実行しているVMがあります。Netbeansを使用して、仮想マシンのFTPにファイルをアップロードしています。vsftpdを使用しています。

私が抱えている問題は、Apacheサーバーがファイルを読み取れるようにするために、フォルダーの所有者が/var/wwwユーザーapacheであることです。ここまでは順調ですね。

しかし、ftpユーザーからファイルをアップロードしようとすると、アップロードuser1できません。私は問題が何であるかを知っています。私の質問は、私は、ユーザーに対して正しくアクセス権を設定するのですか、あるapacheuser1/すべての読み取りファイル内の/ var / wwwディレクトリの書き込みにできるようにするには?

回答:


17

グループwww-usersを作成し、のグループオーナーにし/var/wwwます。次に、ユーザーapacheuser1グループを割り当て、/var/wwwディレクトリのアクセス許可を775 に設定します。これによりuser1www-usersグループ内の他のすべてのユーザーがに読み書きできるようになります/var/www。また、他のユーザーに書き込みを許可するのも/var/www簡単になりますwww-users。ユーザーをグループに割り当てるだけです。

編集:の正しい権限/var/wwwは2775です。これにはsetgidが含まれるため、内部のファイルとディレクトリ/var/wwwはのグループ所有権を継承します/var/www


すばらしい答えです。私は何かをアップロードした後にApacheを除いたファイルを読み取ることができないuser1私は、次のコマンドを実行しました:chown -R apache:www-users /var/wwwusermod -g www-users apacheusermod -g www-users user1chmod 775 /var/www。何か不足していますか?
Tek

umaskは、他のユーザーからの読み取り許可を拒否するように設定できます。umaskの変更が役立つかどうかを確認します。
bwDraco

うん。それはその一部でした。
Tek

10
Googleがヒントを必要とする場合の手順は次のとおりです。 1) set up vsftpd for umask 0027 (/etc/vsftpd.conf) [local_umask=0027] 2) create www-users group (groupadd www-users) 3) add user to group (usermod -a -G group user) 4) Set apache to run as www-users group (httpd.conf) 5) chgrp www-users /var/www 6) chmod 2775 /var/www
Tek

2
また、ディレクトリにsetgid権限を追加してみてください:chmod g+s /var/www。これにより、ディレクトリ内に作成されたファイルとディレクトリが、ディレクトリを所有するグループによって確実に所有されます。
bwDraco
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.