ファイルサーバ

2006年07月10日

CentOSでFTPサーバの設定(LINUX)4

「vsftp」の設定方法がこちらで分かりやすく親切に書かれていたので参考にしました。

[1]"vdftpd"のインストールをします。

[root@admin/]# yum -y install vsftpd


[2]"vsFTPDの設定ファイル"を編集します。

[root@admin/]# vi /etc/vsftpd/vsftpd.conf


# 匿名ユーザはログインさせない
anonymous_enable=NO


# アイドル時のタイムアウトを設定(600秒)
idle_session_timeout=600


# 接続時時のタイムアウトを設定(60秒)
data_connection_timeout=60


アスキーモードでアップロード許可する
ascii_upload_enable=YES


# アスキーモードでダウンロード許可する
ascii_download_enable=YES


ログオン時のグリーティングバナー
ftpd_banner=Welcome to 好きな名前を入力 FTP service.


# 一般ユーザはホームパスより上へアクセスさせない
chroot_list_enable=YES


ホームパスより上へアクセスさせないユーザリストファイル
chroot_list_file=/etc/vsftpd/chroot_list


# ディレクトリを削除可能にする
ls_recurse_enable=YES


/etc/vsftpd/user_listに書いてあるユーザ はログインさせない
userlist_enable=YES

※下記追加項目です。

# ユーザが打ち込んだftpコマンドをログに残す(下記2つ)
xferlog_std_format=NO
log_ftp_protocol=YES

# タイムスタンプ時間を日本時間に合わせる
use_localtime=YES

# パッシブモードを利用にする
pasv_promiscuous=YES

# パッシブモード利用時のポート範囲(例:50000〜50030)
pasv_min_port=50000
pasv_max_port=50030


【FTP接続ユーザの設定】
[3]"ホームパスより上へアクセスさせないユーザ一覧"を設定します。

[root@admin/]# vi /etc/vsftpd/chroot_list

※新規に設定ファイル(chroot_list)を作成し、ユーザー名の入力をします。

file
luke
gundam
doragonball


[4]"FTP接続させないユーザ一覧"を設定します。

[root@admin/]# vi /etc/vsftpd/user_list


# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
# ユーザ「xxxftp」をFTP接続させないように設定
xxxftp


[5]"FTPログインできるクライアント"を設定します。

[root@admin/]# vi /etc/hosts.allow


vsftpd : 192.168.1. 127.0.0.1 211.xxx.xxx.xxx


[6]"指定されたクライアント以外全て"拒否に設定します。

[root@admin/]# vi /etc/hosts.deny


vsftpd : ALL


[7]"vsFTPD"を再起動します。

[root@admin/]# /etc/rc.d/init.d/vsftpd restart


[8]"vsFTPD"を起動します。

[root@admin/]# chkconfig vsftpd on


[9]"vsFTPD"を起動します。

[root@admin/]# chkconfig --list vsftpd

下記の表示がすれば正常です。

vsftpd 0:OFF 1:OFF 2:ON 3:ON 4:ON 5:ON 6:OFF


これで設定は終了しました。
次にWindowsのクライアントマシンからチェックを行います。
「ファイル名を指定して実行(cmd)」を行ってください。
[10]"ファイル名を指定して実行"を起動します。

「cmd」と入力して「ok」をクリック


[11]"FTP"を起動します。

C:\Documents and Settings\fedora>ftp


[12]"拒否ユーザーのログイン"チェックをします。

ftp> op ←コマンド実行
To 192.168.1.5 ←サーバのIPを入力
Connected to 192.168.1.5.
220 (vsFTPd 1.2.1)
User (192.168.1.5:(none)): xxxftp ←拒否に登録したユーザー名


[13]"拒否メッセージ"の確認をします。

530 Permission denied.
Login failed.


[14]"FTP接続"を終了します。

ftp> bye


[15]"パッシブモードの状態"を確認します。

ftp> ls -l

下記のメッセージが表示されれば正常です。

200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw------- 1 500 500 2049 Oct 05 16:27 Mailbox
226 Directory send OK.
ftp: 65 bytes received in 0.00Seconds 65000.00Kbytes/sec.
ftp>


[16]"ホームパス以外の階層に移動できるか?"を確認します。

ftp> pwd

下記のメッセージが表示されれば正常です。

257 "/"


[17]"/root/に移動"を確認します。

ftp> cd /root/

下記のメッセージが表示されれば正常です。

550 Failed to change directory.


[18]"サーバへファイルを転送"を確認します。

ftp> put c:\textfile

下記のメッセージが表示されれば正常です。

-rw-r--r-- 1 500 500 57 Dec 07 17:57 textfile
226 Directory send OK.
ftp: 131 bytes received in 0.00Seconds 131000.00Kbytes/sec.


[19]"サーバへファイルを取得"を確認します。

ftp> get textfile

下記のメッセージが表示されれば正常です。

200 PORT command successful. Consider using PASV.
150 Opening ASCII mode data connection for textfile (57 bytes).
226 File send OK.
ftp: 60 bytes received in 0.00Seconds 60000.00Kbytes/sec.


