Linux CentOS環境下使用vsftpd搭建ftp服務器-安裝、配置
編輯:狂族晨曦 來源:系統運維,經驗雜筆 日期:2016-10-19 閱讀: 3,142 次 2 條評論 » 百度已收錄
FTP在服務器中是門戶集的應用,幾乎人人都有接觸。先森在公司上班也有三個月了,FTP的搭建也有了自己的一個文檔,最近都沒有怎么更新博客了,所以把自己用的部署文檔整理一下發布出來,有問題還請指點。
公司服務器用的FTP服務器都是清一色的vsftpd,所以本文是用vsftpd搭建FTP服務器。另外,先森發現,萬網免費虛擬主機用的FTP也是vsftpd。

vsftpd
vsftpd安裝
安裝沒有什么說的,vsftpd可以直接yum安裝,也可以下載rpm包安裝:
rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
因為先森用的是CentOS 6.8的系統,默認安裝的vsftpd版本為2.2.2的。
相關命令如下:
# 啟動ftp服務 service vsftpd start # 查看ftp服務狀態 service vsftpd status # 重啟ftp服務 service vsftpd restart # 關閉ftp服務 service vsftpd stop
創建FTP用戶
首先創建一個不能登錄系統的用戶:
useradd -d /web/data/ftp -s /sbin/nologin -M xsftp
useradd參數解釋:
-d:設置用戶根目錄 -s:設置用戶登錄后所用的shel -M:創建用戶不自動創建根目錄
設置用戶權限到文件夾
chown -R xsftp /web/data/ftp
設置權限
chmod 777 /web/data/ftp
設置密碼
passwd amtftp -> 密碼 -> 確認密碼
有時候需要修改FTP用戶的根目錄,下面說下怎么修改。
usermod -d /usr/newfolder -u uid username
uid:用戶UID,可在/etc/passwd中查到。
username:用戶名
修改配置文件
vsftpd的配置
配置文件:/etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
修改以下參數:
anonymous_enable=NO # YES改為NO,禁止匿名用戶登錄
取消注釋:
chroot_local_user=YES #是否將所有用戶限制在主目錄,YES為啟用,NO或者注釋為禁用
末尾添加:
pasv_enable=yes #開啟FTP被動模式 pasv_max_port=6666 pasv_min_port=5555 # FTP被動模式所用端口范圍5555到6666
保存退出
防火墻iptables的配置,開啟FTP端口
vim /etc/sysconfig/iptables -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 5555:6666 -j ACCEPT service iptables restart
【限制用戶只能訪問其主目錄】
很多情況下,我們希望限制ftp用戶只能在其主目錄下(root dir)下活動,不允許他們跳出主目錄之外瀏覽服務器上的其他目錄,這時候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file這三個選項了。
chroot_local_user #是否將所有用戶限制在主目錄,YES為啟用,NO禁用.(該項默認值是NO,即在安裝vsftpd后不做配置的話,ftp用戶是可以向上切換到要目錄之外的) chroot_list_enable #是否啟動限制用戶的名單 YES為啟用,NO禁用(包括注釋掉也為禁用) chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目錄下的用戶名單
至于是限制名單還是排除名單,這取決于chroot_local_user的值,我們可以這樣記憶: chroot_local_user總是一個全局性的設定,其為YES時,全部用戶被鎖定于主目錄,其為NO時,全部用戶不被鎖定于主目錄。那么我們勢必需要在全局設定下能做出一些“微調”,即,我們總是需要一種“例外機制",所以當chroot_list_enable=YES時,表示我們“需要例外”。而”例外“的含義總是有一個上下文的,即,當”全部用戶被鎖定于主目錄“時(即chroot_local_user=YES),"例外"就是:不被鎖定的用戶是哪些;當"全部用戶不被鎖定于主目錄"時(即chroot_local_user=NO),"例外"“就是:要被鎖定的用戶是哪些。這樣解釋和記憶兩者之間的關系就很清晰了!
歷史上的今天:
轉載請注明出處來自http://www.cnidcc.cn/vsftpd.html

川公網安備 51011202000104號
博主現在越來越6了
博主越來越牛越來越豪了!