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 つの方法の例と比較

推薦する

docker イメージのプル速度が遅い問題の解決策

現在、Docker には中国向けの公式ミラーがあります。詳細については、https://www.do...

要素テーブルの多層ネスト表示の実践

複数の注文を含むリストが必要です。各注文は一意にすることも、複数の注文を結合することもできます。各注...

nginxでgzip圧縮を有効にする手順を完了する

目次序文1. gzip圧縮を設定する2. 詳細設定3. nginxサービスを再起動する要約する序文ウ...

CSS で左上の三角形を作成するいくつかの方法の詳細な説明

今日は、CSS を使用して左上の三角形を記述するいくつかの方法を紹介します。概略図(幅と高さを60p...

JavaScript を使用して div の位置をドラッグして入れ替える例

1 実施原則これは、DOM 要素の dragstart/ondragover/ondrop イベント...

MySQL InnoDBセカンダリインデックスのソート例の詳細な説明

ソート問題最近、Geek Time の「45 Lectures on MySQL Practice」...

MySQL 8.0.11 の詳細なインストール手順

この記事では、参考までにMySQL 8.0.11のインストール手順を紹介します。具体的な内容は次のと...

SVNサービスバックアップ操作手順の共有

SVN サービスのバックアップ手順1. ソースサーバーとターゲットサーバーを準備するソースサーバー:...

コードをセマンティックにする HTML のヒント

HTML のセマンティクスはありふれた問題のようです。Google で検索すると、セマンティクスに関...

MySQL トランザクション分析

取引トランザクションはビジネス ロジックの基本単位です。各トランザクションは一連の SQL ステート...

TCPソケットSYNキューとAcceptキューの差異分析

まず、「LISTENING」状態の TCP ソケットには 2 つの独立したキューがあることを理解する...

MySQL での重複キー更新時の replace into と insert into の使用法と相違点の分析

この記事では、MySQL での重複キー更新時の replace into と insert into...

Vueでシングルサインオンを実装する方法のまとめ

最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...

nginx-ingress-controller ログ永続化ソリューションのソリューション

最近、nginx-ingress-controller のアプリケーションについて説明した公開アカウ...

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使...