linux下搭建ftp服務器
-
用在線安裝
yum install vsftpd pam* db4*-y
使用命令將vsftp配置為系統服務
chkconfig --level 35 vsftpd on
-
配置vsftpd服務的宿主
useradd vsftpdadmin -s /sbin/nologin -M
這個vsftpdadmin只是用來替換root的,并不需要登錄
-
建立ftp虛擬宿主帳戶
useradd vsftpuser -s /sbin/nologin -M
這ftpuser只個虛擬帳戶的宿主,本身是不用登錄的
-
配置vsftpd.conf 配置之前要先備份一下原來的
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES --> anonymous_enable=NO //不允許匿名用戶訪問,默認是允許。
chroot_list_enable=YES --> chroot_list_enable=YES //不允許FTP用戶離開自己主目錄
增加
#設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。
user_config_dir=/etc/vsftpd/vconf/userlocal
#這一步非常重要,要記住這一步。一會要根據這個配置新建文件夾
#修改端口號
ftp_data_port=4040
reverse_lookup_enable=NO
pasv_enable=yes
pasv_min_port=48790
pasv_max_port=48800
listen_port=48796 #端口可以根據你自己實際情況配置,也可以用默認端口。但是為了安全考慮根據自己實際情況配置
-
建立虛擬用戶文件
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vonf/vir_user
-
建立虛擬用戶
vi /etc/vsftpd/vonf/vir_user
virtualuser //用戶名
12345678 //密碼
-
生成數據庫
db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
-
設置數據庫文件訪問權限
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_user.db
-
修改/etc/pam.d/vsftpd
auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
(要想同時使用系統用戶和虛擬用戶,就需要把required改成sufficient)
-
根據第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
新建userlocal文件夾
mkdir /etc/vsftpd/vconf/userlocal
-
根據第六步建立的用戶名建立一個文件
例如第六步建立的帳號是virtualuser,則新建一個virtualuser文件
touch /etc/vsftpd/conf/userlocal/virtualuser
-
編輯該用戶訪問的文件路徑
vi /etc/vsftpd/conf/userlocal/virtualuser
輸入如下
local_root= //需要指定的網站根目錄,例如www.baidu.com所在文件夾為/www/baidu
anonymous_enable=NO #禁止匿名用戶訪問
write_enable=YES #開啟寫權限
local_umask=022 #上傳后文件的權限掩碼
anon_upload_enable=NO #關閉匿名下載
anon_mkdir_write_enable=NO #關閉匿名創建文件夾
idle_session_timeout=60 #會話自動關閉時間 60是因分鐘
data_connection_timeout=120 #數據延遲時間
max_clients=10 #最大連接數
max_per_ip=5 #同一個ip同時允許5個IP聯機
local_max_rate=1048576 #實體用戶傳輸速度限制,單位B/s。0代表不限制
-
配置就此完成,重啟vsftpd服務:service vsftpd restart。
查看系統端口狀態:netstas -tulnp。如果能看到48796端口正在被vsftpd調用說明啟動成功