- ベストアンサー
CentOS7 FTPアップロードについて
- CentOS7でFTPの設定をし、自分のパソコンのFTPソフトから接続して、ファイルのアップロードができません。
- setsebool -P ftp_home_dir onのコマンドを実行しても、553 Could not create file.エラーメッセージが表示され、アップロードもディレクトリ作成もできません。
- SELinuxの設定を変更すると、サーバーが動かなくなる可能性があるため、他の方法でFTPアップロードをするやり方を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>FTPソフトからアップロードできました。 >この後はどうしたらよろしいでしょうか。 目的がFTPなら、もう達成できたんですよね? それでOKとしても良いです。 Linuxの何かの機能を試す時に、 その機能とは全く関係なく、 セキュリティ関係の要因でうまくいかなくなる事が多いので、 それらは一旦忘れましょうって事です。 最初に挙げた SELINUXをdisabled と systemctl stop firewalld そして、 関連ファイルを777に設定 セキュリティ関係の事はLAN内で閉じた世界でしか使わないなら、あまり踏み込まなくてOKです。 共用して常用する場合は、必要なのですけど、そこで引っかかって本来の「機能を試す」から逸れるので、あえて一旦それは忘れておく事が多いです。
その他の回答 (4)
- kteds
- ベストアンサー率42% (1882/4440)
No.2の補足です。 事例がピッタリの下記サイトを参考にしてみてください。 「CentOS FTPソフトでファイルをアップロードできないときの対処法」 の「HTMLディレクトリの所有者をFTPユーザーに変更する方法」 http://kreitentekomai.blog137.fc2.com/blog-entry-116.html --- >場所は、var/www/http/ の中です。 var/www/html/ではありませんか?
お礼
kteds さん コメントありがとうございます。 教えていただいたサイトを元に修正してみました。 vsftpdを再起動してみたのですが、 今度は var/www/html/ 内も見ることができなくなってしまいました。。(泣) 設定を戻してみます。
- webuser
- ベストアンサー率33% (372/1120)
セキュリティ系は関係ないみたいですね。 問題は var/www/http/ に書けないとの事でしたよね? では、一旦、そこのパーミッションを全開にしてみて下さい。 chmod 777 /var/www/http/
お礼
webuser さん コメントありがとうございます。 777に設定して、FTPソフトで確認したら、変更されていて、この状態でしたら、FTPソフトからアップロードできました。 この後はどうしたらよろしいでしょうか。 よろしくお願いいたします。
- kteds
- ベストアンサー率42% (1882/4440)
記述が適切ではない、という印象です。 LAN環境で vsftpd FTPサーバーにアクセス出来ているが、特定のフォルダvar/www/http/にアクセスできない、ということですね。 /var/ftp/pubフォルダにもアクセスできるのであれば設定や動作は正常です。 /etc/vsftpd/vsftpd.confの設定を再度見直してみてください。
お礼
kteds さん コメントありがとうございました。 すみません、サーバーを初めて構築するもので、説明がうまくなくて申し訳ございませんでした。 はい、仰るとおりです。 /var/ftp/pubフォルダにアクセスできますが、中身が入っていないのかわかりませんが、何もない状態でした。 vsftpd.confは、一度アンインストールして再度インストールをして、 http://7net.omni7.jp/detail/1106644377 ↑こちらの本の通りにやってみたのですが、上手くできませんでした。 もう一度確認してみます。 ありがとうございます。
- webuser
- ベストアンサー率33% (372/1120)
外に置いているサーバーは最初からセキュリティの事を考えないとダメですけど、自宅内のサーバーですよね。 一旦、 SELINUXをdisabledにして、 firewalldも止めてしまって、 systemctl stop firewalld systemctl disable firewalld 上手くいった後に SELINUXやfirewalldを動かす事をお勧めします。 いっぺんにいろんなことを抱え込むと進まなくなりますし、質問するにしても話がブレて噛み合わなくなります。
お礼
webuser さん お返事ありがとうございました。 SELINUXをdisabledにして、 systemctl stop firewalld systemctl disable firewalld とやってみたのですが、やっぱりアップロード出来ないです。。 念のため、vsftpdはrestartしました。 他にやり方が間違っているのでしょうか。。 もし他に思いつくことがございましたら教えていただけませんでしょうか。 よろしくお願いいたします。
お礼
webuser さん コメントありがとうございました。 返信が遅くなってしまって申し訳ございません。 そうなんですね。 本を読んでもその通りにいかなくて、困っていました。 結局、こちらのページの中ほどの、 http://www.obenri.com/_webserver/about_apache.html ドキュメントルートのユーザーパーミッションの変更で、ディレクトリの所有者と所有グループを、 chown コマンドで一般ユーザーアカウントに変更してしまいましたが、この方法でも大丈夫でしたでしょうか。 このやり方で、755でもFTPアップロードできました。 いろいろと教えていただきまして、ありがとうございました。 また何かございましたらよろしくお願いいたします。