高效!用虛擬用戶搭建FTP工作環(huán)境


此前,使用vsftp工具來搭建ftp時,我們使用的用戶為Linux的系統用戶,而當我們的人員過多時,且都需要用各自的賬戶登錄,那么管理起來將會非常地不方便。使用虛擬用戶的方式能很好的解決這個問題,不占用系統用戶!

1.配置基礎環(huán)境

關閉seliux

# 永久關閉selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# 臨時關閉selinux
setenforce 0

2.安裝vsftp

這里需要安裝兩個模塊,分別為vsftpd和db4-utils。

yum -y install vsftpd db4-utils

3.修改配置

養(yǎng)成好習慣,修改配置前備份一下配置,以防止后續(xù)修改后無法啟動時作為參考依據。

cd /etc/vsftpd/
mv vsftpd.conf vsftpd.src.conf

修改配置如下:

vim vsftpd.conf
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=yes
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pam_service_name=vsftpd

local_enable=YES
pasv_enable=YES
# 被動模式,占用5090-6000端口
#listen_port=52221
pasv_min_port=5090
pasv_max_port=6000
#pasv_address=49.235.71.50

4.創(chuàng)建虛擬用戶賬戶文件

vim /etc/vsftpd/userfile

在文件中填入用戶名和密碼,其中單行是用戶名,雙行是密碼,比如我設置了兩個用戶user1和user2,他們兩個的密碼都是123456:

user1
123456
user2
123456

5.根據虛擬用戶賬戶文件生成虛擬用戶配置文件 vsftpd_login.db

db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db

6.配置虛擬用戶登錄認證,注釋掉全部內容,新增下面的兩行,最終效果如下:

vim /etc/pam.d/vsftpd
#%PAM-1.0
auth        sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account     sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth

7.限制虛擬用戶切換主目錄

vim /etc/vsftpd/chroot_list
user1
user2

8.創(chuàng)建配置文件目錄

mkdir /etc/vsftpd/vsftpd_user_conf

10.創(chuàng)建vsftpd用戶(與vsftpd.conf 文件中的:guest_username=vsftpd 一致)

useradd -d /home/vsftpd -s /sbin/nologin vsftpd

10.按用戶名為每個用戶寫配置內容

僅下載權限

mkdir -p /home/vsftpd/user1
chown -R vsftpd:vsftpd /home/vsftpd
# 注意這里創(chuàng)建的文件名要和你的用戶一致·1
vim /etc/vsftpd/vsftpd_user_conf/user1
anon_world_readable_only=NO    
local_root=/home/vsftpd/user1

上傳、下載權限,不能刪除、不能重命名

anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_root=/home/vsftpd/user1

全部權限:可上傳、下載、刪除和改名

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/vsftpd/user1

11、重啟vsftpd服務

systemctl restart vsftpd
systemctl enable vsftpd

12.允許vsftp防火墻通過

firewall-cmd --add-service=ftp --permanent
firewall-cmd --add-port=5090-6000/tcp --permanent
firewall-cmd --reload

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容