[20]"FTP接続"を終了します。

ftp> bye


実際にFTPソフト(例:FFTP)など使用して試してみてください。

だんだんサーバらしくなってきました(やっとスタート地点に戻ったよ・・)




hyrox at 08:19|PermalinkComments(0)TrackBack(0)clip!

2006年07月07日

CentOSでFTPファイルサーバの設定(LINUX)4

CentOS 4.3では「vsftp」が使用可能です。
[1]"vdftpd"のインストールをします。

[root@admin/]# yum install vsftpd


[2]"vdftpd"が利用可能か?テストします。

[root@admin/]# /etc/init.d/vsftpd start


成功すれば起動中となり、右隣に「OK」と出ます。

[3]FTPクライアントでアクセスチェックを行う。

[root@admin/]# ftp 192.168.×.×


ログイン名を聞かれるので作成したユーザー名でログインします。


Name (192.168.24.54:root): ユーザー名を入力
331 Please specify the password.
Password: ←パスワードを入力


成功すると下記のようなメッセージが出ます。
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

次に、設定の確認を行います。

ftp> pwd


下記のようなメッセージが出ます。
257 "/home/ユーザー名"
ftp>

※ちなみにFTPから抜ける時のコマンドは「bye」です。(バイバ〜イ)

ftp> bye

下記のように挨拶文?が表示されます。
221 Goodbye.
※ちなみに時間が経つとタイムアウトになってログアウトします。

[4]ユーザーによって他のディレクトリへ移動できない設定

[root@admin/]# vi /etc/vsftpd/vsftpd.conf


すると、設定の画面が表示されますので、以下の部分のコメントを外します。


#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list


ここんとこを・・・(ず〜っと下の方にあるのでスクロールしてね☆)


chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list


こうやって「#」を削除する事でコメントアウトできます。
修正が終わったら設定を保存します。


シフトボタン押しながらZキー2回


間違っちゃった!!って人は保存しないように!え?キャンセルの方法?

:q!


・・・です。
おっと!話ズレちゃったね!この設定を行ったら反映させる為にかならず再起動してくださいね!

# /sbin/service vsftpd restart

再起動すると下記の表示がされます。
vsftpdを停止中:    [ OK ]
vsftpd用のvsftpdを起動中: [ OK ]

ちなみに匿名ユーザの場合はホームディレクトリが /var/ftp/ になります。確認できたら、vsftpd.confのセキュリティ向上のため匿名FTP接続の設定を禁止しておくと良いですよ♪

anonymous_enable=NO


・・あ再起動しちゃった?ごめんね。もう一度やればいいから(笑)

さて、次にFTPできるユーザーとできないユーザーの設定をします。
次に設定ファイルを編集します。開くと下記の表示がされます。

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody


ここで「root」とかFTPに使用しないのは「#」コメントを外して使用するユーザー名は追加します。下記のように設定します。
あ、ところでこれ(設定)ってテキストエディタなのだけど、編集方法って知ってた?「i」って押すと編集できて「esc」を押すと編集から抜けられます。ちなみに間違えちゃった時に「取り消し」したい時ってあるでしょ?そのときは「esc(編集から抜けてる状態)」してる時に「u」を押すんですよ!

・・また話がズレちゃった。設定は下記のように!


# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root ←「#」を外す
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody
#ユーザー名1 ←ユーザーの追加(1個目)
#ユーザー名2 ←ユーザーの追加(2個目)
#ユーザー名3 ←ユーザーの追加(3個目)


で保存すれば完了です。(保存方法はさっき書いた)

次にいよいよ、他のディレクトリを見れなくする方法(移動できない)
下記の設定ファイルを開きます。
・・開きますってかもともとないファイルなのでこの時、新規に作成されます。

[root@admin/]# vi /etc/vsftpd.chroot_list


中味が空のファイルが開いたでしょ?そこにユーザー名を追加するだけでOK!


ユーザー名(1個目)
ユーザー名(2個目)


いくつでも改行して入力するだけ。簡単でしょ?
果たして本当に他のディレクトリにいけないか?チェックしましょう♪
手順はさっきのFTPログイン方法と一緒です。

[root@admin/]# ftp 192.168.×.×
Connected to 192.168.×.×.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.×.×:root): ユーザー名を入力
331 Please specify the password.
Password: ←パスワードを入力
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd ←コマンド入力
257 "/" ←こうなっていれば成功!!!
ftp> cd / ←最上階に行こうとしても・・・
250 Directory successfully changed. ←こうやって無理って怒られる!
ftp>


こんな感じかなぁ?何か間違っていたりしたらごめんね。
本買ったのはいいけど、コマンドが間違ってたりして本当にむかつく。
ネットで調べるのと併用作業でお金少し返して!って感じの僕でした。
眠いけど、プーさんだからできるんだよね。こんな時間まで。




hyrox at 04:25|PermalinkComments(0)TrackBack(0)clip!