administrator
cp –a  /mnt/samba/*  /var/ftp/pub 
5、ftp账号的迁移
成功迁移了用户数据后,接下来我们要迁移用户的账号。为了迁移Serv-U里的账号名称信息,先要将Serv-U软件安装目录下的ServUDaemon.ini上传到linux的FTP服务器中。分析ServUDaemon.ini文件,我们可以看到账号的名称都是分布在以User开头的每一行中,另外我们还可以看到账号名称和其他属性用“=”和“|”隔离,如User1=admin|1|0,这样我们就可以利用linux系统下的cut及管道命令来分离出账号名称,具体命令如下:
cat ServUDaemon.ini | grep ^User | cut -d \= -f 2 | cut -d \| -f 1 > test
得到test文件后,我们就可以利用脚本自动添加vsftp账号,脚本代码如下:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
usernames=$(cat /root/test)
i=0
for username in $usernames
do
i=$((i+1))
useradd -d /var/ftp/pub/$username -s /sbin/nologin $username 2> /dev/null
echo $username|passwd --stdin $username
echo $username >> /etc/vsftpd/user_list
echo $username >> /etc/vsftpd/chroot_list
echo $username "has been created!"
chown -R $username /var/ftp/pub/$username
echo $username "is ok"
done
其中/etc/vsftpd/user_list和chroot_list文件为vsftp的设置文件,只有将账号添加到这两个文件后,才可以达到控制用户和锁定用户目录的作用。
6、vsftp的安全设置
1)、Netfilter的设置
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin; 
EXTIF="eth1"    
INIF="eth0"                                                      
export EXTIF INIF  PATH
#清除规则、设定预设策略及开放lo与相关的设定值
  iptables -F
  iptables -X
  iptables -Z
  iptables -P INPUT   DROP
  iptables -P OUTPUT  ACCEPT
  iptables -P FORWARD ACCEPT
  iptables -A INPUT -i lo -j ACCEPT
  iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP -i $EXTIF --dport  21   -j ACCEPT  
iptables -A INPUT -p TCP -i $EXTIF --dport  20   -j ACCEPT
2)、vsftpd.conf的设置
不允许匿名登录:anonymous_enable=NO
锁定用户目录:chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
其他安全策略:pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
四、结束语
通过以上的操作,我们基本实现了将FTP用户从windows平台下的Serv-U迁移到linux平台下的Vsftp中使用,并且介绍了简单安全策略的应用,希望对大家有所帮助。



本文转自 小王 51CTO博客,原文链接:http://blog.51cto.com/xiaowang/1161369,如需转载请自行联系原作者