基本サービス用のCentos7#FTPファイルサービス

1.ftpファイルサービスの概要

ファイル転送プロトコル(FTP)。これに基づいて、FTPクライアントとサーバーは、ファイルの共有、ファイルのアップロード、およびファイルのダウンロードを行うことができます。FTPは、主にFTP接続情報を制御するために使用されるTCPプロトコルに基づいて仮想接続を生成すると同時に、FTPデータ送信用に別個のTCP接続を生成します。ユーザーはクライアントを介してFTPサーバーにファイルをアップロード、ダウンロード、および削除でき、FTPサーバーは同時に複数のユーザーで共有できます。FTPサービスはクライアント/サーバー(C / S)モードです。FTPプロトコルに基づいてFTPファイルの外部共有と送信を実現するソフトウェアはFTPサーバーソース側と呼ばれます。クライアントプログラムはFTPプロトコルに基づいているため、FTPクライアントと呼ばれます。クライアントは、FTPサーバーにファイルをアップロードおよびダウンロードできます。Unix / Linuxで最も広く使用されているFTPサーバーソフトウェアはVsftpdです。
  プロトコル:ftpファイル転送プロトコル
  クライアントソフトウェア:lftp(推奨)、ブラウザー、リソースマネージャー、ftp

FTP転送モードの概要(アクティブモードとパッシブモード)
  vsftpdのパッシブモードはデフォルトで有効になっています。オフにすることができます。アクティブモードは常にオンであり、オフにすることはできません。
  アクティブモード:ポート21はtcp接続の確立を担当し、ポート20はデータ
  クライアントサーバー(C / Sモード)  
  1024 --------> 21セッション接続を担当
  1024 <-------- 20データ送信を担当
  高セキュリティゾーンファイアウォール低セキュリティゾーン
  パッシブモード:ポート21はtcp接続の確立を担当、1024 +データを保存し、クライアントがデータ
  クライアントサーバーをフェッチするのを待つ(C / Sモード)
  1024 --------> 21セッション接続を担当
  1024 --------> 1024 +データを保存し、クライアントがデータをフェッチするのを待つデータ
  サーバーへの接続に使用されるモードは、クライアントが最終決定権を持ちます。
  そのモードがサーバーの最終決定権であることを受け入れることができ
  ますサーバーはパッシブモードをオフにします:
  [root @ xingdian〜] #vim /etc/vsftpd/vsftpd.conf pasv_enable
  = NO
  クライアントはパッシブをオフにしますモード:
  [root @ xingdian〜] #lftp 172.16.70.251
  > set ftp:passive-   modeoffは
  永続的に有効になります
[root @ xingdian〜] #vim /etc/lftp.conf
  ftp:passive-modeをオフに設定します

Ftpセキュリティ:
  1。ダウンロード権限を除く匿名ユーザーのすべての権限をオフにします
  。2。監視をオンにします。つまり、ログ/ var / log / xferlogをオンにします。

