![]() |
LINUX |
Proftpdのインストール
*FTPサーバの利用 (vsftpdにかわるもの)
*proftpd-1.3.3aをソースからインストールし、設定します
*proftpd専用ユーザ (/sbin/nologinシェル) で運営できます
*動作確認 gFTP (linux)、FileZilla、FFFTP (WindowsXP)
*make はメンテナンスマシンで行っています
**以降はコメントです
*ソースの取得、削除は略します
*エディタ、ファイラーの操作は省略します
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :proftpd-1.3.3a.tar.bz2 | (http://www.proftpd.org/) |
参照ファイル:パッケージの追加
:最初の設定 (Xen)
:opensslのインストール
インストール環境| :OS | CentOS 5.5 |
| :selinux | disabled or permissive |
| :インストール先 | /usr/local |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスの場合は一般ユーザから行います
proftpd-1.3.3a
新しいモデュール*proftpd-1.3.3で新しく追加されたモデュールです
*mod_sftpがsftp-serverの代用になるかはこれから
mod_sql_passwd mod_exec mod_shaper mod_tls_shmcache mod_sftp mod_sftp_pam mod_sftp_sql
展開・インストール*openssl-develを必要とします
*opensslヘッダファイルのバージョンを記録するので注意
*組み込んだ全てのモデュールを試していません
# /usr/src # tar jxvf proftpd-1.3.3a.tar.bz2 # chown -R root:root proftpd-1.3.3a # cd proftpd-1.3.3a # make distclean ./configure CFLAGS="-O2 -march=pentium3" \ --sysconfdir=/etc \ --localstatedir=/var/run \ --enable-ipv6 \ --enable-ctrls \ --enable-facl \ --enable-dso \ --enable-autoshadow \ --enable-nls \ --enable-openssl \ --with-modules=mod_wrap:mod_ratio:mod_readme:mod_auth_pam:mod_tls \ --with-shared=mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:\ mod_ldap:mod_ban:mod_ctrls_admin:mod_load:mod_rewrite:mod_sftp:\ mod_site_misc:mod_wrap2:mod_wrap2_file:mod_ident:mod_dynmasq:\ mod_unique_id:mod_ifsession
*CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
*該当しない場合は指定しない
*紫色部分 ssl,tls対応
*オプションは半角を入れて続けて記入した方が良い
# make # make install
*pam用ファイル・起動スクリプト等をコピーします
# cd contrib
# cp ftpasswd ftpmail ftpquota /usr/local/sbin
# cd dist/rpm
# cp ftp.pamd /etc/pam.d/ftp
# cp proftpd.init.d /etc/init.d/proftpd
# cp proftpd.logrotate /etc/logrotate.d/proftpd
# cp xinetd /etc/xinetd.d/proftpd
# cd /usr/src
# tar jcvf proftpd-1.3.3a-100702.tar.bz2 proftpd-1.3.3a/
vsftpdの停止・自動起動設定の解除# service vsftpd stop # chkconfig --del vsftpd
Anonymousftp用のディレクトリを作ります*例 /home/ftp (ftp ftp 755)
# mkdir -p /home/ftp/pub # chown -R ftp:ftp /home/ftp
*log用のディレクトリを作成
# mkdir /var/log/proftpd
専用ユーザ設定ファイルの作成# touch /etc/ftpd.passwd # touch /etc/ftpd.group
proftpd.confの修正*TZの設定
*省略
TimesGMT off SetEnv TZ JST-9
*省略
/etc/hosts.allowで制御します*ローカルからのみ接続を許可します
ALL: 127.0.0.1
proftpd: 192.168.0. EXCEPT 192.168.0.21
ftpusersでログイン制限: /etc/ftpusers
*ディレクティブ UseFtpUsers on (Default)
*ログインを拒否するユーザをftpusersで指定します
root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody
selinuxヘの対応 (selinuxが有効の場合):新規インストールファイルのselinuxラベルを修正
# restorecon -Rv /etc # restorecon -Rv /usr/local # restorecon -RFv /home/ftp
proftpdの起動:/etc/xinetd.d/proftpdの修正
*省略
disable=yes
*省略
:proftpd(standalone)の起動
# chmod 755 /etc/rc.d/init.d/proftpd # service proftpd start # chkconfig --add proftpd
proftpdログのローテーション:/ete/logrotate.d/proftpd
/var/log/proftpd/*.log /var/log/xferlog {
rotate 4
create
missingok
notifempty
postrotate
kill -HUP `cat /var/run/proftpd.pid 2>/dev/null` 2>/dev/null || true
endscript
}
:logrotationの確認
# logrotate -f /etc/logrotate.d/proftpd
*うまくいかない場合、設定ファイルを修正します
*ただし、var/lib/logrotate.statusに前回rotateした日付が設定されます
*logrotate.statusの日付をエディタで修正します
*調整後は/etc/logrotate.confと重複する設定をコメントにします
*"rotate 4" "create" など
proftpd専用ユーザの設定*ftpアクセスできるapacheユーザを設定します
*パスワードは暗号化されます
# cd /etc
*apacheユーザの設定
# ftpasswd --passwd --name=apache --uid=48 --gid=48 \ --home=/home/www --shell=/sbin/nologin ftpasswd: creating passwd entry for user apache
Password:← パスワードの入力 Re-type password:← 再入力
ftpasswd: entry created
*apacheグループの設定
# ftpasswd --group --name=apache --gid=48 ftpasswd: creating group entry for group apache ftpasswd: entry created
*パスワードのグループ・パーミッションを変更しておきます
# chown root:nobody /etc/{ftpd.passwd,ftpd.group}
# chmod o-r /etc/{ftpd.passwd,ftpd.group}
local_port_rangeの調べ方*ローカルの使用するportの範囲
# cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000
PASV接続の例gftpのコネクションログの例では
PASV 227 Entering Passive Mode (134,160,38,1,206,165)
グローバルアドレス 134.160.38.1
port 52901 (256x206+165=52901) で接続していることになります
ftp のレスポンスコード![]() |
Copyright(c) 528p.com All Rights Reserved. |

