一、建立VSFTP LINUX下ftp建设

ftp服务建设,***到主机后用来下载主机的文件;上传网站网页。

linux下vsftpd 一、1.软件及服务名:vsftpd 非常安全的FTP服务 常见的FTP服务程序:IIS、Serv-U、Vsftpd(Very Secure FTP Daemon)

2.相关软件包 ftp-0.17-67.el7.x86_64 vsftpd-3.0.2-22.el7.x86_64

记得关闭防火墙

3.systemctl stop firewalld

安装yum install vsftpd ftp -y

4.启动服务 systemctl start vsftpd systemctl enable vsftpd

5./var/ftp 默认FTP站点目录(安全要求关闭)

6.客户机访问: 浏览器下载或软件

8.7.vim /etc/vsftpd/vsftpd.conf 修改配置文件 常用的匿名 FTP 配置项 anonymous_enable=NO:关闭匿名访问 anon_root=/var/ftp:匿名用户的 FTP 根目录 anon_upload_enable=YES:允许上传文件 anon_mkdir_write_enable=YES:允许创建目录 anon_other_write_enable=YES:开放其他写入权 anon_max_rate=50000:限制最大传输速率(字节/秒)

8、通过系统用户登录FTP anonymous_enable=NO

FTP用户操作 这时候要添加FTP系统用户 useradd -s /sbin/nologin user1 passwd user1 或

useradd -s /sbin/nologin f02 ;echo "123123"|passwd --stdin f02 (可以写入循环脚本)

FTP用户配置文件 local_enable=YES 启用本地用户 write_enable=YES 具有写入权限,能够上传

dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log

以上三项配置日志文件信息

max_clients=100 max_per_ip=5 local_max_rate=1024000

ftpd_banner=Welcome to blah FTP service 提示信息

-----------------------------------------

二、VSFTPD 虚拟用户配置

1.安装vsftpd systemctl stop vsftpd

安装依赖包: rpm -qa|grep libdb-utils yum -y install pam pam-devel

若不是centos7.5,则需要下面命令: yum install pam pam-devel db4 db4-devel db4-utils db4-tcl -y

新建vsftpd虚拟用户对应系统用户: 1).#建立Vsftpd虚拟宿主用户 2).useradd ftpvload -M -s /sbin/nologin

2.配置vsftpd

1).cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back

2). 修改vsftpd.conf配置文件

#以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配置 a.guest_enable=YES .#设定启用虚拟用户功能。 b.guest_username=ftpvload .#指定虚拟用户的宿主用户。 c.virtual_use_local_privs=YES .#设定虚拟用户的权限符合他们的宿主用户。 d.user_config_dir=/etc/vsftpd/vconf .#设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件, 一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。

建立Vsftpd的日志文件,并更该属主为Vsftpd的服务宿主用户:

1).touch /var/log/vsftpd.log 2).chown ftpvload.ftpvload /var/log/vsftpd.log

创建虚拟用户配置文件存放路径

mkdir /etc/vsftpd/vconf/

制作虚拟用户数据库文件

touch /etc/vsftpd/virtusers

新建一个测试用虚拟用户

vim /etc/vsftpd/virtusers

test1 111111 test2 222222 test3 333333

生成虚拟用户数据文件: db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

我们要用的虚拟用户数据库即为:virtusers.db,简称虚拟用户数据库virtusers。 注:以后再要添加虚拟用户的时候,只需要按照“一行用户名,一行口令”的格式将新用户名和口令添加进虚拟用户名单文件。但是光这样做还不够,这样是不会生效的!还要再执行一遍“ db_load -T -t hash -f 虚拟用户名单文件 虚拟用户数据库文件.db ”的命令使其生效才可以!

设置认证文件PAM 在编辑前做好备份: cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup 编辑Vsftpd的PAM验证配置文件,把原来的配置文件全部注释掉(不注释掉虚拟用户会登录不上),添加如下行 1).#vim /etc/pam.d/vsftpd auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers #以上两条是手动添加的,内容是对虚拟用户的安全和帐户权限进行验证。

虚拟用户个人存放路径 规划好虚拟用户个人的主路径: mkdir /var/ftp/virtual 建立测试用户的FTP用户目录: mkdir /var/ftp/virtual/test1 mkdir /var/ftp/virtual/test2

更改虚拟用户的主目录的属主为虚拟宿主用户: chown -R ftpvload.ftpvload /var/ftp/virtual/

建立虚拟用户配置文件模版: vi /etc/vsftpd/vconf/vconf.tmp

vconf.tmp内容如下: 1).local_root=/var/ftp/virtual/test1 #.#指定虚拟用户的具体主路径 2).anonymous_enable=NO #设定不允许匿名用户访问 3).write_enable=YES #设定允许写操作 4)local_umask=022 #设定上传文件权限掩码 5).anon_upload_enable=NO #设定不允许匿名用户上传 6).anon_mkdir_write_enable=NO #设定不允许匿名用户建立目录 7).idle_session_timeout=600 #设定空闲连接超时时间 8).data_connection_timeout=120 #设定单次连续传输最大时间 9).max_clients=10 #设定并发客户端访问个数 10).max_per_ip=5 #设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件 11).local_max_rate=50000 #设定该用户的最大传输速率,单位b/s

个人配置文件源码示例 local_root=/var/ftp/virtual/test1 anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO write_enable=YES local_umask=022 idle_session_timeout=600 data_connection_timeout=120 max_clients=100 max_per_ip=5 local_max_rate=1024000

测试用户复制配置模板

cp /etc/vsftpd/vconf/vconf.tmp /etc/vsftpd/vconf/test1 cp /etc/vsftpd/vconf/vconf.tmp /etc/vsftpd/vconf/test2 cp /etc/vsftpd/vconf/vconf.tmp /etc/vsftpd/vconf/test3 更改每个用户配置

若新建虚拟用户目录须建立后重设权限 chown -R ftpvload.ftpvload /var/ftp/virtual/

usermod -d /var/ftp/virtual ftpvload

ls -l /var/ftp/virtual/

如果需要其它配置调整,修改 vim /etc/vsftpd/vconf/test1

最后改变生效,不要忘记重启服务。 systemctl restart vsftpd

客户端测试 1、重启VSFTPD服务后,进行测试; 2、最好下载软件,如:8u,winscp等。


虚拟用户主配置范例----检查:

1、vsftpd.conf

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES ftpd_banner=This is yan11 ftpserver,闲人免进。 listen=YES

启用虚拟用户 guest_enable=YES guest_username=ftpvload virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vconf

测试配置

2、cat /etc/vsftpd/virtusers abc 123 zzz 111 yan 11

命令 db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

3、/etc/pam.d/vsftpd #%PAM-1.0 auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

4、个人用户权限配置 local_root=/var/ftp/virtual/test1 anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO write_enable=YES local_umask=022 idle_session_timeout=600 data_connection_timeout=120 max_clients=100 max_per_ip=5 local_max_rate=1024000

客户端测试 1、重启VSFTPD服务后,进行测试; 2、最好下载软件,如:8u,winscp等。

作业: 1、建立普通系统用户FTP,testftp1、testftp2、testftp3进行正常上传下载测试,速度限制为2MB; 2、建立虚拟用户FTP,yanftp1、yanftp2、yanftp3进行上传下载测试,速度度限制为3MB。