ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

01_linux:01_net:75_proftpd

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.設定ファイル

/usr/local/proftpd/etc/proftpd.conf

Umask				002
User				nobody
Group				nobody

<IfModule mod_tls.c>
    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
</IfModule>

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

ドットファイル隠す場合

これだと、全ての設定ファイルが見えなくなる。※アップロードはできる。

参考資料

<Directory />
  # Hide files/directories owned by root
  #HideUser root
  # Hide Unix dot files
  HideFiles ^\.

   <Limit DIRS READ>
    # Return "No such file or directory" for hidden files/directories
    IgnoreHidden on
  </Limit>
</Directory>

Proftpd Log Levels

証明書作成

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.サービスファイル作成

/etc/systemd/system/proftpd.service

[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でこのエラーになってリスト表示できないです。

01_linux/01_net/75_proftpd.txt · 最終更新: 2024/11/29 14:10 by matsui