轉自:http://www.webarch.org/category/linux
生產環境是Centos5.6,因爲須要提供ftp服務,就找了一款比較小巧的ftp服務器端軟件,vsftpd(vsftpd 的名字表明」very secure FTP daemon」.
vsftpd在安全性、高性能及穩定性三個方面有上佳的表現。
它提供的主要功能包括虛擬IP設置、虛擬用戶、Standalone、inetd操做模式、強大的單用戶設置能力及帶寬限流等。
安全是它的開發者 Chris Evans 考慮的首要問題之一。在這個 FTP 服務器設計開發的最開始的時候,高安全性就是一個目標。html
1.查看是否安裝vsftp
rpm -qa | grep vsftpd
若是出現vsftpd-2.0.5-21.el5,說明已經安裝 vsftp
安裝vsftp
yum -y install vsftpd
2.測試 是否安裝成功 (ip 改爲本身啊,不要用俺的這次登陸爲匿名登陸 user: anonymous 密碼爲空 若是成功登陸會有下面內容 這說明vsftpd安裝成功)
[root@localhost ~]#service vsftpd start
爲 vsftpd 啓動 vsftpd:[肯定]
3,配置vsftpd
# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
yum安裝的主要目錄爲上述的3個目錄,其中配置文件vsftpd.conf在/etc/vsftpd中,下面看下怎麼配置vsftpd.conf
# 默認配置文件: /etc/vsftpd.conf
# 下面是配置的選項及說明
######### 核心設置 ###########
# 容許本地用戶登陸
local_enable=YES
# 本地用戶的寫權限
write_enable=YES
# 使用FTP的本地文件權限,默認爲077
# 通常設置爲022
local_umask=022
# 切換目錄時
# 是否顯示目錄下.message的內容
dirmessage_enable=YES
dirlist_enable = NO
#驗證方式
#pam_service_name=vsftpd
# 啓用FTP數據端口的數據鏈接
connect_from_port_20=YES
# 以獨立的FTP服務運行
listen=yes
# 修改鏈接端口
#listen_port=2121
######### 匿名登陸設置 ###########
# 容許匿名登陸
anonymous_enable=NO
# 若是容許匿名登陸
# 是否開啓匿名上傳權限
#anon_upload_enable=YES
# 若是容許匿名登陸
# 是否容許匿名創建文件夾並在文件夾內上傳文件
#anon_mkdir_write_enable=YES
# 若是容許匿名登陸
# 匿名賬號能夠有刪除的權限
#anon_other_write_enable=yes
# 若是容許匿名登陸
# 匿名的下載權限
# 匿名爲Other,可設置目錄/文件屬性控制
#anon_world_readable_only=no
# 若是容許匿名登陸
# 限制匿名用戶傳輸速率,單位bite
#anon_max_rate=30000
######### 用戶限制設置 ###########
#### 限制登陸
# 用userlist來限制用戶訪問
#userlist_enable=yes
# 名單中的人不容許訪問
#userlist_deny=no
# 限制名單文件放置的路徑
#userlist_file=/etc/vsftpd/userlist_deny.chroot
#### 限制目錄
# 限制全部用戶都在家目錄
#chroot_local_user=yes
# 調用限制在家目錄的用戶名單
chroot_list_enable=YES
# 限制在家目錄的用戶名單所在路徑
chroot_list_file=/etc/vsftpd/chroot_list
######### 日誌設置 ###########
# 日誌文件路徑設置
xferlog_file=/var/log/vsftpd.log
# 激活上傳/下載的日誌
xferlog_enable=YES
# 使用標準的日誌格式
#xferlog_std_format=YES
######### 安全設置 ###########
# 用戶空閒超時,單位秒
#idle_session_timeout=600
# 數據鏈接空閒超時,單位秒
#data_connection_timeout=120
# 將客戶端空閒1分鐘後斷開
#accept_timeout=60
# 中斷1分鐘後從新鏈接
#connect_timeout=60
# 本地用戶傳輸速率,單位bite
#local_max_rate=50000
# FTP的最大鏈接數
#max_clients=200
# 每IP的最大鏈接數
#max_per_ip=5
######### 被動模式設置 ###########
# 是否開戶被動模式
pasv_enable=yes
# 被動模式最小端口
pasv_min_port=5000
# 被動模式最大端口
pasv_max_port=6000
######### 其餘設置 ###########
# 歡迎信息
ftpd_banner=Welcome to Ftp Server!
4 添加ftp防火牆規則:
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
或
在文件/etc/sysconfig/iptables中添加如下記錄,後執行service iptables restart重啓
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
5 添加用戶(注意,該處添加nologin類型用戶ftpuser):
useradd -d /home/ftp -s /sbin/nologin ftpuser
若是已啓動vsftpd,從新啓動
pkill vsftpd /usr/sbin/vsftpd &
6 到此,整個小巧的ftp服務器搭建成功。可使用FileZilla FTP或FlashFXP等客戶端軟件登錄ftp server了。linux
http://www.cnblogs.com/itech/archive/2012/09/16/2687378.htmlweb
http://blog.csdn.net/bluishglc/article/details/42398811安全
sftp ncftp服務器
常見問題及解決辦法:
一、root 用戶220拒絕
解決辦法:
在/etc/vsftpd.ftpusers和/etc/vsftpd.user_list中將root註釋掉,保存文件後當即生效
緣由:
[root@test ums-client]# more /etc/vsftpd.user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
#root
session
2.設定ftp登錄時的默認目錄
修改vsftp默認用戶訪問目錄在配置文件目錄 /etc/vsftpd/下的 vsftpd.conf文件中。
找到並打開/etc/vsftpd/vsftpd.conf, 設置添加如下代碼:
local_root=/home/xxx
那麼ftp用戶訪問的默認目錄就是xxx這個目錄了。
ftp用戶訪問的默認目錄設置好了, 還能夠單獨設置這個目錄的訪問權限如(777,755等權限), 方法請參考文章: vsftp 設置ftp用戶訪問目錄權限的命令
注意設置好了須要重啓vsftp服務器:
service vsftpd restart
重啓後你再在客戶端鏈接看看是否是指定的目錄呀。tcp
三、vsftpd下顯示的時間與系統時間不一致
ftp上來顯示的時間與系統時間不一致,是由於默認狀況下,vsftpd 是用GMT作爲它的時間的,因此和系統的時間(GMT+8會會相差8個小時)能會不一致。
修改也很簡單:
vi /etc/vsftpd/vsftpd.conf
在最後加入一行:
use_localtime=YES
存盤後,重啓vsftpd:
service vsftpd restart
這樣就好了性能
http://www.chinaunix.net/old_jh/4/347483.html測試
按上述設置並重啓vsftpd後,時間顯示正常:ui
四、如何有選擇的把用戶限制在家目錄中呢?
咱們要本身建一個文件,在/etc目錄中或/etc/vsftpd目錄中(假如您的vsftpd配置文件都是放在這個目錄的話);
#touch /etc/vsftpd.chroot_list
以beinan和nanbei這兩個用戶限制在他們所在的家目錄中,而其它的FTP用戶不作此限制。
在vsftpd.chroot_list這個文件中,把beinan和nanbei添上去就行,注意,每一個用戶佔一行。
beinan
nanbei
而後改/etc/vsftpd/vsftpd.conf文件,找以下的兩行
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
若是沒有這樣的兩行,就能夠本身添加上去也是同樣的。
設置好後,從新vsFTPD服務器。
補充一之補充:如何把系統內全部的FTP用戶都限制在家目錄中呢??經juliaugong兄的提示,我查找了vsFTPd的洋文說明,證實這個選項是一刀切的解決全部的用戶都能限制在家目錄中
咱們能夠經過更改vsftpd.conf文件,加入以下的一行
chroot_local_user=YES
改完配製文件,不要忘記重啓vsFTPd服務器;
五、如何讓綁定IP到vsFTPd?
如何讓綁定IP到vsFTPd?也就是說,如何讓用戶只能經過某個IP來訪問FTP。其實這個功能頗有意思。若是綁定的是內網的IP,外部是沒有辦法訪問的。若是綁定的是對外服務的IP,內網也只能經過對外服務的IP來訪問FTP
在vsftpd.conf中加一行,以個人局域網爲例,請看第一帖中的操做環境,這樣外網就不能訪問個人FTP了,內網也可能經過192.168.0.2來訪問FTP;
listen_address=192.168.0.2
http://os.51cto.com/art/201102/245528.htm