检查是否安装vsftpd
rpm -qa |grep vsftpd下载安装vsftpd
yum -y install vsftpd卸载:
rpm -e vsftpd操作命令:
启动服务 systemctl start vsftpd systemctl restart vsftpd.service 把服务添加到开机启动项 systemctl enabled vsftpd 查看服务是否启动 ps -ef|grep vsftpd netstat -antup|grep ftp service vsftpd start service vsftpd stop service vsftpd restart/etc/vstfd文件目录下问件:
/etc/vsftpd/vsftpd.conf Vsftpd服务器的配置文件/etc/vsftpd/ftpusers 禁止访问Vsftpd服务器的用户列表/etc/vsftpd/user_list 许可或禁止访问Vsftpd服务器的用户列表文件/var/ftp 匿名用户的默认文件目录具体服务配置:vstfp.conf配置: anonymous_enable=YES 是否允许匿名用户访问 local_enable 是否允许本地用户登录,默认为YES write_enable 是否开放写入权限,默认为YES local_umask=022 文件创建的初始权限,默认为022 anon_upload_enable 是否允许匿名用户上传文件,默认为YES,注释 anon_mkdir_write_enable 可创建目录的同时可以在此目录中上传文件,默认YES,注释 dirmessage_enable 是否能够浏览目录内的信息,默认为YES xferlog_enable 是否启用日志功能,默认为YES connect_from_port_20 是否启用0端口进行数据连接,默认为YES chown_uploads 设定是否允许 改变 上传文件的属主,默认为YES chown_username 设置想要改变的上传文件的属主 xferlog_std_format 是否采用标准日志格式,默认为YES listen Vsftpd服务器的运行方式,默认为YES,即以独立方式运行 listen_ipv6=YES Vsftpd服务器的运行方式为ipv6,默认注释 pam_service_name=vsftpd 验证方式,默认为vsftd,不需要修改 userlist_enable 是否采用user_list文件,默认为YES tcp_wrappers 是否启用防火墙,默认为YES xferlog_file=/var/log/xferlog #上传与下载日志存放路径 chroot_list_enable=YES 代表对chroot_list文件内的用户进行限制 去掉注释 chroot_list_file=/etc/vsftpd/chroot_list 在文件最后面新增allow_writeable_chroot=YES,允许已登录用户进行上传
修改配置后,重新启动服务
需要给ftp用户访问目录权限:
如:chmod 777 /var/ftp/pub
关闭防火墙
setenforce 0getenforce
查看状态 systemctl status vsftpd.service 开机自启 chkconfig vsftpd on
开放端口 firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --reload
若出现 FirewallD is not running 的错误 解决方法:查看防火墙是否开启:systemctl status firewalld.service 开启防火墙:systemctl start firewalld.service
配置虚拟用户:useradd 用户名 -s /sbin/nologin 设置密码:passwd 用户名
查看用户 cut -d : -f 1 /etc/passwd
查看ftp状态:getsebool -a|grep ftp
若出现 getsebool: SELinux is disabled 的错误 解决方法:vim /etc/selinux/config 修改:SELINUX=1,然后重启Linux
将红框内的内容设置为“on”
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
运行问题:
【Linux】service vstfpd start:Failed to start vstfpd.service: Unit not found.
查看下服务列表里有没有vsftpd这个服务: sudo /bin/systemctl list-unit-files --type=service | grep vsftpd vsftpd.service enabled vsftpd@.service disabled
之后执行: [jkusr@jk4 vsftpd]$ sudo service vsftpd status Redirecting to /bin/systemctl status vsftpd.service ● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: inactive (dead) since Thu 2020-10-22 12:58:35 CST; 3min 44s ago Main PID: 20507 (code=killed, signal=TERM)
Oct 20 10:02:58 jk4 systemd[1]: Starting Vsftpd ftp daemon... Oct 20 10:02:58 jk4 systemd[1]: Started Vsftpd ftp daemon. Oct 22 12:58:35 jk4 systemd[1]: Stopping Vsftpd ftp daemon... Oct 22 12:58:35 jk4 systemd[1]: Stopped Vsftpd ftp daemon. [jkusr@jk4 vsftpd]$ sudo service vsftpd.service restart Redirecting to /bin/systemctl restart vsftpd.service [jkusr@jk4 vsftpd]$ sudo service vsftpd status Redirecting to /bin/systemctl status vsftpd.service ● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-10-22 13:02:48 CST; 3s ago Process: 21036 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS) Main PID: 21037 (vsftpd) Tasks: 1 Memory: 572.0K CGroup: /system.slice/vsftpd.service └─21037 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Oct 22 13:02:48 jk4 systemd[1]: Starting Vsftpd ftp daemon... Oct 22 13:02:48 jk4 systemd[1]: Started Vsftpd ftp daemon.