lftp ftp.net.pku.edu.cn:〜> ls
  ` ls'at 0 [再接続前の遅延:21]
  一度接続に失敗すると、遅延がますます長くなり、ftpに押し込むことができなくなります。 。
  ftpクライアント構成ファイル
  を変更します/etc/lftp.confに追加します:
  set net:reconnect-interval-base 5 //再接続間隔ベースを
  設定しますsetnet :reconnect-interval-multiplier 1.0 //再接続間隔乗数を設定します

2.基本的なftpサービスを展開します

①、
  サーバーのインストール:yum -y install vsftpd
  clinet:yum -y installlftp②
  、サービス(サーバー)を起動し、サーバー側でvsftpdを起動し、クライアント側で直接lftpを使用します
  [root @ ftp-server〜] #systemctl start vsftpd / / Start service
  [root @ ftp-server〜] #systemctl enable vsftpd //起動時
  ③、ftpサービス関数
  / var / ftp /は、ftpサーバーがデフォルトでデータを格納するディレクトリであり、pubディレクトリが自動的に作成されています。
  [root @ ftp-
  server〜] #cd / var / ftp /注:セキュリティ上の理由から、ftpルートディレクトリの権限は755を超えることはできません[root @ ftp-server〜]#/ etc / vsftpd / vsftpd.confftpのメイン構成ファイル

この時点で、クライアントはlftpを匿名ユーザーとして使用してftp-serverにアクセスし、ftp-server:/ var / ftp /で指定されたリソースを表示およびダウンロードできますが、リソースをアップロードおよび変更することはできません
  [root @ ftp-client〜] #lftp 10.11.67.31
  lftp 10.11.67.31:〜> ls
  lftp 10.11.67.31:/> cd software /
  lftp 10.11.67.31:/ software> ls
  lftp 10.11.67.31:/ software> get
  vim.tar.gz137087889バイトが12秒で転送されます(10.93M / s)
  ファイルのダウンロードが許可されます
  lftp 10.11.67.31:/ software> cd…
  lftp10.11.67.31:/> ls
  lftp 10.11.67.31:/> mirror kvm
  合計:1ディレクトリ、4ファイル、0シンボリックリンク
  新規: 4ファイル、0シンボリックリンク
  115437075バイトが13秒で転送(8.55M / s)
  ダウンロードディレクトリミラーが許可されます
  lftp 10.11.67.31:/> mkdir kakaops
  mkdir:アクセスに失敗しました:550アクセスが拒否されました。(kakaops)
  ディレクトリの作成が拒否されました
  lftp 10.11.67.31:〜> put /mnt/kakaops.txt
  put:アクセスに失敗しました:550アクセスが拒否されました。(kakaops.txt)
  ファイルのアップロードが拒否されました
  lftp 10.11.67.31:/>ミラー-R / mnt /
  ミラー:アクセスに失敗しました:550ディレクトリの変更に失敗しました。(/ mnt)
  1つのエラーが検出されました
  アップロードディレクトリミラー-Rが拒否されました

3.FTP匿名ユーザーアップロード機能を展開します

ftpアップロード機能をオンにします(最初にファイルアップロード機能をオンにし、/ var / ftpの下に777の権限で共有ディレクトリを作成します)
  最初にftp構成ファイルを変更し、アップロード機能をオンにします
  [root @ ftp-server〜] #vim / etc / vsftpd / vsftpd.conf

  anon_upload_enable=YES //上传文件
  anon_mkdir_write_enable=YES //上传目录

サーバーは/ var / ftp
  [root @ ftp-server〜
  ] #mkdir / var / ftp / gongxiang [root @ ftp- server〜] #chmod 777 / var / ftp / gongxiang /
  [root @ftpの下に777ディレクトリを作成します-server〜] #systemctl restart vsftpd
  この時点で、クライアントは共有ディレクトリにファイルをアップロードしてディレクトリを作成できますが、ファイルを作成することはできません
  [root @ ftp-client〜] #lftp 10.11.67.31
  lftp 10.11.67.31:〜> cd gongxiang /
  lftp 10.11.67.31:/ gongxiang> mkdir sunlizhen
  mkdirが成功し、 `sunlizhen'lftp
  10.11.67.31:/ gongxiang> put /mnt/kakaops.txt
  lftp 10.11.67.31:/ gongxiang> ls
  -rw -----が作成されました。 --1 14 50 0 Oct 26 09:40 kakaops.txt
  drwx ------ 2 14 50 6 Oct 26 09:39 sunlizhen
  lftp 10.11.67.31:/ gongxiang>
  匿名ユーザーはアップロードとダウンロードができますが、 10.11.67.31:/ gongxiang /ディレクトリのみに限定

4.ftpローカルアカウントアクセスの問題

