FC2ブログ

[CentOS]FTPサーバ

CentOS 6.5

・yum install vsftpd

・vi /etc/hosts.allow で以下追加。

in.vsftpd: 192.168.10.



・/etc/init.d/vsftpd restart

・Windowsコマンドプロンプトからアクセスしてみる。

# ftp 192.168.10.16
(応答なし)


・vi /etc/sysconfig/iptables で以下追加。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT



・Windowsコマンドプロンプトからアクセスしてみる。

# ftp 192.168.10.16
192.168.10.16に接続しました。
421 Service not avairable
接続がリモート ホストによって閉じられました



・まだ接続出来ない。うーん・・・

・/etc/init.d/iptables stop とやってファイアウォールを停止しても結果変わらず。
なので、少なくとも目先の問題はiptablesの設定ミスではない。

・結局、/etc/hosts.allow の記述ミスでした。

間違い= in.vsftpd: 192.168.10.
正しい= vsftpd: 192.168.10.

・このままftp 192.168.10.16 とやっても、応答は来るが、ログインユーザが設定してないため接続出来ない。
vi /etc/vsftpd/user_list
いろいろ書いてあるが、アクセス許可したいユーザだけを残して、他は消す。
ただし注意点があり、defaultではuser_listは「許可しないユーザのリスト」になってる。
そのため、vsftpd.confに設定して、user_listを「許可するユーザのリスト」に扱いを変える。

vi /etc/vsftpd/vsftpd.conf

末尾に以下を追加。
userlist_deny=NO   > これがuser_listを許可リストに扱いを変える設定。これが無いと禁止リストとして扱う。



・WindowsからまたFTPアクセス試してみる。

C:\Users\xxx>ftp 192.168.10.16
192.168.10.16 に接続しました。
220 (vsFTPd 2.2.2)
200 Always in UTF8 mode.
ユーザー (192.168.10.16:(none)): <user_listに記載したユーザ名>
331 Please specify the password.
パスワード:
500 OOPS: cannot change directory:/home/<user_listに記載したユーザ名>
500 OOPS: child died
接続がリモート ホストによって閉じられました。


user_listで許可したユーザのはずなのに、拒否された。

・さっき調べた時に出てきた以下設定追加かな?

vi /etc/vsftpd/vsftpd.conf

chroot_local_user=YES
chroot_list_enable=YES


chroot_local_user=YES の意味
・ログインした時に最初に訪れるディレクトリをホームディレクトリとする。
 同時にそこがそのユーザーのルートディレクトリとなり、それよりの上の階層には行けなくする。

・chroot_list_enable=YES の意味
上の設定をすると、どのユーザもログインDIR以下でしか作業出来なくなる。
それだと不都合ある場合あるので、ドコにでもアクセスに出来るユーザーを規定。



・またWindowsからFTPアクセス試す。

C:\Users\xxx>ftp 192.168.10.16
192.168.10.16 に接続しました。
220 (vsFTPd 2.2.2)
200 Always in UTF8 mode.
ユーザー (192.168.10.16:(none)): <設定したユーザ名>
331 Please specify the password.
パスワード:
500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
500 OOPS: priv_sock_get_result
接続がリモート ホストによって閉じられました。



これは単にchroot_list設定しておきながら、chroot_listが存在しないだけ。
新規にchroot_listを作ってあげて、そこに、アクセス許可するユーザ名を書くだけ。

・またまたWindowsからFTPアクセスしてみるが、元の反応に戻った。

500 OOPS: cannot change directory:/home/<user_listに記載したユーザ名>
500 OOPS: child died



・調べると、SELinuxがあやしい。以下で無効化して再起動。

vi /etc/selinux/config

SELINUX=disabled



・これでようやくログイン成功した。
C:\Users\xxx>ftp 192.168.10.16
192.168.10.16 に接続しました。
220 (vsFTPd 2.2.2)
200 Always in UTF8 mode.
ユーザー (192.168.10.16:(none)): <許可設定したユーザ名>
331 Please specify the password.
パスワード:
230 Login successful.
ftp>
スポンサーサイト



カレンダー
01 | 2016/02 | 03
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 - - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード