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,如需轉載請自行聯絡原作者