ユーザーログイン機能を使用します(ftpでは匿名ユーザーアクセスが許可されます。サーバー側でユーザーを作成し、ログインするためのパスワードを設定することもできます。ユーザーを作成するときに、ユーザーのホームディレクトリが指定されている場合、デフォルトの共有ディレクトリがユーザーのホームディレクトリになります)
  useradd createユーザーの問題
  [root @ localhost] #useradd -d / opt / haha​​ -G ftp -s / sbin / nologin haha
  メールボックスファイルの作成:ファイルが存在します//ここでの操作でエラーが発生しました。ちなみに、この問題を
  Linuxシステムに追加してくださいユーザーの後、メールボックス(システムメールボックス)がシステムに自動的に追加されます。パスは/ var / pool / mail / usernameです。
  したがって、ユーザーを削除するときは、userdel -rを使用してクリーンに削除し
  、コマンド#rm -rf / varを直接使用できます。 / pool / mail / user name。これにより、同じ名前のユーザーを再度追加できます。
  このコマンドを実行した後、次のようなエラーメッセージが表示された場合:
  useradd:warning:ホームディレクトリは既に存在し
  ます。skelディレクトリからファイルをコピーしていません。
  エラーの理由:
  システムにユーザーを追加するための標準的な手順
  1. / etc / passwdと/ etc / groupを編集し
  ます2.ユーザーのホームディレクトリを作成します
  3. / etc / skelからファイルとディレクトリをコピーします
  4.新しいユーザーにホームディレクトリとファイルの所有権を取得させます権限
  5.新しいユーザーにパスワードを与える
  これは、ユーザーのディレクトリがすでに存在し(これは、設定した任意のディレクトリにすることができます)、このディレクトリを作成できなくなったことを意味します。ユーザーの追加に失敗することはなく、無視できます。ユーザーを作成するときに、-dはホームディレクトリを指定します。指定したホームディレクトリがすでに存在する場合、この警告が報告されます。存在しないホームディレクトリを指定すると、システムによって自動的に作成されます。ただし、ディレクトリを再帰的に作成することはできません。

ユーザーを作成します(分類を標準化するためにftpグループを指定します。指定する必要はありません)
  [root @ ftp-server〜] #useradd -d / mnt / kakaops kakaops -G ftp
  [root @ ftp-server〜] #passwd kakaops(123)
  customersクライアントログイン(匿名ログインおよびユーザーログイン)
  [root @ ftp-client〜] #lftp 10.11.67.31 -u kakaops(-uはユーザーを指定し、パスワードが必要です)
  パスワード:
  lftp [email protected]:〜> ls
  [root @ ftp-client〜] #lftp 10.11.67.31 -u kakaops、123(、
  後でパスワードを追加)lftp [email protected]:〜>
  ユーザーがログインすると、共有ディレクトリはデフォルトでユーザーのホームディレクトリになります

匿名アカウント
  lftp172.16.70.251は、passwdファイルのデフォルトアカウントを使用します。デフォルトでは、ユーザーとパスワードを書き込む必要はありません。デフォルトの共有パス/ var / ftp
  ローカルアカウント
  lftp172.16.70.251 -u user02、1(パスワード)はftp以外で使用されます。他のアカウントの場合、デフォルトの共有ディレクトリはアカウントのホームディレクトリです

一般的なクライアントコマンド

help //コマンドの表示ヘルプマニュアル
ls //ファイル
ディレクトリの表示// file = ls
cdpubの表示//パスの切り替え
getfile -o / root / Desktop
ダウンロードファイル(-oはダウンロードファイルのストレージディレクトリを指定し、ログインするデフォルトのダウンロードは指定しませんディレクトリの下で、スペースで区切られた複数のファイルをダウンロードします)
ミラーディレクトリで指定されたダウンロードディレクトリ(
最初にダウンロードするディレクトリを指定してから、ディレクトリ保存パスを直接指定し、ログインディレクトリへのデフォルトのダウンロードを指定しません)。ここで指定した場合、現在のディレクトリを除く。他のディレクトリの場合、ディレクトリの下のコンテンツがディレクトリからダウンロードされ、ディレクトリが分割されます。ディレクトリが現在のディレクトリにダウンロードされると、開いていないディレクトリがダウンロードさ
れますput file //アップロードファイル
mirror-R directory //アップロードディレクトリ
mkdirdirectory //クライアントはディレクトリを作成できます

5.補足FTPを使用した構成ファイルオプションの詳細な説明

Vsftpdは、匿名ユーザーの一般的なオプションを構成します

1、编辑配置文件
[[email protected] vsftpd]# vim vsftpd.conf
write_enable=YES

anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

2、常用的匿名FTP配置项
anonymous_enable=YES                         		# 是否允许匿名用户访问
anon_umask=022                                    	# 匿名用户所上传文件的权限掩码
anon_root=/var/ftp                                  # 设置匿名用户的FTP根目录
anon_upload_enable=YES                      		# 是否允许匿名用户上传文件
anon_mkdir_write_enable=YES               			# 是否允许匿名用户允许创建目录
anon_other_write_enable=YES               			# 是否允许匿名用户有其他写入权(改名,删除,覆盖)
anon_max_rate=0                                     # 限制最大传输速率(字节/秒)0为无限制

3、开启 vsftp 服务
[root@xingdian vsftpd]# systemctl start vsftpd
[root@xingdian vsftpd]# netstat -lnpt |grep vsftpd
tcp    0   0 0.0.0.0:21       0.0.0.0:*        LISTEN   34531/vsftpd

4、客户端登陆验证

Vsftpdは、ローカルユーザーの一般的なオプションを構成します

1、创建测试用户
• 创建 zhangsan、lisi  密码都设置为 “123456”
[root@xingdian ~]# useradd zhangsan
[root@xingdian ~]# useradd lisi
[root@xingdian ~]# echo "123456" | passwd --stdin zhangsan
[root@xingdian ~]# echo "123456" | passwd --stdin lisi


2、修改配置文件
[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES
local_umask=077
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES

3、常用的本地用户FTP配置项
local_enable=YES                                    # 是否允许本地系统用户访问
local_umask=022                                     # 本地用户所上传文件的权限掩码
local_root=/var/ftp                                   # 设置本地用户的FTP根目录
chroot_list_enable=YES                            	# 表示是否开启chroot的环境,默认没有开启
chroot_list_file=/etc/vsftpd/chroot_list        	
# 表示写在/etc/vsftpd/chroot_list文件里面的用户是不可以出chroot环境的。默认是可以的。
Chroot_local_user=YES                             	
# 表示所有写在/etc/vsftpd/chroot_list文件里面的用户是可以出chroot环境的,和上面的相反。
local_max_rate=0                                    # 限制最大传输速率(字节/秒)0为无限制

4、添加用户到白名单
[[email protected] ~]# vim /etc/vsftpd/user_list 
zhangsan
lisi

5、重启服务
[[email protected] ~]# systemctl restart vsftpd 

6、登陆测试

vsftpd構成ファイルオプションの詳細な説明

listen=YES                                          # 是否以独立运行的方式监听服务
listen_address=192.168.4.1                       	# 设置监听FTP服务的IP地址
listen_port=21                                      # 设置监听FTP服务的端口号
write_enable=YES                                    # 是否启用写入权限(上传,删除文件)
download_enable=YES                                # 是否允许下载文件
dirmessage_enable=YES                           	# 用户切换进入目录时显示.message文件
xferlog_enable=YES                                  # 启用日志文件,记录到/var/log/xferlog
xferlog_std_format=YES                             	# 启用标准的xferlog日志格式,禁用此项将使用vsftpd自己的格式
connect_from_port_20=YES                       		# 允许服务器主动模式(从20端口建立数据连接)
pasv_enable=YES                                     # 允许服务器被动模式
pasv_max_port=24600                                	# 设置被动模式服务器的最大端口号
pasv_min_port=24500                                 # 设置被动模式服务器的最小端口号
pam_service_name=vsftpd                          	# 用户认证的PAM文件位置
(/etc/pam.d/vsftpd.vu)
userlist_enable=YES                                 # 是否启用user_list列表文件
userlist_deny=YES                                   # 是否禁用user_list中的用户
max_clients=0                                       # 限制并发客户端连接数
max_per_ip=0                                        # 限制同一IP地址的并发连接数
tcp_wrappers=YES                                    # 是否启用tcp_wrappers主机访问控制
chown_username=root                                 # 表示匿名用户上传的文件的拥有人是root,默认关闭
ascii_upload_enable=YES                             # 表示是否允许用户可以上传一个二进制文件,默认是不允许的
ascii_download_enable=YES               # 这个是代表是否允许用户可以下载一个二进制文件,默认是不允许的
nopriv_user=vsftpd                                  # 设置支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户
async_abor_enable=YES                               # 设定支持异步传输功能
ftpd_banner=Welcome to Awei FTP servers   			# 设定Vsftpd的登陆标语
guest_enable=YES                         	 # 设置启用虚拟用户功能
guest_username=ftpuser         				  # 指定虚拟用户的宿主用户
virtual_use_local_privs=YES        			    # 设定虚拟用户的权限符合他们的宿主用户
user_config_dir=/etc/vsftpd/vconf      			 # 设定虚拟用户个人Vsftp的配置文件存放路径

おすすめ

転載: blog.csdn.net/kakaops_qing/article/details/109295002
おすすめ