vsftpdの概要
vsftpdは「非常に安全なFTPデーモン」の略で、セキュリティは、その最大の特徴の一つです。vsftpdのは、Linux、BSD、Solaris上で実行することができますUNIXライクなオペレーティングシステム上で実行しているサーバーの名前で、上記のHP-UNIXシステムでは、他の多くでサポートされているように完全に無料、オープンソースのFTPサーバソフトウェアであり、 FTPサーバーが機能をサポートしていません。
機能
非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高
小巧轻快,安全易用。
まず、匿名ユーザーのログイン、FTP(ファイルは/ var / FTP)
1、vsftpdのサービスをインストールします
[root@localhost ~]# yum install vsftpd -y ##安装服务
[root@localhost ~]# cd /etc/vsftpd/ ##此目录是配置文件目录
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# systemctl start vsftpd ##开启vsftpd服务
[root@localhost vsftpd]# systemctl stop firewalld.service ##关闭防火墙
[root@localhost vsftpd]# setenforce 0 ##关闭增强功能
[root@localhost vsftpd]# ls /var/ftp/ ##切换到ftp目录下
pub
[root@localhost vsftpd]# echo "this is test" > /var/ftp/test.txt ##添加一个文本文件
2、vsftpdはアクセスサービス(CMD接続FTP)とCMD試験機およびファイルをダウンロード
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp服务
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): ftp ##匿名访问
331 Please specify the password.
密码: ##密码无 回车
230 Login successful.
ftp> pwd ##查看当前路径
257 "/" ##ftp服务的根目录
ftp> ls -a ##查看目录中的内容
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
.
..
pub
test.txt ##服务器中的文件
226 Directory send OK.
ftp: 收到 25 字节,用时 0.00秒 25000.00千字节/秒。
ftp> get test.txt ##下载文件到本地(在哪个磁盘的访问就下载到哪里,可以切换磁盘来下载e:)
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test.txt (13 bytes).
226 Transfer complete.
ftp: 收到 13 字节,用时 0.00秒 13000.00千字节/秒。
ftp> put test1.txt ##在c盘中创建一个test1.txt然后上传到Linux中
200 PORT command successful. Consider using PASV.
550 Permission denied. ##此时是权限受限的
3、アクセスが開きます匿名アクセスvsftpdの設定ファイルを変更します
[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf
##在配置文件中查找开启下列选项
anonymous_enable=YES ##开启匿名用户
local_enable=YES ##本地用户
write_enable=YES ##写入权限
local_umask=022 ##本地用户反掩码
anon_upload_enable=YES ##上传权限开启
anon_mkdir_write_enable=YES ##开启创建目录并且能够写入
anon_other_write_enable=YES ##添加一个other的重命名和删除的权限
[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
[root@localhost vsftpd]# cd /var/ftp/ ##切换到ftp目录下
[root@localhost ftp]# ls
pub test.txt
[root@localhost ftp]# ls -l
总用量 4
drwxr-xr-x. 2 root root 6 10月 31 2018 pub
-rw-r--r--. 1 root root 13 11月 5 19:14 test.txt
[root@localhost ftp]# chmod 777 pub ##将pub目录权限给最大,注意不能直接给ftp权限最大
4、テストマシンとCMD ftpのアクセスでのLinuxへのローカルファイルをアップロード
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp服务
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): ftp
331 Please specify the password.
密码:
230 Login successful.
ftp> cd pub/ ##切换到pub目录下
250 Directory successfully changed.
ftp> put test1.txt ##上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 13 字节,用时 0.03秒 0.41千字节/秒。
ftp> by ##退出
221 Goodbye.
##你也可以使用delete删除文件
図5は、アップロードされたファイルを表示します
[root@localhost ftp]# cd /var/ftp/pub ##切换到pub目录下
[root@localhost pub]# ls ##查看上传的文件
test1.txt
第二に、ローカルユーザーの使用は、FTP(ファイルのホームディレクトリ)をログに記録します
システムディレクトリにアクセスするためのローカルユーザーを防ぐため、唯一のユーザのホームディレクトリへのアクセスを制限
1.システム・ユーザーを作成します
[root@localhost pub]# useradd zhangsan ##创建用户并设置用户密码
[root@localhost pub]# passwd zhangsan
[root@localhost pub]# useradd lisi ##创建用户并设置用户密码
[root@localhost pub]# passwd lisi
試験機を使用して2、CMD FTPユーザがログイン
C:\Users\xy007>ftp 192.168.13.140 ##登录ftp服务
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##使用本地用户
331 Please specify the password.
密码:
230 Login successful.
ftp> ls / ##查看用户/下的目录文件,直接到系统根目录下
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
/bin
/boot
/dev
/etc
/home
/lib
/lib64
/media
/mnt
/opt
/proc
/root
/run
/sbin
/srv
/sys
/tmp
/usr
/var
226 Directory send OK.
ftp: 收到 126 字节,用时 0.02秒 7.88千字节/秒。
唯一のユーザのホームディレクトリへのアクセスを制限し、システムディレクトリにアクセスするために、ローカルユーザーを防止するための3、
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf ##修改配置文件
chroot_local_user=YES ##开启限制本地访问系统目录模块
allow_writeable_chroot=YES ##添加写的权限
[root@localhost pub]# systemctl restart vsftpd ##重启服务
4、試験機CMDアクセス
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##用户zhangsan
331 Please specify the password.
密码:
230 Login successful.
ftp> cd / ##切换到系统根目录
250 Directory successfully changed.
ftp> ls ##查看发现还是在用户的家目录中,访问不到系统的其他目录了,增强了安全性
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
設定ができるように、特定のユーザーがFTPへのアクセスを拒否します
図1に示すように、ユーザリスト(デフォルトは否定)、特定のユーザがログインのFTPを許可または拒否
[root@localhost pub]# cd /etc/vsftpd/ ##切换到vsftpd配置文件目录
[root@localhost vsftpd]# vim vsftpd.conf
userlist_enable=YES ##确认user-list开启
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# echo "zhangsan" >> user-list ##将zhangsan用户添加到列表中
[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
2、試験機CMDとテスト
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##使用zhangsan登录
530 Permission denied.
登录失败。 ##直接拒绝登录
ftp>
3、のみ許可するようにリストを設定します
[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf ##配置vsftpd配置文件
userlist_enable=YES
userlist_deny=NO ##添加列表允许
[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
4、試験機CMD試験
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##用zhangsan去登录
331 Please specify the password.
密码:
230 Login successful. ##登录成功
ftp> by
221 Goodbye.
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): lisi ##用lisi去登录
530 Permission denied.
登录失败。 ##登录失败
第三に、FTP(ファイルシステムの仮想ユーザ・ユーザのホームディレクトリ)を使用して、仮想ユーザ・アカウントを作成します
1、仮想ユーザーのファイルを作成します
[root@localhost vsftpd]# cd /etc/vsftpd/ ##切换到配置文件目录下
[root@localhost vsftpd]# vim vuser ##创建虚拟用户文件
lisa ##奇数行为用户名
123123 ##偶数行为密码
tom
123123
2、データベースファイル、設定、セキュリティ権限を変換します
[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db ##将vuser转换成数据库文件
##T转换,t类型,f指定文件
[root@localhost vsftpd]# chmod 600 vuser ##安全起见,不让别人看到,设置权限
[root@localhost vsftpd]# chmod 600 vuser.db
3、編集PAM認証モジュールは、仮想ユーザのログインをサポートしています
[root@localhost vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser
##创建系统用户,指定家目录,不能登录
[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu ##编译pam认证模块
auth required pam_userdb.so db=/etc/vsftpd/vuser ##识别转换过的数据库文件
account required pam_userdb.so db=/etc/vsftpd/vuser ##连接的密码服务
4、オープン仮想ユーザーは、PAMモジュールの認証を使用してログイン
[root@localhost vsftpd]# vim vsftpd.conf ##修改配置文件
##大G到末行
#pam_service_name=vsftpd ##注释
##添加下面三行内容
guest_enable=YES ##开启来宾用户访问
guest_username=vuser ##使用vuser用户名
pam_service_name=vsftpd.vu ##pam模块
[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
5、テストマシンcmdをテスト
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): tom ##使用虚拟用户tom登录
331 Please specify the password.
密码:
230 Login successful.
ftp> put test1.txt ##上传一个文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 13 字节,用时 0.00秒 13000.00千字节/秒。
##查看文件的权限为600
[root@localhost vsftpd]# ls -l /opt/vuser/
总用量 4
-rw-------. 1 vuser vuser 13 11月 5 22:51 test1.txt
6、個々のユーザープロファイルは、644のファイルをアップロードする権限を割り当てます
[root@localhost vsftpd]# vim vsftpd.conf
##大G末行添加
user_config_dir=/etc/vsftpd/vu_dir ##单独用户配置文件夹
[root@localhost vsftpd]# mkdir vu_dir ##创建文件夹
[root@localhost vsftpd]# cd vu_dir/
[root@localhost vu_dir]# vim lisa ##在配置文件夹里创建用户配置文件
anon_umask=022 ##指定上传文件的权限
[root@localhost vu_dir]# systemctl restart vsftpd ##重启服务
7、CMDリサ・ユーザ・ログインを使用した試験機は、表示権限にファイルをアップロード
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): lisa ##使用lisa登录
331 Please specify the password.
密码:
230 Login successful.
ftp> put 111.txt ##上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 13 字节,用时 0.00秒 13000.00千字节/秒。
[root@localhost vu_dir]# ls -l /opt/vuser/ ##查看上传文件的权限
总用量 8
-rw-r--r--. 1 vuser vuser 13 11月 5 22:58 111.txt ##lisa上传文件权限644
-rw-------. 1 vuser vuser 13 11月 5 22:51 test1.txt ##tom上传文件权限600