歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 在wdcp環境下架設VSFTPD虛擬用戶只上傳功能服務器

在wdcp環境下架設VSFTPD虛擬用戶只上傳功能服務器

日期:2017/3/1 16:21:43   编辑:關於Linux
檢查系統是否已安裝vsftp
rpm -q vsftpd
package vsftpd is not installed #說明系統沒有安裝vsftpd

如果生成虛擬用戶數據文件的時候出現以下錯誤
users.db-bash: db_load: command not found
因為在執行db命令時候軟件包沒有安裝
db4
db4-devel
db4-java
db4-tcl
db4-utils
可以運行yum install db4* 命令安裝


安裝vsftpd
yum install vsftpd
按Y回車,系統自動安裝
/etc/init.d/vsftpd start #啟動vsftpd
service vsftpd restart #重啟
service vsftpd stop #停止
chkconfig vsftpd on #設置開機時自動運行 也可以在wdcp面板控制自啟動,停止另外一個FTP服務很方便的。

使vsftp下root登錄:
1)編輯兩個FTP配置文件:/etc/vsftpd/ftpusers和/etc/vsftpd/user_list,將root那一行刪掉或#注釋掉;

這個看你自己需要修改不修改


配置vsftp服務器
配置文件說明:
/etc/vsftpd/vsftpd.conf vsftpd的核心配置文件
/etc/vsftpd/ftpusers 用於指定哪些用戶不能訪問FTP服務器
/etc/vsftpd/user_list 指定允許使用vsftpd的用戶列表文件
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些變量和設置腳本
/var/ftp/ 默認情況下匿名用戶的根目錄

配置/etc/vsftpd/vsftpd.conf
配置前先備份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak
恢復文件
cp /etc/vsftpd/vsftpd.confbak /etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf #配置

只需添加
anonymous_enable=NO   #禁止匿名用戶 這個在原來裡面改一下

guest_enable=YES 設定啟用虛擬用戶功能。
guest_username=vsftpd 指定虛擬用戶的宿主用戶(這個是我們後面要新建的用戶)
user_config_dir=/etc/vsftpd/vconf 設定虛擬用戶個人Vsftp的配置文件存放路徑。
也就是說,這個被指定的目錄裡,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的
地方就是這些配置文件名必須和虛擬用戶名相同。
比如說vsftpd.conf的配置文件,你復制到這個目錄下,你要mv一下,配置成虛擬用戶的名稱
virtual_use_local_privs=YES #當該參數激活(YES)時,虛擬用戶使用與本地用戶相同的權限。
#當此參數關閉(NO)時,虛擬用戶使用與匿名用戶相同的權限。默認情況下此參數是關閉的(NO)。
pasv_min_port=9000 (設置被動模式的端口范圍)
pasv_max_port=9045 (設置被動模式的端口范圍)
accept_timeout=5 #保持5秒
connect_timeout=1 #1秒後重新連接
chroot_local_user=YES限制在自己目錄

進入編輯 按是s鍵就可以編輯,保存也已直接開大小寫,連續按ZZ兩下就保存退出編輯

先建立虛擬用戶名單文件:
touch /etc/vsftpd/virtusers
編輯虛擬用戶名單文件:(第一行賬號,第二行密碼,注意:不能使用root做用戶名,系統保留)
vi /etc/vsftpd/virtusers
up
123456

生成虛擬用戶數據文件:
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db #設定PAM驗證文件,並指定對虛擬用戶數據庫文件進行讀取====

在/etc/pam.d/vsftpd的文件頭部加入以下信息(在後面加入無效)
修改前先備份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak
恢復cp /etc/pam.d/vsftpdbak /etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意:如果系統為64為,則上面的lib改為lib64,否則配置失敗

新建一個系統用戶vsftpd,用戶家目錄為/home/wwwroot, 用戶登錄終端設為/bin/false(即使之不能登錄系統)
useradd -d /home/wwwroot -s /bin/false -g ftp vsftpd vsftpd加入FTP用戶組
chown vsftpd:ftp /home/wwwroot -R

建立虛擬用戶個人Vsftp的配置文件
系統運維 溫馨提醒:qihang01原創內容版權所有,轉載請注明出處及原文鏈接
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
touch up #這裡創建三個虛擬用戶配置文件

vi up #編輯用戶web1配置文件,其他的跟這個配置文件類似
local_root=/home/wwwroot/
write_enable=yes
local_umask=002
cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
chroot_list_enable=YES
pam_service_name=vsftpd
pasv_enable=yes
hide_ids=YES
text_userdb_names=no
ls_recurse_enable=no
只能上傳

最後重啟vsftpd服務器
/etc/init.d/vsftpd restart
備注:guest_username=vsftpd #指定虛擬用戶的宿主用戶(就是我們前面新建的用戶)
如ftp的目錄是指向網站根目錄的,用來上傳網站程序的話
guest_username=apache #指定虛擬用戶的宿主用戶為apache運行賬戶,可以避免很多權限設置問題


以上配置我我綜合網上的教程修改的,網上很多教程都不不能直接運行...
在WDcp面板可以控制兩個FTP切換使用
這個控制面板很實用


本文摘自 wdlinux論壇 http://www.wdlinux.cn/bbs/,轉載請注明!
Copyright © Linux教程網 All Rights Reserved