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 binlog_ignore_dbパラメータの具体的な使用法

序文:前の記事を読んだ後、binlog はデータベースで実行されたすべての DDL および DML ...

Linux でタイムアウト付きの接続関数を試す

前回の記事では、Windows でタイムアウトを試してみました。この記事では、Linux で試してみ...

CSS で QR コードスキャンボックスを実装するためのサンプルコード

カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...

MySQLでTEXT/BLOB型を使用する際の注意点を詳しく説明します

1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...

Windows で削除された MySQL 8.0.17 のルート アカウントとパスワードを回復する方法

少し前にSQLの独学を終え、MySQL 8.0.17をダウンロードしました。インストールして設定した...

MySQL InnoDB ストレージエンジンのメモリ管理の詳細な説明

目次ストレージエンジンのメモリ管理データ ページを LRU キューの先頭に置かないのはなぜですか?ダ...

Dockerを使用して外部からアクセス可能なMySQLを構築する詳細な説明

MySQL 8.0をインストールする docker run -p 63306:3306 -e MYS...

インライン要素とブロック要素とは何ですか?

1. インライン要素はコンテンツの幅のみを占めますが、ブロック要素はコンテンツの量に関係なく行全体を...

jsは赤い封筒の順序と量を指定するアルゴリズムを実装します

この記事では、指定された赤い封筒の順序と金額を実装するためのjsの具体的なコードを共有します。具体的...

jsはFileReaderを使用してローカルファイルまたはBLOBを読み取ります

目次FileReaderはローカルファイルまたはBLOBを読み取ります1. FileReaderの使...

Centos7 で crontab + シェル スクリプトによる定期的な自動ファイル削除の問題を解決する

問題の説明:最近、rsyncで毎回同期するデータ量が多いが、データベースのbakファイルを保持する必...

vagrant+virtualBoxで仮想マシンを構築する方法

1. はじめにVagrant は、仮想マシン (VirtualBox) を構築および管理するためのツ...

nginxリバースプロキシによるセッション障害の問題の解決策

同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...

Nginx の負荷分散アルゴリズムとフェイルオーバー分析

概要Nginx ロード バランシングは、アップストリーム サーバー (実際のビジネス ロジックによっ...

Centos7 システムでの python2 と python3 の共存

最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...