CENTOS7下配置vsftpd
centos7 下配置ftp很简单,但要跟nginx开启的服务路径存在交叉的时候,坑还是不少啊!
本文将详细记录在centos7 最小化安装的系统中,从0配置ftp的步骤以及坑点。
配置ftp文件上传
安装vsftp
安装、编辑配置文件:
#安装vsftpd |
修改配置如下(放开匿名登录,去掉#):
anonymous_enable=YES |
以上修改的三行配置(#修改内容(去掉#):
紧接的三行),是用于匿名登录和上传、新建文件夹的测试,在本文【测试ftp】环节测试完毕后,应重新注释掉以上三行配置。
启动ftp并检查状态
#启动ftp |
测试ftp连接
匿名用户账号密码均为anonymous
。
[root@nooldey]# yum -y install ftp |
返回码220则服务正常,可以登录;230则为登录成功。
配置vsftpd
a.vsftpd设置。
打开并编辑配置conf:
[root@nooldey]# vi /etc/vsftpd/vsftpd.conf |
将其他内容全部注释掉或删除(注意备份一份默认配置),在文件最后追加以下完整配置(列表中未列出的行则注释开即可,配置内容随实际使用情况会不定期进行更改
):
#禁止匿名 |
b.新建ftp用户
新建ftp登录用户:
#创建宿主用户目录 |
注意:如果vsftpd.conf配置中开启了userlist_deny=YES,即只允许userlist中的账户登录ftp,需要在user_list
中添加新增的ftpuser用户
重启vsftpd:
[root@nooldey]# service vsftpd restart |
c.检查SELinux的ftp开关
在外网(windows环境)用filezilla连接上述搭建的ftp,连接成功,上传文件,出现553 Could not create file
错误,无法上传文件!!!我的天,怎么办?
别慌,出现上传错误,是因为服务器端的ftp没有开启上传写入文件的权限,这就把它解决掉!
#检查ftp权限SELinux设置 |
检查配置是否如下:
ftpd_anon_write --> off |
如果配置与上述有出入,确保开启full_access和tftp_home_dir
:
[root@nooldey]# setsebool -P ftpd_full_access 1 |
d.可能用到的指令
userdel -rf nooldey:强制删除用户及相关目录文件;
ls –l /home:查看所有系统用户,列出系统中所有的用户;
vi /etc/passwd:查看所有账号,列出所有账户密码。
find / -name '*nooldey*': 查找匹配信息
至此,ftp配置完成,终于成功上传了文件,并且将用户限制在自己的目录下了。