この短い構成では、vsftpdを使用してFTPファイルサーバーをRHEL7Linuxにインストールします。デフォルトのvsftpd構成を使用して、既存のRHEL7 Linuxシステムのユーザーアカウントがリモートの場所からFTP経由でログインし、ファイルを一覧表示して転送できるようにします。インストールから始めましょう:
Redhat 7 LinuxにFTPサーバーをインストールするには、tftp-server
のいずれかを使用できます。 またはvsftpd
デーモン。このガイドでは、vsftpd
を使用します :
[root@rhel7 ~]# yum install vsftpd
次に、vsftpd
を開始できます service
を使用したサービス コマンド:
[root@rhel7 ~]# service vsftpd start Redirecting to /bin/systemctl start vsftpd.service
システムの再起動後にFTPサービスの起動を永続的にするには、次を使用します。
[root@rhel7 ~]# systemctl enable vsftpd ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
ポート21
かどうかを確認してください 開いています。このポートのIPv4がIPv6バインドとして開いていなくても、心配する必要はありません。
[root@rhel7 ~]# netstat -tanp | grep LISTEN
<中央>
ファイアウォールポートも開く必要があります。そうしないと、接続しようとしたときに次のエラーメッセージが表示されます。
ftp: connect: No route to host ftp>
Redhat 7 linuxでポート21を開くには、次のlinuxコマンドを使用します。システムを再起動した後も、ポートは公開されたままです:
[root@rhel7 ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent success [root@rhel7 ~]# firewall-cmd --reload success
この時点で、FTPサービスのIPアドレスが10.1.1.110
であるリモートホストから接続できるはずです。 :
$ ftp 10.1.1.110 Connected to 10.1.1.110 (10.1.1.110). 220 (vsFTPd 3.0.2) Name (10.1.1.110:lrendek): rhel7 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>を転送します。
次に実行する必要のある構成は、iptablesモジュールip_conntrack_ftp
を有効にすることです。 そうしないと、ログインに成功した後、FTPサーバーにクエリを実行する次のエラーメッセージが表示されます。
ftp> ls 227 Entering Passive Mode (10,1,1,110,166,190). ftp: connect: No route to host ftp>
一時的な解決策として、modprobe
を使用します ip_conntrack_ftp
をロードするには モジュール:
[root@rhel7 ~]# modprobe ip_conntrack_ftp
再起動後にip_conntrack_ftpモジュールをロードする方法のより永続的な解決策については、このページを参照してください。
実行する必要のある最後の構成は、現在システム上にあるユーザーディレクトリに対してselinux FTPコンテキストを有効にすることです。有効にしないと、FTPサーバーとFTPクライアント間でファイルの読み取り/書き込みまたは転送ができなくなります。
230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> put ftp-test.txt local: ftp-test.txt remote: ftp-test.txt 227 Entering Passive Mode (10,1,1,110,125,139). 553 Could not create file.
selinux FTPホームディレクトリコンテキストを有効にして、読み取りおよび書き込みコマンドを許可します。このために、setsebool
を使用します コマンド:
[root@rhel7 ~]# setsebool -P ftp_home_dir=1
上記は、selinuxFTPホームディレクトリコンテキストを永続的に設定します-P
再起動後。
ftp> put ftp-test.txt local: ftp-test.txt remote: ftp-test.txt 227 Entering Passive Mode (10,1,1,110,174,219). 150 Ok to send data. 226 Transfer complete.
これで、FTPサーバーのセットアップが完了しました。その他の構成オプションについては、メインのvsftpdFTPサーバー構成ファイル/etc/vsftpd/vsftpd.conf
を参照してください。 。構成ファイルに変更を加えるときは、FTPサービスを再起動して変更を適用してください:
[root@rhel7 ~]# service vsftpd restart Redirecting to /bin/systemctl restart vsftpd.service