分类: 系统运维
2011-08-15 14:14:44
Centos上的ftp安装
1. 1. 安装相应的软件包:
yum install vsftp
2. 2. 添加修改配置文件:/etc/vsftpd/vsftpd.conf
<1>是否开启匿名访问:anonymous_enable=YES/NO
<2>设定启动虚拟用户功能:guest_enable=YES
<3>指定虚拟用户的宿主用户(即系统内原有的用户):guest_username=ftp
<4>指定虚拟用户的文件存放目录:user_config_dir=/etc/vsftpd/vuser_conf/
<5>设定用户不能离开主目录:chroot_list_enable=YES
3. 3. 建立虚拟用户:
<1>安装工具:yum install db4 db4-utils
<2>创建密码文本:/etc/vsftpd/vuser_passwd.txt里面添加虚拟用户和密码
格式如下:test //第一行虚拟用户名
pop //第二行是密码
<3>生成虚拟用户认证的db文件:
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
4. 4. 编辑pam认证模块:/etc/pam.d/vsftpd
注释掉原有的pam语句,添加如下语句:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
5. 5. 最后创建虚拟用户的服务文件:/etc/vsftpd/vuser_config/test
添加内容:
local_root=/var/ftp/(目录任意)
write_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
6. 6. 重启ftp: /etc/init.d/vsftpd restart
7. 7. 测试:lftp test@119.166.243.61
8. 8. 补充:关于iptables的问题:因为如果是有内网的机器访问,会有nat转换的问题,iptables有可能会阻止ftp进入不能检索目录
需要:
<1>添加两个模块:modprobe ip_nat_ftp modprobe ip_conntrack_ftp
<2>添加两个规则:
iptables -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT