GNU/Linux >> Linux の 問題 >  >> Linux

Redhat7LinuxでvsftpdFTPファイルサーバーをセットアップする方法

この短い構成では、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

Linux
  1. VSFTPDを使用してRockyLinux8にFTPサーバーをインストールする方法

  2. LinuxでパスワードなしのSSHを設定する方法

  3. Linux でリバース SSH トンネルをセットアップする方法

  1. LinuxでSSHを使用してパーソナルファイルサーバーを作成する方法

  2. Redhat7Linuxサーバーで名前付きDNSサービスをセットアップする方法

  3. Ubuntu 20.04 FocalFossaLinuxでFTPサーバーをセットアップする方法

  1. UbuntuLinuxでFTPサーバーをセットアップして使用する方法

  2. Ubuntu20.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  3. Ubuntu18.04でVSFTPDを使用してFTPサーバーをセットアップする方法