FTPサーバーのセットアップと構成

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/

ようやくクライアントテストが完了しました

おすすめ

転載: blog.csdn.net/m0_74090215/article/details/131130735