1. FTP は 2 台のコンピュータ間でファイルを転送するために使用されます。これはインターネット上で最も広く使用されているサービスの 1 つです。実際のニーズに応じて各ユーザーの使用許可を設定できます。また、クロスプラットフォーム機能もあります。 UNIX で使用でき、FTP クライアントとサーバーは Linux や Windows などのオペレーティング システムに実装でき、プラットフォーム間でファイルを転送できます。したがって、FTP サービスはネットワークでよく使用されるリソース共有方式の 1 つであり、FTP プロトコルには PORT と PASV という 2 つの動作モード、つまりアクティブ モードとパッシブ モードがあります。
2. FTP (File Transfer Protocol) はファイル転送プロトコルです。クライアント/サーバー モードを採用した TCP ベースのプロトコルです。FTP プロトコルを通じて、ユーザーは FTP サーバーにファイルをアップロードまたはダウンロードできます。現在は HTTP を介して行われていますが、プロトコルをダウンロードするためのサイトは数多くありますが、FTP プロトコルはユーザー数と帯域幅の割り当てを適切に制御でき、ファイルを迅速かつ簡単にアップロードおよびダウンロードできるため、FTP はネットワーク上のファイルのアップロードおよびダウンロードに推奨されるサーバーになりました。 、これはアプリケーションでもあり、ユーザーは自分のコンピュータを世界中の FTP プロトコルを実行しているすべてのサーバーに接続し、サーバー上の多数のプログラムや情報にアクセスできます。
FTPのインストールと設定
1. vsftpd と依存関係をインストールする
yum install -y vim net-tools #工具
yum install -y vsftpd* pam* db4* #ftp软件 #pam:认证模块 #DB4支持文件数据库
2. 設定ファイルを変更する
vsftp設定ファイル
設定ファイルをコピーする
cd /etc/vsftpd
ls
cp vsftpd.conf{,.bak}
ls
設定ファイルを編集する
vim vsftpd.conf
write_enable=YES #
anon_umask=022
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
FTP設定ファイルの関連パラメータ
https://blog.csdn.net/jiance520/article/details/85723550
3.ファイアウォールと selinux をオフにする
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #永久关闭
setenforce 0 #暂时关闭selinux
4.アップロードする FTP 権限を変更します
cd /var/ftp #放置根目录的地方
ls
chown -R ftp.ftp pub/ #设置权限
ll
5.vsftp はローカル システムのユーザーを構成します
テストユーザーを作成します (アカウント: kiki、kuku パスワード: 040057)
useradd kiki #创建系统用户
useradd kuku
echo "040057" | passwd --stdin kuku #设置密码
echo "040057" | passwd --stdin kiki
2. 設定ファイルを変更する
cd /etc/vsftpd.conf
3. 新しく作成したユーザーをホワイトリストに追加します
vim /etc/vsftpd/user_list
1. 仮想 FTP ユーザー アカウント データベース ファイルを作成する
vsftpd サービスは、Berkeley DB 形式のデータベース ファイルを使用して仮想ユーザー アカウントを保存します。この種のデータベース ファイルを作成するには、db_load ツールを使用する必要があります。db_load ツールは db4-utils ソフトウェア パッケージによって提供され、デフォルトでインストールされます。
● -f は、元のデータファイルを指定します。
● -T は、Berkeley DB 以外のアプリケーションがテキスト形式に変換された DB データファイルを使用できるようにします。
● -t hash は、ファイルを読み取る基本的な方法です。
useradd -s /sbin/nologin vu #建立虚拟ftp用户的账号
cd /etc/vsftpd
vim user #创建虚拟用户文件,(奇数行:账号。偶数行:密码。)
db_load -T -t hash -f user user.db #创建数据文件
4.PAM (Pluggable Authentication Modules) は、Sun が提案した認証メカニズムです。いくつかのダイナミック リンク ライブラリと統一された API セットを提供することで、システムが提供するサービスとサービスの認証方法を分離し、システム管理者がサービス プログラムを変更することなく、必要に応じてサービスごとに異なる認証方法を柔軟に設定できるようにします。また、システムへの新しい認証方法の追加も容易になります。
仮想ユーザー認証用に新しい PAM ファイル vsftpd.vu を作成します。PAM ファイルの「db=」パラメータは、db_load コマンドを使用して生成されたアカウント パスワード データベース ファイルへのパスですが、データベースのサフィックスを書き込む必要はありません。ファイル:
vim /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/user
#该模块将使用位于/etc/vsftpd/user的数据库进行身份验证。第二行表示在进行账户管理时
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/user
#该模块将使用位于/etc/vsftpd/user的数据库进行账户管理。这两行配置通常用于vsftpd服务器的用户认证和管理
設定ファイルを変更する
vim vsftpd.conf
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=vu
pam_service_name=vsftpd.vu
local_enable=YES
local_umask=077
chroot_local_user=YES
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_dir
パラメータの説明
write_enable=YES #表示启用写入功能。
dirmessage_enable=YES #表示启用目录消息功能。
xferlog_enable=YES #表示启用传输日志功能。
connect_from_port_20=YES #表示使用端口20进行数据连接。
xferlog_std_format=YES #表示使用标准格式记录传输日志。
listen=YES #表示启用监听功能。
userlist_enable=YES #表示启用用户列表功能。
tcp_wrappers=YES #表示启用TCP包装器功能。
allow_writeable_chroot=YES #表示允许可写的chroot目录。
guest_enable=YES #表示启用访客账户功能。
guest_username=vu #表示访客账户的用户名为vu。
pam_service_name=vsftpd.vu #表示PAM服务名称为vsftpd.vu。
local_enable=YES #表示启用本地用户功能。
local_umask=077 #表示本地用户的umask值为077。
chroot_local_user=YES #表示将本地用户chroot到其主目录。
virtual_use_local_privs=YES #表示虚拟用户使用本地权限。
user_config_dir=/etc/vsftpd/user_dir #表示用户配置文件所在目录为/etc/vsftpd/user_dir。
作成された仮想ユーザー用に独立した構成ディレクトリとファイルを作成します。
mkdir /etc/vsftpd/user_dir
cd user_dir
vim kuku #用户文件
local_root=/etc/vsftpd/data
仮想ユーザーデータを保存するディレクトリを作成する
cd ..
mkdir data
chmod 777 data/
ようやくクライアントテストが完了しました