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

推薦する

Centos7 に Zabbix3.0 をインストールするための非常に詳細な手順

序文最近、同社の業務の一部がコンピュータルームに移転し、ホストリソースの監視と管理をより便利に行うた...

React+tsは二次リンク効果を実現します

この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...

JavaScript を使って簡単な計算機を書く

効果は以下のとおりです。参考プログラム: <!DOCTYPE html> <htm...

MySQLのインデックスシステムがB+ツリーを使用する理由の分析

目次1. インデックスとは何ですか? 2. インデックスはなぜ必要なのでしょうか? 3. インデック...

HTML テーブル マークアップ チュートリアル (10): セル パディング属性 CELLPADDING

セルのパディングは、セルの内容と境界線の間の距離です。基本的な構文<TABLE セルパディング...

MySQL 5.6 マスタースレーブエラー報告の実践記録

1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...

CentOS7にMySQL 8.0.26をインストールする手順

1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...

Web 開発 js 文字列連結プレースホルダーと conlose オブジェクト API の詳細な説明

目次プレースホルダーの置き換えコンソール印刷テーブル()ログ、情報、警告、エラーグループ()、グルー...

MySQL がデータの削除と挿入に非常に時間がかかる問題の解決策

会社の開発者がテスト環境で挿入ステートメントを実行すると、正常に実行されるまでに 10 秒以上かかり...

border-radius 値の設定に関する質問

問題記録今日はプログレスバーに似た小さなコンポーネントを完成させるつもりでした。プロトタイプは次のよ...

Power Shell に vim 実装コード例を追加する方法

1. Vimの公式ウェブサイトにアクセスして、オペレーティングシステムに適した実行ファイルをダウンロ...

Linux は suid vim.basic ファイルを使用して権限昇格を実現します。

カリで再現まず、必要なvim.basicファイルにsuid権限を設定します。 chmod u+s /...

vue プロジェクトで rem を使用して px を置き換える例

目次道具プラグインをインストールするプロジェクトのルートディレクトリに.postcssrc.jsファ...

MySQL 起動時に「サーバーは PID ファイルを更新せずに終了しました」というエラーが報告される理由の詳細な分析

多くの人が MySQL の起動時にこのエラーに遭遇しています。まず、このエラーの前提は、サービス ス...