Linuxシリーズ解説——FTPプロトコルの応用

Linux システムにおける FTP ファイル転送プロトコルのアプリケーションを簡単に紹介します。

0. 基本的な概念

FTP (ファイル転送プロトコル): ファイル転送プロトコル。

FTP は、TCP/IP ネットワーク上での通信およびファイル転送のためのプロトコルです。FTP ServerFTP は、大きくと の2 つの部分に分けることができますFTP Clientユーザーは、FTP サーバー (FTP ホスト/サイトとも呼ばれます) 上でファイルを受信および転送できます。FTP クライアントは、TCP プロトコルを通じて FTP サーバーに接続し、FTP コマンドを使用して通信します。FTP クライアントは、リモート FTP サーバー内のファイルとディレクトリを参照し、FTP サーバーからファイルをダウンロードしたり、FTP サーバーにファイルをアップロードしたりできます。

FTP データ転送では、アクティブ モードとパッシブ モードの 2 つのモードを使用できます。アクティブ モードでは、FTP サーバーは FTP クライアントにデータを送信しますが、パッシブ モードでは、FTP クライアントは FTP サーバーにデータを送信します。

FTP は通常、通信に標準ポート 21 を使用します。ただし、FTP プロトコルは暗号化をサポートしていないため、機密情報を転送する場合は追加のセキュリティ対策を講じる必要があります。たとえば、SFTP (Secure File Transfer Protocol) は、安全なネットワーク上でのファイル転送に使用される SSH (Secure Shell) プロトコルに基づく暗号化プロトコルです。

1.FTPサーバー

1.1 FTPサーバーのインストール

sudo apt install vsftpd

1.2 FTPサーバーの開閉

#启动服务
sudo service vsftpd start

#关闭服务
sudo service vsftpd stop

#重启服务
sudo service vsftpd restart

1.3 FTPサーバーが有効かどうかを確認する

sudo service vsftpd status

オン状態:
ここに画像の説明を挿入

無効:
ここに画像の説明を挿入

1.4 FTPサーバーの設定

vsftpd の構成ファイルは です/etc/vsftpd.conf。必要な構成オプションについて説明します。

1. ローカル ユーザーを使用して FTP サーバーにログインします。

パラメータ 説明する
local_enable=YES ローカル ユーザーのログインを許可します。
write_enable=YES 書き込みを許可する。設定されていない場合、または NO に設定されている場合、ファイルはアップロードまたは削除できません。
local_umask=077 ローカル ユーザーの権限マスク。設定されていない場合、デフォルトは 8 進数の 077 です。

注: FTP にログインするユーザー、またはユーザーが属するグループに、ターゲット ディレクトリに対する読み取りおよび書き込み権限があることを確認してください。たとえば、次のようになります。
ここに画像の説明を挿入

2. 匿名ユーザーを使用して FTP サーバーにログインします

パラメータ 説明する
anonymous_enable=YES 匿名ログインを許可します。
anon_root=/home/sun/anondir 匿名ユーザーのルート ディレクトリ、カスタム パス。設定する必要があります。設定しないと、匿名ログイン後にディレクトリが使用できなくなります。
write_enable=YES 書き込みを許可します。設定されていないか、NO に設定されている場合、anon_other_write_enable および anon_upload_enable の設定は無効になります。
anon_other_write_enable=YES 匿名ユーザーの書き込みを許可しない場合、または NO に設定されている場合、ファイルは削除できません。write_enable=YES が必要です。それ以外の場合は無効です。
anon_upload_enable=YES 匿名ユーザーがファイルをアップロードできるようにするには、write_enable=YES が必要です。それ以外の場合は無効です。
anon_mkdir_write_enable=YES 匿名ユーザーにフォルダーの作成を許可します。write_enable=YES が必要です。それ以外の場合は無効です。
anon_umask=077 匿名ユーザーの権限マスクが設定されていない場合、デフォルト値は 8 進数の 077 です。

匿名ユーザーのログインに関する注意点は 2 つあります。
(1) ローカルユーザーが FTP サーバーにログインするときの注意点と同様に、FTP 匿名ユーザーは他のユーザーと同等であり、他のユーザーが読み取りとターゲットディレクトリに対する書き込み権限。
(2) FTP サーバーでは、匿名ユーザーは書き込み権限を設定根目录できません。書き込み権限が設定されている場合、FTP 匿名ログインでエラーが報告されます。其他人权限
ここに画像の説明を挿入

2.FTPクライアント

2.1 ftp

lftp は ftp よりもタブ キーによる補完が多く、コマンド ラインに現在のパスが表示されるため、これをお勧めします。

インストールコマンド:

sudo apt install lftp

基本的な使い方:

lftp ip地址

例: 192.168.1.7 ホストに管理者でログインします。
ここに画像の説明を挿入

例: ホスト 192.168.1.7 への匿名ログインには、
FTP サーバー上で設定された匿名ログインが必要です。匿名でログインするように FTP サーバーを設定する方法は、Linux システムから上記の FTP サーバーの部分を参照できます。

sun@sun-pc:~$ lftp 192.168.1.7
lftp 192.168.1.7:~>

2.2フィート

ubuntu が付属しており、クリア テキスト送信、タブ補完機能がなく、コマンド ラインに現在のパスが表示されません。
インストールコマンド:

sudo apt install ftp

基本的な使い方:

ftp ip地址

例: ユーザー管理者がホスト 192.168.1.7 にログインします。
ここに画像の説明を挿入

例: ホスト 192.168.1.7 への匿名ログインには、
FTP サーバー上で設定された匿名ログインが必要です。匿名でログインするように FTP サーバーを設定する方法は、Linux システムから上記の FTP サーバーの部分を参照できます。
ここに画像の説明を挿入

2.3SFTP

sftp には、ftp クライアントと同様に、追加の ssh 暗号化通信機能を備えた ubuntu も付属しているため、ここでは詳しく説明しません。

2.4 ファイルエクスプローラーに統合された ftp と sftp

Ubuntu のファイル エクスプローラーには、次のような ftp や sftp などのクライアントが付属しています。
ここに画像の説明を挿入

3. FTP共通コマンド

ftp のコマンドは基本的に Linux の組み込みコマンドと同じですが、Linux のコマンドはそれほど多くありません。FTP サーバーにログインした後、次のコマンドを使用できます。

# 上传文件到当前ftp服务器,put的时候可以按tab键会提示本地机器当前目录有哪些文件
put 文件

# 从当前ftp服务器下载文件
get 文件

# 查看有哪些文件,文件夹
lsls -l

# 查看文件内容
cat 文件

# 切换目录
cd 路径

# 创建文件夹
mkdir 文件夹

# 删除文件或目录
rmrm -r

# 退出登录,其中exit只有linux系统的ftp客户端有效
bye 或 quit 或 exit

おすすめ

転載: blog.csdn.net/In_engineer/article/details/130514453