2012年7月23日 星期一

CentOS 安裝與設定 vsFTPd 檔案伺服器

安裝 vsFTPd

# yum install vsftpd

修改設定檔

# vi /etc/vsftpd/vsftpd.conf
------------------------------------------------------------------------------------------------------------
anonymous_enable=YES 改成anonymous_enable=NO
#chroot_local_user=YES 把前面的#拿掉 chroot_local_user=YES
然後最後面加上 use_localtime=YES
------------------------------------------------------------------------------------------------------------

啟動服務(並設定每次開機時啟動)

# chkconfig vsftpd on
# /etc/init.d/vsftpd start





檢查是否正確啟動服務
# netstat -tulnp| grep vsftpd
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      1875/vsftpd
若有看到顯示類似這行即可

開放 SELinux 的一些限制(Linux的一種安全機制)
# setsebool -P allow_ftpd_full_access=1
# setsebool -P ftp_home_dir=1

使用 -P 參數就不用每次開機都要重新去執行一次

可以用以下指令確認vsFTPd中SELinux的相關權限狀態
getsebool -a | grep ftp

重新啟動服務
# /etc/init.d/vsftpd restart

防火牆設定
# vi /etc/sysconfig/iptables-config
------------------------------------------------------------------------------------------------------------
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"
------------------------------------------------------------------------------------------------------------
在 IPTABLES_MODULES 加入以上參數 ip_nat_ftp ip_conntrack_ftp

# vi /etc/sysconfig/iptables

------------------------------------------------------------------------------------------------------------
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
------------------------------------------------------------------------------------------------------------


在中間加入以下這行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

重新啟動防火牆服務
# /etc/init.d/iptables restart

基本上只要這樣設定,Linux底下的使用者,都可以登入FTP了,而且限制在家目錄內無法離開存取到跟目錄底下或者,有基本安全性保護。

伺服器端設定完畢,用客戶端軟體連線看看吧,筆者喜歡用的 FileZilla 非常棒的開源FTP軟體。

<FileZilla官方網站>

沒有留言:

張貼留言