Centos7安装搭建FTP服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7安装搭建FTP服务器相关的知识,希望对你有一定的参考价值。
参考技术A 创建的FTP目录 /data/ftpguoke为你为该ftp创建的用户名,/data/ftp 为登录进去后的位置
更改登录时看到的目录,看个人需要更改,如果第4步已设置好,此步可忽略
将 /data/ftp 目录权限设置为 guoke 用户,否则ftp客户端将无法写入文件
vim /etc/vsftpd/vsftpd.conf
在chroot_list中添加guoke用户
由于需要限制ftp用户在自己的目录,在21端口下没有问题,但当ftp用户用sftp登录时,还是可以访问上级目录,于是禁止ftp用户ssh登录,切断22端口的通信。
查看 /etc/shells 文件,看禁止登录的shell为 /usr/sbin/nologin 。如果没有,在文件后面添加
如果要恢复guoke的ssh登录
CentOS 下搭建FTP服务器
vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。
本文介绍了在CentOS 6.4下安装vsftpd、配置虚拟用户登录FTP的过程。
正文:
一:安装vsftpd
查看是否已经安装vsftpd
1 2 3 4 |
|
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
打开/etc/vsftpd/vsftpd.conf,做如下配置
1 2 3 4 5 6 7 8 9 10 11 12 |
|
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
1 |
|
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
1 2 |
|
接着,生成虚拟用户认证的db文件
1 |
|
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
1 2 |
|
最后,创建虚拟用户配置文件
1 2 3 4 5 6 7 8 9 10 |
|
设置Selinux(如果你的selinux是开启的话)
1 2 |
|
设置FTP根目录权限
1 2 3 |
|
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
设置防火墙
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
1 |
|
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
1 |
|
OK,运行“service vsftpd start”,你就可以访问你的FTP服务器了。
配置PASV模式
vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置
打开/etc/vsftpd/vsftpd.conf,在末尾添加
1 2 3 4 |
|
在防火墙配置内开启40000到40080端口
1 |
|
重启iptabls和vsftpd
1 2 |
|
现在可以使用PASV模式连接你的FTP服务器了~
常见错误:
问题一:
可我按照配置步骤走完一遍后发现每次都是
530 Login incorrect
找来找去才发现我把验证用的vsftpd.vu创建在了etc的根目录,而不是/etc/pam.d/vsftpd.vu
问题二:
修改了上面的问题,还是不能登录,提示我:
500 OOPS:bad bool value in config file for:anon_world_readable_only
google了一把发现有人说是配置文件的末尾不能有空格,打开自己的配置文件一看,不止anon_world_readable_only这一行末尾,整个文件的末尾都有几个空格。唉,复制粘贴网页上的配置要谨慎啊。
问题三:
500 OOPS: vsftpd: cannot locate user specified in ‘guest_username‘:aaA
这个问题很奇葩,最后发现是最后大小写的问题,应该是‘aaa’
所以注意一下细节,安装上面的步骤来是很简单的
以上就是CentOS 下搭建FTP服务器的详细内容,更多请关注php中文网其它相关文章!
以上是关于Centos7安装搭建FTP服务器的主要内容,如果未能解决你的问题,请参考以下文章