vsftpd の概要 vsftpd は「very secure FTP daemon」の略称で、セキュリティはその最大の特徴の 1 つです。 vsftpd は、UNIX 系オペレーティング システムで実行されるサーバーの名前です。Linux、BSD、Solaris、HP-UNIX などのシステムで実行できます。これは完全に無料のオープン ソース FTP サーバー ソフトウェアであり、他の FTP サーバーがサポートしていない多くの機能をサポートしています。 特徴 非常に高いセキュリティ要件、帯域幅制限、優れたスケーラビリティ、仮想ユーザーの作成機能、IPv6のサポート、高速 小型で軽量、安全で使いやすい。 ftp、sftp、vsftp、vsftpdの違い FTP は File Transfer Protocol の略で、クライアント/サーバー モデルを使用してインターネット上でファイルを転送するための標準プロトコルのセットです。ネットワーク伝送プロトコルのアプリケーション層に属します。 sftp は、安全なファイル転送プロトコルである SSH ファイル転送プロトコルの略です。 vsftp は、GPL に基づいて Unix 系システムで使用される ftp サーバー ソフトウェアです。正式名称は Very Secure FTP です。名前が示すように、コンパイラの本来の目的はコードのセキュリティです。 vsftpd は、非常に安全な FTP デーモンの略称です。セキュリティはその最大の特徴の 1 つです。 vsftpd は、UNIX 系オペレーティング システムで実行されるサーバーの名前です。Linux、BSD、Solaris、HP-UNIX などのシステムで実行できます。これは完全に無料のオープン ソース ftp サーバー ソフトウェアです。 1. 匿名ユーザーが ftp にログインします (ファイルは /var/ftp にあります) 1. vsftpdサービスをインストールする [root@localhost ~]# yum install vsftpd -y ##サービスをインストールします[root@localhost ~]# cd /etc/vsftpd/ ##このディレクトリは設定ファイルのディレクトリです[root@localhost vsftpd]# ls ftpusers ユーザーリスト vsftpd.conf vsftpd_conf_migrate.sh [root@localhost vsftpd]# systemctl start vsftpd ## vsftpd サービスを起動します[root@localhost vsftpd]# systemctl stop firewalld.service ## ファイアウォールを閉じます[root@localhost vsftpd]# setenforce 0 ## 拡張機能を閉じます[root@localhost vsftpd]# ls /var/ftp/ ## ftp ディレクトリ pub に切り替えます [root@localhost vsftpd]# echo "this is test" > /var/ftp/test.txt ##テキストファイルを追加 2. テストマシンのcmdを使用してvsftpdサービスにアクセスし(cmdはftpに接続します)、ファイルをダウンロードします。 C:\Users\xy007>ftp 192.168.13.140 ##ftp サービスにアクセスし、192.168.13.140 に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): ftp ##匿名アクセス 331 パスワードを指定してください。 パスワード: ## 改行なしのパスワード 230 ログインに成功しました。 ftp> pwd ##現在のパスを表示します 257 "/" ##ftp サービスのルート ディレクトリ ftp> ls -a ##ディレクトリの内容を表示します 200 PORT コマンドが成功しました。PASV の使用を検討してください。 150 ディレクトリリストが表示されます。 。 .. パブ test.txt ## サーバー 226 ディレクトリ内のファイルは正常に送信されました。 ftp: 0.00 秒で 25 バイトを受信しました (25000.00 kb/秒)。 ftp> get test.txt ## ファイルをローカル コンピューターにダウンロードします (アクセスするディスクにダウンロードします。ダウンロードするディスクを切り替えることもできます (e:)) 200 PORT コマンドが成功しました。PASV の使用を検討してください。 150 test.txt のバイナリ モード データ接続を開きます (13 バイト)。 226 転送が完了しました。 ftp: 0.00 秒で 13 バイトを受信しました (13000.00 kb/秒)。 ftp> put test1.txt ## C ドライブに test1.txt を作成し、Linux にアップロードします 200 PORT コマンドが成功しました。PASV の使用を検討してください。 550 権限が拒否されました。##これは、権限が制限された Linux の vsftpd サービスの構成です (匿名、ユーザー、仮想ユーザー) 3. vsftpd設定ファイルを変更して、匿名アクセスの最大権限を有効にする [root@localhost ftp]# cd /etc/vsftpd/ [root@localhost vsftpd]# vim vsftpd.conf ## 設定ファイルで次のオプションを探して有効にします anonymous_enable=YES ## 匿名ユーザーを有効にします local_enable=YES ## ローカル ユーザー write_enable=YES ## 書き込み権限 local_umask=022 ## ローカル ユーザーの逆マスク anon_upload_enable=YES ## アップロード権限が有効です anon_mkdir_write_enable=YES ## ディレクトリの作成と書き込みアクセスを有効にします anon_other_write_enable=YES ## その他の名前変更および削除権限を追加します [root@localhost vsftpd]# systemctl restart vsftpd ## サービスを再起動します [root@localhost vsftpd]# cd /var/ftp/ ## ftp ディレクトリに切り替えます [root@localhost ftp]# ls pubテスト.txt [root@localhost ftp]# ls -l 総投与量 4 drwxr-xr-x. 2 ルート ルート 6 2018年10月31日 公開 -rw-r--r--。1 ルート ルート 13 11月 5 19:14 test.txt [root@localhost ftp]# chmod 777 pub ##pub ディレクトリに最大の権限を与えます。ftp ディレクトリに最大の権限を直接与えることはできないことに注意してください。 4. テストマシンのcmdを使用してftpにアクセスし、ローカルファイルをLinuxにアップロードします。 C:\Users\xy007>ftp 192.168.13.140 ##ftp サービスにアクセスし、192.168.13.140 に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー(192.168.13.140:(なし)): ftp 331 パスワードを指定してください。 パスワード: 230 ログインに成功しました。 ftp> cd pub/ ##pub ディレクトリに切り替えます 250 ディレクトリが正常に変更されました。 ftp> put test1.txt ## ファイルのアップロード 200 PORT コマンドが成功しました。PASV の使用を検討してください。 150 データを送信できます。 226 転送が完了しました。 ftp: 0.03 秒で 13 バイト (0.41 kb/s) を送信しました。 ftp> by ##Exit 221 さようなら。 ##deleteを使用してファイルを削除することもできます 5. アップロードしたファイルを表示する [root@localhost ftp]# cd /var/ftp/pub ##pubディレクトリに切り替えます [root@localhost pub]# ls ##アップロードされたファイルtest1.txtを表示します 次に、ローカルユーザーを使用して ftp にログインします (ファイルはホームディレクトリにあります) ローカルユーザーがシステムディレクトリにアクセスできないようにし、ユーザーのホームディレクトリへのアクセスのみに制限します。 1. システムユーザーを作成する [root@localhost pub]# useradd zhangsan ##ユーザーを作成し、ユーザーのパスワードを設定します [root@localhost pub]# passwd zhangsan [root@localhost pub]# useradd lisi ##ユーザーを作成し、ユーザーのパスワードを設定します [root@localhost pub]# passwd lisi 2. テストマシンでcmdを使用して、ユーザーを使用してftpにログインします。 C:\Users\xy007>ftp 192.168.13.140 ##ftp サービスにログインし、192.168.13.140 に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): zhangsan ##ローカルユーザー 331 を使用します。パスワードを指定してください。 パスワード: 230 ログインに成功しました。 ftp> ls / ##user/ の下のディレクトリ ファイルを表示し、システム ルート ディレクトリに直接移動します 200 PORT コマンドが成功しました。PASV の使用を検討してください。 150 ディレクトリリストが表示されます。 /bin /ブート /開発 /等 /家 /ライブラリ /lib64 /メディア /分 /opt /プロセス /根 /走る /sbin /srv /システム /tmp /usr /var 226 ディレクトリ送信OK。 ftp: 0.02 秒で 126 バイトを受信しました (7.88 kb/秒)。 3. ローカルユーザーがシステムディレクトリにアクセスできないようにし、ユーザーのホームディレクトリへのアクセスのみに制限する [root@localhost pub]# vim /etc/vsftpd/vsftpd.conf ##設定ファイルを変更する chroot_local_user=YES ##システムディレクトリへのローカルアクセスを制限するモジュールを有効にする allow_writeable_chroot=YES ##書き込み権限を追加する [root@localhost pub]# systemctl restart vsftpd ##サービスを再起動します 4. マシンのコマンドアクセスをテストする C:\Users\xy007>ftp 192.168.13.140 ##ftp にアクセス 192.168.13.140に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): zhangsan ##ユーザー zhangsan 331 パスワードを指定してください。 パスワード: 230 ログインに成功しました。 ftp> cd / ## システム ルート ディレクトリに切り替えます 250 ディレクトリが正常に変更されました。 ftp> ls ## 確認して、まだユーザーのホーム ディレクトリにあることを確認します。システムの他のディレクトリにはアクセスできないため、セキュリティが強化されます。200 PORT コマンドが成功しました。PASV の使用を検討してください。 150 ディレクトリリストが表示されます。 226 ディレクトリ送信OK。 指定されたユーザーのFTPアクセスを許可または拒否するように設定します 1. ユーザーリスト(デフォルトでは拒否)を設定して、特定のユーザーのFTPへのログインを許可または拒否します。 [root@localhost pub]# cd /etc/vsftpd/ ##vsftpd設定ファイルディレクトリに切り替えます [root@localhost vsftpd]# vim vsftpd.conf userlist_enable=YES ## ユーザーリストが有効になっていることを確認する [root@localhost vsftpd]# ls ftpusers ユーザーリスト vsftpd.conf vsftpd_conf_migrate.sh [root@localhost vsftpd]# echo "zhangsan" >> user-list ## ユーザー zhangsan をリストに追加します [root@localhost vsftpd]# systemctl restart vsftpd ## サービス 2 を再起動し、テスト マシンでテストします cmd C:\Users\xy007>ftp 192.168.13.140 192.168.13.140に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): zhangsan ##zhangsan を使用してログイン 530 権限が拒否されました。 ログインに失敗しました。 ##ftp へのログインを直接拒否する> 3. リストを次のものだけを許可するように設定する [root@localhost ftp]# cd /etc/vsftpd/ [root@localhost vsftpd]# vim vsftpd.conf ## vsftpd設定ファイルを設定します userlist_enable=YES userlist_deny=NO ## [root@localhost vsftpd]を許可するリストを追加# systemctl restart vsftpd ## サービスを再起動 4. テストマシン cmd test C:\Users\xy007>ftp 192.168.13.140 192.168.13.140に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): zhangsan ## zhangsan を使用して 331 にログインします。パスワードを指定してください。 パスワード: 230 ログインに成功しました。##ログインに成功しました ftp> 221 さようなら。 C:\Users\xy007>ftp 192.168.13.140 192.168.13.140に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): lisi ## lisi を使用してログイン 530 権限が拒否されました。 ログインに失敗しました。 ##ログインに失敗しました 3. ftp を使用して仮想ユーザー アカウントを作成します (ファイルはシステム ユーザー vuser のホーム ディレクトリにあります) 1. 仮想ユーザーファイルを作成する [root@localhost vsftpd]# cd /etc/vsftpd/ ##設定ファイルディレクトリに切り替えます [root@localhost vsftpd]# vim vuser ##仮想ユーザーファイルを作成します lisa ##奇数ユーザー名 123123 ##偶数パスワード tom 123123 2. データベースファイルを変換し、セキュリティ権限を設定する [root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db ##vuser をデータベース ファイルに変換します ##T 変換、t タイプ、f 指定されたファイル [root@localhost vsftpd]# chmod 600 vuser ##セキュリティ上の理由から、他の人に見られないように権限を設定します [root@localhost vsftpd]# chmod 600 vuser.db 3. 仮想ユーザーログインをサポートするためにPAM認証モジュールを編集する [root@localhost vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser ##システムユーザーを作成し、ホームディレクトリを指定しますが、[root@localhost vsftpd]# にログインできません vim /etc/pam.d/vsftpd.vu ##pam認証モジュールをコンパイルします auth required pam_userdb.so db=/etc/vsftpd/vuser ##変換されたデータベースファイルアカウントを識別します required pam_userdb.so db=/etc/vsftpd/vuser ##パスワードサービスに接続します 4. 仮想ユーザーを有効にし、PAMモジュールを使用してログインを認証する [root@localhost vsftpd]# vim vsftpd.conf ##設定ファイルを変更する##大文字の G は最後の行に移動します#pam_service_name=vsftpd ##コメント##次の 3 行を追加します guest_enable=YES ##ゲスト ユーザーのアクセスを有効にします guest_username=vuser ##vuser ユーザー名を使用します pam_service_name=vsftpd.vu ##pam モジュール [root@localhost vsftpd]# systemctl restart vsftpd ##サービスを再起動します 5. テストマシン cmd test C:\Users\xy007>ftp 192.168.13.140 192.168.13.140に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): tom ##仮想ユーザー tom 331 を使用してログインします。パスワードを指定してください。 パスワード: 230 ログインに成功しました。 ftp> put test1.txt ## ファイルのアップロード 200 PORT コマンドが成功しました。PASV の使用を検討してください。 150 データを送信できます。 226 転送が完了しました。 ftp: 0.00 秒で 13 バイトを送信しました (13000.00 kb/秒)。 ##ファイルを表示する権限は600です [root@localhost vsftpd]# ls -l /opt/vuser/ 総投与量 4 -rw------。 1 仮想ユーザー vuser 11月13日 5 22:51 test1.txt 6. 個々のユーザー設定、ファイルのアップロード権限を指定する 644 [root@localhost vsftpd]# vim vsftpd.conf ## 最後の行の大きな G に user_config_dir=/etc/vsftpd/vu_dir を追加します ## 個々のユーザー設定フォルダー [root@localhost vsftpd]# mkdir vu_dir ## フォルダーを作成します [root@localhost vsftpd]# cd vu_dir/ [root@localhost vu_dir]# vim lisa ##設定フォルダにユーザープロファイルを作成 anon_umask=022 ##アップロードしたファイルの権限を指定 [root@localhost vu_dir]# systemctl restart vsftpd ##サービスを再起動します 7. テストマシンcmdにユーザーlisaとしてログインし、アップロードファイルの権限を確認します。 C:\Users\xy007>ftp 192.168.13.140 192.168.13.140に接続します。 220 (vsFTPd 3.0.2) 200 常に UTF8 モードです。 ユーザー (192.168.13.140:(なし)): lisa ## lisa を使用して 331 にログインします。パスワードを指定してください。 パスワード: 230 ログインに成功しました。 ftp> put 111.txt ## ファイルのアップロード 200 PORT コマンドが成功しました。PASV の使用を検討してください。 150 データを送信できます。 226 転送が完了しました。 ftp: 0.00 秒で 13 バイトを送信しました (13000.00 kb/秒)。 [root@localhost vu_dir]# ls -l /opt/vuser/ ##アップロードされたファイルの権限の合計使用量を表示します 8 -rw-r--r--。1 vuser vuser 11月13日 5 22:58 111.txt ##lisa アップロードファイル権限 644 -rw------. 1 vuser vuser 11月13日 5 22:51 test1.txt ##tom がファイル権限 600 をアップロード 要約する 上記は、編集者が紹介した Linux の vsftpd サービス構成 (匿名、ユーザー、仮想ユーザー) です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル
>>: JSON.stringify のさまざまな用途のまとめ
目次1. props/$emit導入コードサンプル2.Vスロット導入コードサンプル3.$refs/ ...
序文一般的に、Linux システムについて話すときは、Linux カーネルと GNU プロジェクトに...
JavaScriptで格納可能なセカンダリメニューを実装するための具体的なコードは参考までに。具体...
1. 問題Windows 上の Eclipse を使用して開発されたプロジェクトは Windows ...
<label> タグは、入力要素のラベル (タグ) を定義します。ラベル要素はユーザーに...
1. nginxをダウンロードする [root@localhost my.Shells]# dock...
目次依存関係をインストールするブーストをインストールMySQLをコンパイルしてインストールする構成依...
目次事前準備展開ターゲットDocker環境構築クラウドサーバーに接続Docker環境をインストールす...
1. Mariaソースを追加する vi /etc/yum.repos.d/MariaDB.repo...
CSSを使用してブラウザのスクロールバーのスタイルを変更する ::-webkit-スクロールバー{ ...
MySQL ストアド プロシージャ、カーソル、トランザクションの例の詳細な説明以下は私が作成した M...
MySQL では、datetime 型は通常、時間を保存するために使用されますが、現在では多くのシス...
Java を使用してシステム時間を取得し、それを MySQL データベースに保存した後、時間タイプが...
目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...
効果: コード: <テンプレート> <div class="back-t...