當我們在伺服器上安裝好了vsftpd這個軟體後,並且已經理解該軟體的主設定檔/etc/vsftpd/vsftpd.conf後,我們就可以搭建出自己想要的ftp服務了。
指定連接埠等
listen_port=21 設定監聽的連接埠
download_enable=YES 允許下載檔案
max_clients=100 限制並發客戶端連線數
max_per_ip=100 限制統一ip的並發連結數
##禁止匿名、實體使用者登陸
#先把匿名使用者登陸給關了,不給匿名使用者瀏覽權限。anonymous_enable=NO
主動連接、被動連接設定
我們想要建立既要支援主動連接模式也支援被動連接,那麼設定如下:主動連線模式的連接埠設定connect_from_port_20=YES
iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP服务 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
pasv_enable=YES pasv_min_port=10001 pasv_max_port=11000
iptables -A INPUT -p tcp --dport 10001::11000 -j ACCEPT # ftp被动连接端口
設定虛擬使用者
建立本機對應目錄並設定宿主目錄權限 修改設定檔。
給每個虛擬使用者弄一個單獨的設定檔
#1.建立虛擬使用者的口令檔,該檔案的格式為奇數行為用戶名,偶數行為密碼。下面建立一個這樣的檔案/etc/vsftpd/vusers,內容如下:
ftptest1 111111 ftptest2 222222
2.產生虛擬使用者口令認證檔案
,執行下列指令:db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/login.db
chmod 600 login.db
3.編輯虛擬使用者所需的PAM設定檔
vim /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
# useradd -d /home/vsftp -s /sbin/nologin ftpuser
# chmod 755 /home/vsftp/
# 开启虚拟用户登陆功能 guest_enable=YES # 将虚拟用户与宿主用户对应 guest_username=ftpuser # pam认证文件(该配置默认存在) pam_service_name=vsftpd # vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,所以要加入下面配置 allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/config
# ftptest1虚拟用户的配置文件 # 创建虚拟用户家目录 # mkdir /home/vsftp/ftptest1 # chown ftpuser:ftpuser /home/vsftp/ftptest1/ # 建立配置文件 # mkdir /etc/vsftpd/config # vim /etc/vsftpd/config/ftptest1 <=== 虚拟用户各自配置文件和自己的用户名对应起来 # 指定家目录 local_root=/home/vsftp/ftptest1 # 允许相关权限 download_enable=yes anon_upload_enable=yes anon_other_write_enable=YES anon_mkdir_write_enable=yes anon_world_readable_only=no # 设置最大传输速度,单位b/s anon_max_rate=100000
以上是linux運維之搭建符合自己要求的vsftp服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!