Ubuntu 16.04 FTP サーバーをビルドする ftpをインストールする ftp をインストールします: sudo apt-getアップデート sudo apt-get で vsftpd をインストールします ftp がインストールされているかどうかを確認します。 vsftpd --バージョン 設定ファイルを変更する 設定ファイルを開くには、sudo コマンドを使用してルート権限を取得する必要があることに注意してください。 sudo vim /etc/vsftpd.conf 次の変更を加えます。 # 設定ファイルの例 /etc/vsftpd.conf # # デフォルトのコンパイル設定はかなり偏執的です。このサンプルファイル # ftp デーモンをより使いやすくするために、少し緩和します。 # コンパイルされたすべてのデフォルトについては、vsftpd.conf.5 を参照してください。 # # 必ずお読みください: このサンプル ファイルは、vsftpd オプションの完全なリストではありません。 # vsftpdの完全な概要を知るには、vsftpd.conf.5のマニュアルページをお読みください。 # 機能。 # # # スタンドアロンで実行しますか? vsftpdはinetdからでもスタンドアロンでも実行できます # デーモンは initscript から起動されました。 聞く=いいえ # # このディレクティブは、IPv6ソケットのリスニングを有効にします。デフォルトでは、リスニングは # IPv6の「any」アドレス(::)では、IPv6とIPv6の両方からの接続を受け入れます # IPv4クライアント。IPv4とIPv6の両方でリッスンする必要はありません。 # ソケット。特定のソケットでリッスンしたい場合など、 # アドレス)の場合は、2つの設定でvsftpdのコピーを2つ実行する必要があります。 # ファイル。 listen_ipv6=はい # # 匿名 FTP を許可しますか? (デフォルトでは無効)。 匿名を有効にする=いいえ # # ローカル ユーザーがログインできるようにするには、これをコメント解除します。 ローカル有効=はい # # あらゆる形式の FTP 書き込みコマンドを有効にするには、これをコメント解除します。 書き込み有効=はい # # ローカルユーザーのデフォルトのumaskは077です。これを022に変更することもできます。 # ユーザーがそれを期待している場合(022は他のほとんどのftpdで使用されます) ローカル_umask=022 # # 匿名FTPユーザーがファイルをアップロードできるようにするには、このコメントを解除します。 # 上記のグローバル書き込み許可が有効な場合に効果があります。また、 # 明らかに、FTP ユーザーが書き込み可能なディレクトリを作成する必要があります。 #anon_upload_enable=はい # # 匿名FTPユーザーが作成できるようにするには、このコメントを外します # 新しいディレクトリ。 #anon_mkdir_write_enable=はい # # ディレクトリメッセージを有効にする - リモートユーザーが # 特定のディレクトリに移動します。 dirmessage_enable=はい # # 有効にすると、vsftpdは時刻とともにディレクトリリストを表示します # ローカルタイムゾーンで表示します。デフォルトではGMTで表示されます。 # MDTM FTPコマンドによって返される時間もこの影響を受けます # オプション。 ローカルタイムを使用する=はい # # アップロード/ダウンロードのログ記録を有効にします。 xferlog_enable=はい # # PORT 転送接続がポート 20 (ftp-data) から発信されていることを確認します。 ポート20からの接続=はい # # 必要に応じて、アップロードされた匿名ファイルの所有者を # 別のユーザー。注意!アップロードしたファイルに「root」を使用するのは # 推奨! #chown_uploads=はい #chown_username=誰でも # # 必要に応じてログファイルの保存場所を変更できます。デフォルトは # 下に。 xferlog_file=/var/log/vsftpd.log # # 必要に応じて、ログ ファイルを標準の ftpd xferlog 形式で保存できます。 # この場合、デフォルトのログ ファイルの場所は /var/log/xferlog であることに注意してください。 xferlog_std_format=はい # # アイドル セッションのタイムアウトのデフォルト値を変更できます。 #アイドルセッションタイムアウト=600 # # データ接続のタイムアウトのデフォルト値を変更できます。 #データ接続タイムアウト=120 # # システム上で一意のユーザーを定義することをお勧めします。 # ftp サーバーは完全に分離された権限のないユーザーとして使用できます。 #nopriv_user=ftpsecure # # これを有効にすると、サーバーは非同期ABORリクエストを認識します。 # セキュリティ上推奨(コードは単純ではありません)。有効にしないと、 # ただし、古い FTP クライアントを混乱させる可能性があります。 #非同期処理を有効にする=はい # # デフォルトでは、サーバーはASCIIモードを許可するように見せかけますが、実際には無視します # リクエスト。以下のオプションをオンにすると、サーバーは実際にASCIIコードを実行します。 # ASCII モードの場合のファイルのマングリング。 # 一部のFTPサーバーではASCIIサポートによりサービス拒否攻撃が発生する可能性があるので注意 # ASCII モードでコマンド「SIZE /big/file」を使用して攻撃 (DoS) を実行します。vsftpd #はこの攻撃を予測し、常に安全であり、 # 生のファイル。 # ASCII マングリングはプロトコルの恐ろしい機能です。 #ascii_upload_enable=はい #ascii_download_enable=はい # # ログインバナー文字列を完全にカスタマイズできます: ftpd_banner=blah FTP サービスへようこそ。 # # 許可しない匿名の電子メールアドレスのファイルを指定できます。どうやら # 特定の DoS 攻撃に対抗するのに役立ちます。 #電子メールの拒否を有効にする=はい # (デフォルトは以下) #banned_email_file=/etc/vsftpd.banned_emails # # ローカルユーザーをホームディレクトリに制限することができます。 # chroot_local_user を使用する前に、これに伴うリスクを検討してください。 # chroot_list_enable は以下を参照してください。 #chroot_local_user=はい # # ローカルユーザーのホームにchroot()する明示的なリストを指定できます # ディレクトリ。chroot_local_userがYESの場合、このリストは # ユーザーに chroot() しないように指示します。 # (警告!chrootは非常に危険です。chrootを使用する場合は、 # ユーザーは、 # chroot) chroot_local_user=はい chroot_list_enable=はい # (デフォルトは以下) chroot_list_file=/etc/vsftpd.chroot_list # # 組み込みlsに「-R」オプションを有効にすることができます。これは、 # リモートユーザーが大規模なネットワークで過剰なI/Oを引き起こすのを防ぐため、デフォルト # サイト。ただし、「ncftp」や「mirror」などの一部の壊れたFTPクライアントは、 # 「-R」オプションが存在するため、これを有効にすることが強く推奨されます。 #ls_recurse_enable=はい # # カスタマイズ # # vsftpdの設定の一部はファイルシステムのレイアウトに適合しません。 # デフォルト。 # # このオプションは空のディレクトリ名である必要があります。また、 # ディレクトリはFTPユーザーによる書き込みが禁止されています。このディレクトリは # 安全なchroot() jailとしてvsftpdはファイルシステムを必要としない場合があります # アクセス。 secure_chroot_dir=/var/run/vsftpd/空 # # この文字列は、vsftpd が使用する PAM サービスの名前です。 pam_service_name=ftp # # このオプションはSSLに使用するRSA証明書の場所を指定します # 暗号化された接続。 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=いいえ # # これをコメント解除して、vsftpd が utf8 ファイルシステムを使用していることを示します。 utf8_ファイルシステム=はい 編集モードを終了したら、:wq を使用して vim を保存して終了します。 FTPユーザーの作成 ここでの操作には root 権限が必要です。操作が拒否された場合は、sudo を使用します。 sudo mkdir /home/ftpdir sudo useradd ftpdir -d /home/ftpdir -m sudo パスワード ftpdir sudo mkdir /home/ftpdir/ftp sudo chmod 777 -R /home/ftpdir/ftp usermod -s /sbin/nologin ftpdir 設定が完了したら、ユーザーを追加します。 sudo vim /etc/vsftpd.chroot_list ファイルに ftpdir を追加します。 ここまでで、FTP のセットアッププロセス全体は完了しており、次のステップはそれをどのように使用するかです。 ftpを開始または再起動する ftp を開始または再起動します。 サービス vsftpd 開始サービス vsftpd 再起動 FTP ステータスを確認します。 サービス vsftpd ステータス ftp サービスをシャットダウンするには、次のコマンドを使用します。 サービス vsftpd 停止 サーバーのIPを表示 コマンドターミナルを開く ロボット@ロボット:~$ ifconfig enp4s0f2 リンク encap:イーサネット HWaddr 74:d0:2b:ec:fa:f9 アップブロードキャストマルチキャストMTU:1500メトリック:1 RXパケット:0 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0 TX パケット:0 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0 衝突:0 トランザクションキュー数:1000 RXバイト: 0 (0.0 B) TXバイト: 0 (0.0 B) lo リンクカプセル化:ローカルループバック inet アドレス:127.0.0.1 マスク:255.0.0.0 inet6 アドレス: ::1/128 スコープ:ホスト アップループバック実行中 MTU:65536 メトリック:1 RXパケット:12840 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0 TXパケット:12840 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0 衝突:0 トランザクションキュー数:1000 RX バイト:1174976 (1.1 MB) TX バイト:1174976 (1.1 MB) wlp3s0 リンク encap:イーサネット HWaddr 24:fd:52:85:42:0c inet アドレス:192.168.1.110 Bcast:192.168.1.255 マスク:255.255.255.0 inet6 アドレス: fe80::c13c:b38e:69c7:cdf2/64 スコープ:リンク アップブロードキャスト 実行中マルチキャスト MTU:1500 メトリック:1 RXパケット:99764 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0 TXパケット:95225 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0 衝突:0 トランザクションキュー数:1000 RX バイト:98718687 (98.7 MB) TX バイト:14326894 (14.3 MB) ここでの接続は WiFi なので、wlp3s0 で見つかった対応する IP アドレスは 192.168.1.110 です (ネットワーク ケーブルに接続されている場合は、最初のセクションで IP を見つけます。各コンピューターの構成は異なるため、実際の状況に応じて検討できます) ログイン FileZillaを使用するか、ファイルマネージャを開いてftp://ipaddressと入力します。 コンピュータを開き、サーバーのIPアドレス ユーザー名とパスワードを入力します。ここで使用するユーザー名は 最後に、サーバー上に作成されたフォルダーを確認できます。 Ubuntu 上のファイルの場所 FTP サーバーの構築とテストが完了したら、ファイルはサーバーのどこに保存され、どのように見つけるのでしょうか? robot@robot:~$ cd /home/ftpdir/ftp ロボット@ロボット:/home/ftpdir/ftp$ ls ルービックキューブ.zip この時点で、全体のプロセスは終了です。構築プロセス中、インターネット上の他の先人の経験を参考にしました。これは学習の途中でのメモにすぎません。記載されている内容に誤りがある場合は、ご指摘ください。 要約する 上記は、Ubuntu 16.04 環境で FTP サーバーを構築する方法に関するチュートリアルです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: MySQL プロンプト「通信パケットの読み取り中にタイムアウトになりました」の解決方法
>>: Vue での Vue.prototype の使用に関する詳細な説明
Iframe 使用状況の詳細な分析<iframe frameborder=0 width=17...
この実験のテスト環境: Windows 10+cmd+MySQL5.6.36+InnoDB 1. ト...
目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...
1. 仮想ホストとは何ですか?仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に...
この記事では、JavaScriptで動的なデジタル時計を実装するための具体的なコードを参考までに紹介...
MySQL Workbench - モデリングおよび設計ツール1. モデルは、最も効果的で高性能なデ...
目次Vue3 + TypeScript 学習1. 環境設定1.1 最新のVue scaffoldin...
CUDA インストール cuda をダウンロードサポートされているcudaバージョンを表示するには...
この記事では、検証コードの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...
序文最近、レポート機能に取り組んでいたのですが、ある月に各部署に入社した人と退職した人の数をカウント...
序文リバース プロキシは、Web 経由で行われたリクエスト (http と https の両方) を...
前提条件: Web開発者プラグインがインストールされている操作手順: [ツール] -> [We...
ゴミ箱は Linux ユーザー、Windows ユーザー、Mac ユーザーにとって非常に一般的なので...
目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...
目次1. 概要2. JSON基本ツール3. JSONパス式4. JSONを検索して変更する序文:長い...