スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

No.105 CentOS FTPソフトでファイルをアップロードできないときの対処法

FTPソフトでファイルをアップロードできない



ファイルのアップロードは一般的にFTPを使って行います。
しかし通常FTP通信はroot権限での接続はできません。
それに対して、/var/www/html(ホームページを設置するデフォルトの位置) のディレクトリは「root権限以外書き込みができない」ように設定されています。

解決方法は大雑把に4つ考えられます。
1.ドキュメントルートをFTP接続可能なディレクトリに変更する
→最も良い方法。ただし設定がめんどくさい

2.HTMLディレクトリの所有者をFTPユーザーに変更する
→アップロード者が未定の場合こちらでも可

3.vsftpdをrootで使えるようにする
→セキュリティ的に問題があるため不可

4.一般ユーザーのディレクトリに入れてroot権限により移動する
→Webサイト作成者にroot権限を与えるわけにはいかないので不可

このページでは2の操作方法を紹介します。

HTMLディレクトリの所有者をFTPユーザーに変更する方法



HTMLディレクトリの見える位置までcdコマンドで移動


コマンド:cd /var/www

ファイルの所有者をFTPユーザーに変更する。


コマンド:chown -R hoge:hogegrpup /var/www/html
→この例はFTPを利用するユーザーが「hoge」、さらにhogeの所属するグループ名も「hogegroup」の場合です。適宜読み替えてください。

vsftpdの設定を整える


vsftpdの設定ファイルの位置は下記です。
/etc/vsftpd/vsftpd.conf

匿名FTPを禁止にする


匿名FTPとは、FTP通信のユーザー名を「anonymous」、パスワードを適当な文字にすることによってだれでも利用できる状態のこと。
設定前:anonymous_enable=YES
設定後:anonymous_enable=NO
→通常は初期状態で許可になっており、だれでもダウンロードできるファイルサーバー等に利用される

一般ユーザーはホームディレクトリを「/」とし、それ以上うえの階層を見せないようにする


設定前:#chroot_local_user=YES
設定後:chroot_local_user=YES
→コメントアウト(#)を解除するだけ

vsftpで利用する標準時を変更する


デフォルトではシステムの時間に関係なく、GMT(世界標準時)から時間を取得します。
設定前:記述なし
設定後:use_localtime=YES
→ファイルに追記する

PASV(passive)モードに対応する


クライアント側からサーバー側にデータ転送の接続ができない事態を回避するモード
設定後:pasv_enable=YES

以上の設定でFFFTP等のソフトウェアで正常な通信ができるかと思います。
お疲れ様でした。
関連記事

コメント

コメントの投稿

非公開コメント


検索フォーム
カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。