apt-get updateVine Linuxb3.1では、初期状態でインストールされているかもしれない。
apt-get proftpd
inetd での起動は設定されていないかも。
/etc/proftpd.conf 設定ファイル /etc/hosts.allow
/etc/hosts.denyTCP/Wrapperによるアクセス制御ファイル /etc/ftpusers ログイン不可ユーザーの羅列 /var/log/xferlog ログファイル(初期設定値)
(任意の場所を指定できる)
/etc/proftpd.confを書き換える。
# ServerType standalone ServerType inetd
MaxInstances 30
# PASVモードでインターネット公開する場合の設定 AllowForeignAddress On # ルータのWAN側アドレス 又は ドメイン名 MasqueradeAddress hogehoge.jp # 最小ポート番号 最大ポート番号 PassivePorts 15000 15029
# PAM認証の設定 AuthPAMAuthoritative On AuthPAMConfig ftp
<Limit LOGIN> Order allow, deny Allow from 127.0.0.1, 192.168.0.0/24 Deny from all </Limit LOGIN>
<Anonymous ~ftp>
# :
# (省略)
# :
<Limit LOGIN>
DenyAll
</Limit LOGIN>
<Limit WRITE>
DenyAll
</Limit WRITE>
</Anonymous>
UseReverseDNS off IdentLookups off
ユーザー確認のためにIdentが時間を食うと、ログイン時に30秒ほど待たされることがある。 簡単な対応としては、単に、113ポートを開けると良いという報告もあるようだ。
# Allow clients to resume downloads (default on) AllowRetrieveRestart on # Allow clients to resume uploads (default off) AllowStoreRestart on
# Enable automatic deletion of partially uploaded files (default off) DeleteAbortedStores on
# The maximum number of clients allowed to connect per host.(default none: no limit) MaxClientsPerHost 1 # The the maximum number of times different hosts. (default none: no limit) MaxHostsPerUser 1
MaxStoreFileSize 3 Mb
# anonymousのアップロードは 50kに制限、その他のユーザーは無制限 MaxStoreFileSize 50 Kb user anonymous MaxStoreFileSize *
TimeoutIdle 600 TimeoutLogin 300 TimeoutNoTransfer 600 TimeoutSession none TimeoutStalled 600
DirFakeUser on invisibleUser DirFakeGroup on invisibleGroup
PersistentPasswd off RequireValidShell off
<Directory /bin>
HideUser root
</Directory>
<Directory /boot>
HideUser root
</Directory>
: 省略
ログを残す場合は、 /etc/proftpd.conf に以下の記述を追加。
LogFormat allinfo "%t : %u (%a [%h]) : [%s], %T, %m (%f)" LogFormat write "%t : %u : %F (%a)" LogFormat read "%t : %u : %F (%a)" LogFormat auth "%t : %u (%a [%h])" ExtendedLog /var/log/proftpd/all.log ALL allinfo ExtendedLog /var/log/proftpd/write.log WRITE write ExtendedLog /var/log/proftpd/read.log READ read ExtendedLog /var/log/proftpd/auth.log AUTH authまた、ログ用フォルダを作成しておく。
mkdir /var/log/proftpd
logrotateを使って、ログを1週間ごとにローテーションしておくとよいかも。
VineLinux3.1 初期設定では /var/log/xferlog にログはとられているようなので、デフォルト設定で使う場合は1行目を書き換えてもよいかもしれない。/var/log/proftpd/*.log{ missingok notifempty postrotate /usr/bin/kill -HUP `cat /var/run/proftpd.pid 2>/dev/null` 2>/dev/null || true endscript }
/etc/hosts.allow
アクセスを許可するホストを記入する。in.proftpd: 192.168.1. hogehoge.jp # WANに公開する場合 in.proftpd: ALL/etc/hosts.deny
クローズドなFTPサーバーの場合、hotsts.allowで許可したホスト以外のアクセスを禁止しておくと、セキュリティ的によいかも。in.proftpd: ALL
/etc/inetd.conf を書き換えて、inetd から起動するよう設定する。コメントアウトをはずして、FTP が inetd から起動される設定を有効にする。ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
inetd.conf を書き換えた後、サービスを再起動してから有効になる。
service inet restart
FTP クライアントからアクセスするためには、linux 上のユーザーが必要。
Linux上に存在するユーザーが、ftpアクセス権を持つ。useradd username
passwd username