Ubuntu 18.04 に vsftpd をインストールするための実装コード

Ubuntu 18.04 に vsftpd をインストールするための実装コード

vsftpdをインストールする

$ sudo apt-get install vsftpd -y

vsftpdサービスを起動し、起動時に開始するように設定します。

$ sudo systemctl で vsftpd を起動します
$ sudo systemctl を有効にする vsftpd

FTPディレクトリ構造を設定する

ユーザーを作成する

$ sudo adduser testuser1

ディレクトリを作成し、所有権を設定する

$ sudo mkdir /home/testuser1/ftp
$ sudo chown nobody:nogroup /home/testuser1/ftp
$ sudo chmod aw /home/testuser1/ftp

ファイルをアップロードして所有権を設定できるディレクトリを作成します

$ sudo mkdir /home/testuser1/ftp/test
$ sudo chown testuser1:testuser1 /home/testuser1/ftp/test

vsftpdの設定

vsftpdの元の設定ファイルをバックアップする

$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

vsftpd.confファイルを開いて編集する

$ sudo vi /etc/vsftpd.conf

ファイルに以下を追加します

聞く=いいえ
listen_ipv6=はい
匿名を有効にする=いいえ
ローカル有効=はい
書き込み有効=はい
ローカル_umask=022
dirmessage_enable=はい
ローカルタイムを使用する=はい
xferlog_enable=はい
ポート20からの接続=はい
chroot_local_user=はい
secure_chroot_dir=/var/run/vsftpd/空
pam_service_name=vsftpd
pasv_enable=はい
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
ローカルルート=/home/$USER/ftp
ユーザーリストを有効にする=はい
ユーザーリストファイル=/etc/vsftpduserlist.conf
ユーザーリスト拒否=いいえ

4. 設定ファイルを保存して閉じる

:wq

5. 作成したtestuser1ユーザーをvsftpdユーザーリストファイルに追加します。

$ sudo vi /etc/vsftpduserlist.conf

6. これらの変更を適用するには、vsftpdサービスを再起動します。

$ sudo systemctl vsftpdを再起動します

SSL/TLSの使用

セキュリティ証明書の作成

$ sudo mkdir /etc/certs

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/certs/vsftpd.pem \
-/etc/certs/vsftpd.pem から

vsftpd.confファイルを開く

$ sudo vi /etc/vsftpd.conf

ファイルに以下を追加します

rsa_cert_file=/etc/certs/vsftpd.pem
rsa_private_key_file=/etc/certs/vsftpd.pem
SSL_enable=はい
allow_anon_ssl=いいえ
ローカルデータSSLを強制する=はい
強制ローカルログインSSL=はい
ssl_tlsv1=はい
ssl_sslv2=いいえ
ssl_sslv3=いいえ
必要SSL再利用=いいえ
ssl_ciphers=高

ファイルを保存し、vsftpdを再起動します。

$ sudo systemctl vsftpdを再起動します

SFTPプロトコルを使用して、FTPクライアントに追加されたユーザーにログインします。

ファイアウォールの設定

$ sudo ufw OpenSSHを許可する
$ sudo ufw 20/tcp を許可する
$ sudo ufw 21/tcp を許可する
$ sudo ufw 許可 40000:50000/tcp
$ sudo ufw 990/tcp を許可する

$ sudo ufwを有効にする
$ sudo ufwステータス

参照: DevAnswers.co、hostadvice.com

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • UbuntuにFTPサーバーをインストールして設定する
  • Ubuntuにvsftpd FTPをインストールする詳細な手順
  • Ubuntu 14.04 に FTP サーバーをインストールするための実装手順

<<:  MySQL のインデックスにおける NULL の影響についての詳細な説明

>>:  JS オブジェクト配列の重複排除のための 3 つの方法の例と比較

推薦する

MySQLの7種類のログの概要

MySQL には次のログ ファイルがあります。 1: 再実行ログ2: ロールバックログ(元に戻すログ...

Mysql SQL ステートメントのコメント

MySQL SQL ステートメントにコメントを追加できます。MySQL SQL ステートメントのコメ...

MySQL におけるデータベース間関連クエリメソッド

ビジネスシナリオ: 異なるデータベース内のテーブルをクエリするたとえば、関連付けられるテーブルは、マ...

DIVマスクを使用して、マウスでチェックボックスを直接チェックすることが無効である問題を解決します

フロントエンドの開発過程で、チェックボックスが必要な状況が発生しました。ユーザー操作の利便性を考慮し...

WeChatミニプログラムをTencent Mapsに接続する2つの方法

最近、WeChat アプレットを作成しているのですが、いくつか問題が発生しました。インターネットでい...

Zabbixについて管理者ログインパスワードを忘れた場合、パスワードをリセットする

Zabbix 管理者ログイン パスワードのリセットに関する問題は次のとおりです。 1. 問題の説明:...

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

Windows システムでの MySQL 8.0.21 インストール チュートリアル (図とテキスト)

インストールの提案: インストールには .exe を使用せず、圧縮パッケージを使用してください。これ...

MySQL シリーズ 10 同時実行制御を実装するための MySQL トランザクション分離

目次1.同時アクセス制御2. 取引1. トランザクションは ACID 原則に従います。 2. トラン...

要素内の TimePicker は時間の一部を無効にします (分単位で無効)

プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...

Docker で最初のアプリケーションをデプロイする方法

前回の記事では、Docker Desktop をインストールし、Kubernetes を有効にしまし...

nginxプロキシsocket.ioサービスの落とし穴の詳細な説明

目次Nginx は 2 つの socket.io サーバーをプロキシします。 socket.ioの動...

JavaScript で localStorage を使用する方法

.NET の世界に参入したい開発者であれば、何が可能なのかを知る必要があります。 .NET Fram...

MySQLdump コマンドを使用した MySQL データの移行

このソリューションの利点はシンプルさと使いやすさですが、欠点はダウンタイムが長くなることです。 した...

Linux Bash スクリプトを使用してユーザーを識別する方法の例

多くの場合、bash スクリプト内またはスクリプト自体内で直接 sudo を使用してコマンドを実行す...