linux下搭建ftp服務器(虛擬用戶)


一.安裝服務

yum -y install vsftpd

關閉selinux

setenforce  0 

 

二.修改配置文件

vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES   這三條配置是讓用戶只能在他的家目錄下面操作,不能切換到系統的其他目錄,並賦予其在家目錄下的可寫權限。

chroot_list_file=/etc/vsftpd/chroot_list  指定上述關於目錄切換權限配置的用戶名單文件在哪里。

在/etc/vsftpd/chroot_list文件中添加backup用戶

 

userlist_enable=YES     #在名單里面的用戶可以登陸FTTP
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

這里指定一份用戶命令及其位置,並指定在該名單里面的用戶,是可以登陸到FTP的。

在/etc/vsftpd/user_list添加backup用戶

 

pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

啟用被動模式,並指定被動模式所選用的端口范圍。

 

三.創建用戶(ftp用戶其實就是系統用戶)

useradd  backup  -s  /sbin/nologin  (不讓ftp用戶登錄系統)

passwd  backup

mkdir  /backup/

usermod -d /backup/  backup (另外指定ftp用戶的家目錄)

 

四.開放防火牆端口

firewall-cmd  --add-port=21/tcp  --permanent

firewall-cmd  --add-port=6000-7000/tcp  --permanent

firewall-cmd  --reload

 

---------------------------------------------------------------------------------------------------------------如果想要創建虛擬用戶---------------------------------------------------------------------------------------------------------------

一.安裝vsftpd

yum -y installl vsftpd

關閉selinux

setenforce 0

 

二.修改配置文件

創建虛擬用戶文件

vim /etc/vsftpd/virtual.txt

backup1
tqw961110
backup2
tqw961110

 

創建認證文件

db_load -T -t hash -f /etc/vsftpd/virtual.txt /etc/vsftpd/virtual.db

修改權限

chmod 600 /etc/vsftpd/virtual.db

 

創建pam文件

vim /etc/pam.d/vsftpd.vu

修改權限

chmod 777 /etc/pam.d/vsftpd.vu

 

創建用戶

useradd virtual -d /backup/ -s /sbin/nologin

chmod 755 /backup/

 

修改ftp配置文件

listen_ipv6=YES
guest_enable=YES                                                      #開啟虛擬用戶
guest_username=virtual                                               #將虛擬用戶映射到virtual用戶
pam_service_name=vsftpd.vu                                     #指定pam認證文件
user_config_dir=/etc/vsftpd/vsftpd_user_conf             #虛擬用戶權限文件的存放目錄
userlist_enable=YES
tcp_wrappers=YES

 

指定被動模式的工作端口

pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

 

創建用戶權限文件存放的目錄

mkdir /etc/vsftpd/vsftpd_user_conf/

cd /etc/vsftpd/vsftpd_user_conf/

創建backup1用戶權限文件

vim backup1

anon_world_readable_only=YES             #可以瀏覽目錄下載文件
anon_upload_enable=YES                      #可以上傳文件
anon_mkdir_write_enable=YES               #可以創建 刪除目錄
anon_other_write_enable=YES                #可以更名刪除文件
allow_writeable_chroot=YES                   #對自己的主目錄有寫的權限,(若不加此參數,而virtual用戶對其家目錄又有寫權限,則會出現登錄出錯,這是ftp的安全機制。)

創建backup2用戶權限文件

vim backup2

anon_world_readable_only=YES             #可以瀏覽目錄下載文件
anon_upload_enable=YES                      #可以上傳文件
anon_mkdir_write_enable=NO                #可以創建 刪除目錄
anon_other_write_enable=NO                 #可以更名 刪除文件
allow_writeable_chroot=YES                   #對自己的主目錄有寫的權限,(若不加此參數,而virtual用戶對其家目錄又有寫權限,則會出現登錄出錯,這是ftp的安全機制。)

 

重啟服務

開發防火牆

firewall-cmd --add-port=20/tcp --permanent

firewall-cmd --add-port=21/tcp --permanent

firewall-cmd --add-port=6000-7000/tcp --permanent

firewall-cmd --reload

 

三.測試

先用backup1用戶登錄ftp

創建一個文件

然后切換到backup2用戶

嘗試刪除文件

發現沒有反應

則表示成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM