CentOS上FTP的安装和相关配置

​CentOS上FTP的安装和相关配置
1.       查看是否安装vsftp

#rpm –qa |grep vsftpd 2.       如果没安装就安装vsftpd 否则跳过
#yum –y install vsftpd 3. vsftpd的配置
1)  打开vsftpd.conf
#vi /etc/vsftpd/vsftpd.cof 2)修改以下内容:
anonymous_enable=NO           // 设定不允许匿名访问
local_enable=YES          //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
chroot_list_enable=YES           //使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log                  //设定vsftpd的服务日志保存路径。
ascii_upload_enable=YES
ascii_download_enable=YES             //设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd      //PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
以下这些需要自己手动添加
guest_enable=YES     //设定启用虚拟用户功能。
guest_username=nobody          //指定虚拟用户的宿主用户。
user_config_dir=/etc/vsftpd/vuser_conf     //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。 3)创建chroot list:
#touch /etc/vsftpd/chroot_list
#echo ftp >> /etc/vsftpd/chroot_list
4) 创建用户密码文本/etc/vsftpd/vuser_passwd.txt 这个文件中奇行是用户名,偶行是密码,如下:
ftp               //用户名
123456           //密码  然后,.生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

注意:如果 出现-bash: db_load: command not found
解决———— 安装db4,这里用的是联网安装
(1)yum install -y db4
(2)yum install -y db4 -devel
(3)yum install -y db4 -utils
然后:rpm -qa | grep db4 //查看有无成功安装
   如果成功可以看见
   db4-devel-4.3.29-10.e15_5.2
   db4-4.3.29-10.e15_5.2
   db4-utils-4.3.29-10.e15_5.2

4-1)这时执行db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db就ok了。

5)接着编辑认证文件
#vi /etc/pam.d/vsftpd 注释掉原来所有的语句,并加上如下内容
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd 6)最后,创建虚拟用户配置文件
#mkdir /etc/vsftpd/vuser_conf/
#vi /etc/vsftpd/vuser_conf/ftp说明:这里的ftp是vuser_passwd.txt里面的账户名
添加如下内容:
local_root=/var/www/html 虚拟用户的根目录(根据实际修改)
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES注意: 这个文件每一行的值都不要有空格,否则登录时会出现错误。
4. iptables设置
因为ftp有主动和被动连接两种模式,少添加一些策略就会出现ftp不能正常访问的问题。
下面是我的解决方法:
首先加载:
#modprobe ip_conntrack_ftp
#modprobe ip_nat_ftp 然后配置策略
#iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -I INPUT -p tcp --dport 21 -j ACCEPT
#iptables -I OUTPUT -p tcp --dport 21 -j ACCEPT 如果不想每次都加载模块的话在 /etc/sysconfig/iptables-config添加
IPTABLES_MODULES="ip_conntrack_netbios_ns"
IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp" 5. 设置目录,并启动vsftp服务器
#mkdir /var/www/html/ftp
#chmod –R 755 /var/www/html
#chmod –R 777/var/www/html/ftp
#service vsftpd start[color=darkred][/color]

猜你喜欢

转载自yehui186.iteye.com/blog/1664170
今日推荐