LinuxとWIN10間の情報送信を完了するためのFTPサービスについて説明します(実験の詳細)
- 1.FTPの概要
- 2つの関連する構成
-
- 1.FTPサービスをインストールします
- 2.匿名ユーザーがアクセスするFTPサービスを設定します(最大権限)
-
- ①、構成ファイルを変更します
- ②。匿名ユーザーがデータをアップロードできるように、FTPのルートディレクトリの下にあるpubサブディレクトリへの匿名アクセスの最大権限を設定します。
- ③。サービスをオンにし、ファイアウォールと強化されたセキュリティ機能をオフにします
- ④、匿名アクセステスト
- ⑤ローカルユーザー認証をftpにアクセスするように設定し、ftp以外のディレクトリへの切り替えを禁止します(デフォルトログインのルートディレクトリはローカルユーザーのホームディレクトリです)
- ⑥。匿名ユーザーとローカルユーザーがログインするためのデフォルトのルートディレクトリを変更します
- △、user_listユーザーリストファイルを使用し、ホワイトリストとブラックリストを設定します
- 3.シミュレーション実験1(FTPサービスのアップロードとダウンロード)
- 第4に、シミュレーション実験2(ローカルユーザーはFTPにログインし、ホームディレクトリ以外のディレクトリへの切り替えを制限し、書き込み権限を付与します)
1.FTPの概要
1.FTPサービス-ファイルの転送に使用されるプロトコル
FTPは、File Transfer Protocolの英語の略語であり、TCP / IPプロトコルスイートのプロトコルの1つです。インターネット上の制御ファイルの双方向送信に使用されます。同時に、それはアプリケーション(アプリケーション)でもあります。さまざまなオペレーティングシステムに基づいてさまざまなFTPアプリケーションがあり、これらのアプリケーションはすべて同じプロトコルに従ってファイルを転送します。
FTPプロトコルには2つのコンポーネントが含まれています。1つはFTPサーバーで、もう1つはFTPクライアントです。FTPサーバーはファイルの保存に使用され、ユーザーはFTPクライアントを使用してFTPプロトコルを介してFTPサーバーにあるリソースにアクセスできます。
2.ポート
- FTPは、クライアント通信にデフォルトでTCPポート20および21を使用します
- ポート20は、データ接続を確立し、ファイルデータを転送するために使用されます
- ポート21は、制御接続を確立し、FTP制御コマンドを送信するために使用されます
3.データ接続モード
- 標準(PORTモード、アクティブモード):サーバーはアクティブにデータ接続を開始します
- FTPクライアントは、最初にサーバーのTCPポート21との接続を確立してコマンドを送信します。クライアントがデータを受信する必要がある場合、クライアントはこのチャネルでPORTコマンドを送信します。PORTコマンドには、クライアントがデータの受信に使用するポートが含まれています。データを送信するとき、サーバーはクライアントの指定されたポートに接続して、独自のTCP20ポートを介してデータを送信します。FTPサーバーは、データを転送するためにクライアントとの新しい接続を確立する必要があります。
- パッシブ(PASV、パッシブモード):サーバーはデータ接続をパッシブに待機します
- 制御チャネルの確立は標準モードと似ていますが、接続の確立後にPasvコマンドが送信されます。サーバーはPasvコマンドを受信すると、一時ポート(1023より大きく65535より小さいポート番号)を開き、このポートでデータを送信する要求をクライアントに通知します。クライアントはFTPサーバーのこのポートに接続し、次に、FTPサーバーはこのポートを介してデータを送信します。
2つの関連する構成
1.FTPサービスをインストールします
yum install -y vsftpd #yum一键安装
cd /etc/vsftpd/ #切换到ftp配置目录下
cp vsftpd.conf vsftpd.conf.bak
或 cp vsftpd.conf{
,.bak} #进行原配置文件的备份
2.匿名ユーザーがアクセスするFTPサービスを設定します(最大権限)
①、構成ファイルを変更します
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #开启匿名用户访问,默认已开启
write_enable=YES #开放服务器的写权限(若要上传,必须开启),默认已开启
anon_umask=022 #设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES #允许匿名用户上传文件,默认已注释,需取消注释
anon_mkdir_write_enable=YES #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable =YES #允许删除、重命名、覆盖等操作,需添加
②。匿名ユーザーがデータをアップロードできるように、FTPのルートディレクトリの下にあるpubサブディレクトリへの匿名アクセスの最大権限を設定します。
chmod 777 /var/ftp/pub
③。サービスをオンにし、ファイアウォールと強化されたセキュリティ機能をオフにします
systemctl start vsftpd #开启服务
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭系统安全机制
④、匿名アクセステスト
win10中打开cmd命令提示符
ftp 192.168.184.50 #建立ftp连接
ftp> pwd #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls #查看当前目录
ftp> cd pub #切换到pub 目录
ftp> get 文件名 #下载文件到当前Windows本地目录
ftp> put 文件名 #上传文件到ftp目录
ftp> quit #退出
⑤ローカルユーザー認証をftpにアクセスするように設定し、ftp以外のディレクトリへの切り替えを禁止します(デフォルトログインのルートディレクトリはローカルユーザーのホームディレクトリです)
vim /etc/vsftpd/vsftpd.conf
local_enable=Yes #启用本地用户
anonymous_enable=NO #关闭匿名用户访问
write_enable=YES #开放服务器的写权限(若要上传,必须开启)
anon_umask=077 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES #允许被限制的用户主目录具有写权限
systemctl restart vsftpd #重启服务
⑥。匿名ユーザーとローカルユーザーがログインするためのデフォルトのルートディレクトリを変更します
anon_root=/var/www/html #anon_root 针对匿名用户
local_root=/var/www/html #local_root 针对系统用户
△、user_listユーザーリストファイルを使用し、ホワイトリストとブラックリストを設定します
vim /etc/vsftp/user_list
//末尾加上zhansgan用户
zhansgan
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES #启用user_list用户列表文件
userlist_deny=NO #设置白名单,仅允许user_list用户列表文件的用户访问。默认为YES,为黑名单,禁用
3.シミュレーション実験1(FTPサービスのアップロードとダウンロード)
1.FTPとバックアップ構成ファイルをインストールします
2.構成ファイルを変更します
3.サービスをオンにし、ファイアウォールと強化されたセキュリティ機能をオフにします
4.win10でのFTP接続テスト
5.最大の権限を与える
6.WIN10にファイルをアップロードします
7.アップロードが成功したかどうかを確認します
8.pubディレクトリにコンテンツを含む新しいファイルを作成します
9. WIN10でFTPサービスのダウンロードを実行し、ファイルが正常にダウンロードされているかどうかを確認します
第4に、シミュレーション実験2(ローカルユーザーはFTPにログインし、ホームディレクトリ以外のディレクトリへの切り替えを制限し、書き込み権限を付与します)
1.変更する構成ファイルを入力し、ローカルユーザーとしてログインします
2.ローカルユーザーを作成します
3.ローカルユーザーのFTPログイン状況をテストします
4.構成ファイルを変更します
5.サービスを再起動します
6. FTPに接続し、ディレクトリ切り替えテストを実行します
7.書き込み許可テストを実行します