====== 75 Proftpd ====== ===== インストール ===== ==== 1.事前準備 ==== === パッケージ === yum install -y gcc make autoconf libtool openssl openssl-devel === タイムゾーン === timedatectl set-timezone Asia/Tokyo ==== 2.Proftpd ==== [[http://www.proftpd.org/]] curl -L -O ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.8b.tar.gz tar zxvf proftpd-1.3.8b.tar.gz cd proftpd-1.3.8b ./configure --prefix=/usr/local/proftpd --with-modules=mod_tls make sudo make install ==== 3.設定ファイル ==== Umask 002 User nobody Group nobody TLSEngine on TLSProtocol TLSv1.2 TLSRSACertificateFile /usr/local/proftpd/etc/proftpd.cert.pem TLSRSACertificateKeyFile /usr/local/proftpd/etc/proftpd.key.pem TLSCipherSuite HIGH TLSOptions NoSessionReuseRequired SystemLog /var/log/proftpd.log SyslogLevel info PidFile /usr/local/proftpd/var/proftpd.pid PassivePorts 7000 7030 MasqueradeAddress hogehoge.com AuthOrder mod_auth_file.c AuthUserFile /etc/proftpd.passwd SetEnv TZ :/etc/localtime UseReverseDNS on TimesGMT off === ドットファイル隠す場合 === これだと、全ての設定ファイルが見えなくなる。※アップロードはできる。 [[http://www.proftpd.org/docs/modules/mod_core.html|参考資料]] # Hide files/directories owned by root #HideUser root # Hide Unix dot files HideFiles ^\. # Return "No such file or directory" for hidden files/directories IgnoreHidden on === Proftpd Log Levels === [[http://www.proftpd.org/docs/howto/LogLevels.html]] === 証明書作成 === cd /usr/local/proftpd/etc/ openssl req -x509 -newkey rsa:2048 -keyout ./proftpd.key.pem -out ./proftpd.cert.pem -days 365 -nodes ==== 4.AuthUserFile作成 ==== FTPのバーチャルユーザ用に、/sbin/nologinを利用したいので、/etc/shellsに追加しておく。 ※これをやっておかないと、ログイン失敗します。 echo '/sbin/nologin' >> /etc/shells ftppasswdコマンドで、FTPのバーチャルユーザ作成 /usr/local/proftpd/bin/ftpasswd --passwd --file=/etc/proftpd.passwd \ --name ftp_user \ --uid=1000 --gid=1000 \ --home=/var/www/vhost/hogehoge \ --shell=/sbin/nologin ==== 5.起動 ==== 起動は/sbinにある、proftpdを実行するだけです。 /usr/local/proftpd/sbin/proftpd ==== 6.ログ ==== [root@vm-rocky ~]# tail /var/log/xferlog Wed Nov 27 06:44:03 2024 0 _gateway 19752808 /home/rocky/proftpd-1.3.8b.tar.gz b _ o r ftp_user2 ftp 0 * c Wed Nov 27 06:46:17 2024 2 10.10.10.249 45185224 /home/rocky/Firefox_Setup_51.0.1.exe b _ i r ftp_user2 ftp 0 * c Wed Nov 27 15:55:31 2024 4 10.10.10.249 65672296 /home/rocky/jre-8u381-windows-x64.exe b _ i r ftp_user2 ftp 0 * c ===== Systemctlでサービス管理 ===== ==== 1.サービスファイル作成 ==== [Unit] Description=ProFTPD FTP Server After=network.target [Service] Type=forking ExecStart=/usr/local/proftpd/sbin/proftpd ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -TERM $MAINPID PIDFile=/usr/local/proftpd/var/proftpd.pid Restart=on-failure [Install] WantedBy=multi-user.target ==== 2.サービスファイルのリロード ==== systemctl daemon-reload ==== 3.自動起動有効 ==== systemctl enable proftpd ==== 4.起動 ==== systemctl start proftpd ===== エラー ===== 425 Unable to build data connection: Operation not permitted [[#3.設定ファイル]] の 'TLSOptions NoSessionReuseRequired' が入ってないと、fffpでこのエラーになってリスト表示できないです。 {{tag>Proftpd}}