1、关闭selinux和防火墙
vim /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted systemctl stop firewalld && systemctl disabled firewalld #centos7 iptables -F && service iptables stop && chkconfig iptables off #centos6重启服务器
reboot2、安装软件包
yum -y install vsftpdftp 默认的配置文件目录为:
[root@vm vsftpd]# pwd /etc/vsftpd3、创建用户用户家目录:
[root@vm vsftpd]# mkdir /data/ftp [root@vm vsftpd]# useradd -s /sbin/nologin -d /data/ftp/test dwh123 #-s /sbin/nologin 不允许用户登陆系统 -d 指定家目录 [root@vm vsftpd]# useradd -s /sbin/nologin -d /data/ftp/test1dwh321给目录 777 的权限
[root@vm vsftpd]# chmod -R 777 /data/ftp设置密码:
[root@vm vsftpd]# passwd dwh123 [root@vm vsftpd]# passwd dwh3214、修改ftp主配置文件
[root@vm vsftpd]# pwd /etc/vsftpd [root@vm vsftpd]# vim vsftpd.conf anonymous_enable=no allow_writeable_chroot=YES local_enable=YES local_umask=002 dirmessage_enable=no xferlog_enable=YES connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=500 ftpd_banner=Welcome to blah FTP service. chroot_local_user=YES user_config_dir=/etc/vsftpd/user vsftpd_log_file=/var/log/vsftpd.log listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES listen_port=21 pasv_enable=YES #pasv_min_port=24900 #pasv_max_port=24999 #reverse_lookup_enable=NO #one_process_model=no5、创建用户的配置文件
[root@vm vsftpd]# mkdir user [root@vm vsftpd]# vim user/dwh123 local_root=/var/www/test write_enable=yes local_max_rate=6000000 max_per_ip=50 [root@vm vsftpd]# vim user/dwh321 local_root=/var/www/test1 write_enable=yes local_max_rate=6000000 max_per_ip=506、启动服务
[root@vm vsftpd]# systemctl start vsftpd && systemctl enable vsftpd测试访问:
ftp://dwh321:dwh321@192.168.52.1317、参数说明:
listen=[YES|NO] 是否以独立运行的方式监听服务。 listen_address=IP地址设置要监听的IP地址。 listen_port=21 设置FTP服务的监听端口。 download_enable=[YES|NO] 是否允许下载文件。 userlist_enable=[YES|NO] userlist_deny=[YES|NO] 是否启用“禁止登陆用户名单”。 max_clients=0 最大客户端连接数,0为不限制。 max_per_ip=0 同一IP地址最大连接数,0位不限制。 anonymous_enable=[YES|NO] 是否允许匿名用户访问。 anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件。 anon_umask=022 匿名用户上传文件的umask值。 anon_root=/var/ftp 匿名用户的FTP根目录。 anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录。 anon_other_write_enable=[YES|NO] 是否开放匿名用户其他写入权限。 anon_max_rate=0 匿名用户最大传输速率(字节),0为不限制。 local_enable=[YES|NO] 是否允许本地用户登陆FTP。 local_umask=022 本地用户上传文件的umask值。 local_root=/var/ftp 本地用户的FTP根目录。 chroot_local_user=[YES|NO] 是否将用户权限禁锢在FTP目录,更加的安全。 local_max_rate=0 本地用户最大传输速率(字节),0为不限制。8、参数作用
anonymous_enable=NO 禁止匿名开放模式。 local_enable=YES 允许本地用户模式。 guest_enable=YES 开启虚拟用户模式。 guest_username=virtual 指定虚拟用户帐号。 pam_service_name=vsftpd.vu 指定pam文件。 allow_writeable_chroot=YES 允许禁锢的FTP根目录可写而不拒绝用户登入请求。 anonymous_enable=NO 禁止匿名访问模式。 local_enable=YES 允许本地用户模式。 write_enable=YES 设置可写入权限。 local_umask=022 本地用户模式创建文件的umask值。 userlist_deny=YES 参数值为YES即禁止名单中的用户,参数值为NO则代表仅允 许名单中的用户。 userlist_enable=YES 允许“禁止登陆名单”,名单文件为ftpusers与user_list。