特定のディレクトリにFTPアクセスを許可する

特定のディレクトリにFTPアクセスを許可する

ローカルネットワークのコンピュータにCentOSをインストールし、httpd、PHP、Webmin(およびUserMin)などをインストールしました。 ProFTPdを選択し、FTP、Webmin、およびApache用のポートを開きました。

これで、ローカルネットワークを介してWebminにアクセスし、デフォルトのApacheテストページを見ることができます。私が作成したユーザーとしてSFPT接続を確立することもできます。しかし、FTP経由で/ var / www /にファイルを書き込むことはできません。

1人以上のユーザーが問題のディレクトリにアクセスできるようにするにはどうすればよいですか?

答え1

LDJamesの回答(もうここにはありません)がユーザー全体とグループの問題に興味を持っていましたが、完全には役に立ちませんでした。幸いなことに、Googleが参加するのに十分です。問題を解決するために取った手順は次のとおりです。

フォルダはルート所有であるため、ユーザーの追加には適していません。解決策は特別なグループを作成することです。とてもクリエイティブなので「www」と呼びます。次に、htmlフォルダをこのグループに移動します。

<user>私のシステムユーザーのユーザー名

  1. rootとしてsu(または各行にsudoを使用)
  2. groupadd www(グループを整理してください)
  3. usermod -a -G www <user>(グループにユーザーを追加)
  4. /var/www/にアクセスしてください。
  5. chgrp www html(フォルダをグループに設定)
  6. chmod g+rwx html(フォルダへのグループアクセスを許可する - 次のトピックも参照してください。http://ss64.com/bash/chmod.html役に立ちます)

その結果、ファイルをアップロードでき、必要に応じて他のユーザーにも同じことができるようになります。

  1. 何らかのメッセージが表示されたら、wwwグループとして実行するようにApacheも設定しました。

これは環境変数を設定することによって行われます(環境変数の正確な位置はLinuxのバージョンによって異なります)。

他の答えにもかかわらず、正しいアプローチは次のとおりです。

export APACHE_RUN_USER=www
export APACHE_RUN_GROUP=www

上記はwwwというユーザーも作成したと仮定しており、これが私の机の上にある開発ボックスなので、Apacheがrootとして実行されていることを嬉しく思います。

Apacheを設定するユーザーとグループに関する情報は、次のように発見されました。ApacheとPHPはどのユーザーとして実行する必要がありますか? /var/www ファイルにはどのような権限が必要ですか?

関連情報