一、vsftpd简介
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
如果你想在你的Linux/Unix服务器上搭建一个安全、高性能、稳定性好的FTP 服务器,那么vsftpd可能是你的首选应用。vsftpd意思为“very secure FTP daemon(非常安全的FTP进程)”,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如 Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其他传统的FTP服务器不支持的良好特性。
二、vsftpd配置实例
2.1 匿名用户上传下载
[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl start vsftpd
[root@localhost ftp]# echo "this is cllt test" > /var/ftp/test.txt
[root@localhost ftp]# chmod 777 test.txt
[root@localhost ftp]# ll
总用量 4
drwxr-xr-x. 2 root root 6 4月 1 12:55 pub
-rwxrwxrwx. 1 root root 18 7月 19 16:56 test.txt
[root@localhost ftp]# cd /etc/vsftpd
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# cd /var
[root@localhost var]# chmod 755 ftp/
[root@localhost var]# chmod 777 ftp/pub/
[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# cd /var/ftp/
[root@localhost ftp]# ls
pub test.txt
[root@localhost ftp]# cd pub
[root@localhost pub]# ls #上传成功
cllt.txt
2.2 本地用户上传服务
[root@localhost vsftpd]# useradd tom
[root@localhost vsftpd]# passwd tom
[root@localhost vsftpd]# useradd jerry
[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# echo "tom" >> user_list
这时在user-list名单中的用户才可登录
2.3 建立虚拟用户账户使用FTP
[root@localhost vsftpd]# vim vuser #创建vuser文件,设置用户名密码
loic
123456
jessia
123456
[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db #将vuser转换成数据库文件
[root@localhost vsftpd]# chmod 600 vuser #更改文件权限
[root@localhost vsftpd]# chmod 600 vuser.db #不让其他用户看见信息
[root@localhost vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser #创建一个用户为vuser 指定家目录/opt/vuser 并不使用shell登陆
[root@localhost vsftpd]# id vuser
uid=1006(vuser) gid=1006(vuser) 组=1006(vuser)
[root@localhost vsftpd]# cd /etc/pam.d/
[root@localhost pam.d]# vim vsftpd.vu
[root@localhost pam.d]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# cd /opt/vuser/
[root@localhost vuser]# ls #下载成功
test.txt
[root@localhost vsftpd]# mkdir vu_dir
[root@localhost vsftpd]# cd vu_dir/
[root@localhost vu_dir]# vi jessia
[root@localhost vu_dir]# systemctl restart vsftpd
进行虚拟用户家目录可以看到文件权限为644
[root@localhost vu_dir]# cd /opt/vuser/
[root@localhost vuser]# ll
总用量 4
-rw-r--r--. 1 vuser vuser 0 7月 19 20:02 cllt.txt
-rw-------. 1 vuser vuser 18 7月 19 19:54 test.txt