您好,登錄后才能下訂單哦!
vsftpd+pam=虛擬用戶登錄FTP服務器
1.配置匿名用戶登錄
關閉firewalld和selinux
yum install -y vsftpd
編輯主配置文件
vim /etc/vsftpd/
anonymous_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES #容許匿名用戶上傳文件
anon_mkdir_write_enable=YES #容許匿名用戶建立目錄
anon_other_write_enable=YES #容許匿名用戶除了新建和上傳外的其他權限
cd /var/ftp
mkdir upload
chmod 777 upload
systemctl restart vsftpd
客戶端使用ftp://192.168.1.10訪問
2.配置虛擬用戶登錄(與1獨立)
2.1建立虛擬用戶賬號和密碼
vim /tmp/logins.txt
test1
pw1
test2
pw2
2.2建立虛擬用戶數據庫
db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db
file /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db
2.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
2.4為虛擬用戶建立文件夾并授權
useradd -d /ftp/ -s /sbin/nologin virtual
chown -R virtual.virtual /ftp/
2.5編輯主配置文檔
vim /etc/vsftpd/vsftpd.conf (修改以下)
anonymous_enable=NO
local_enable=YES
connect_from_port_20=YES
listen=YES
listen_port=21
tcp_wrappers=YES
guest_enable=YES (#允許虛擬用戶登錄)
guest_username=virtual(#指定虛擬用戶映射到virtual系統用戶)
user_config_dir=/etc/vsftpd/user_config_dir(#指定虛擬用戶的配置文件位置)
pam_service_name=vsftpd
allow_writeable_chroot=YES(沒加這條可能會沒寫權限)
2.6建立用戶配置文檔
mkdir /etc/vsftpd/user_config_dir
echo "anon_world_readable_only=NO">/etc/vsftpd/user_config_dir/test1
#給用戶test1和test2賦予只讀權限
echo "write_enable=YES" >> /etc/vsftpd/user_config_dir/test1
#給用戶test1和test2賦予寫入權限
echo "anon_upload_enable=YES" >> /etc/vsftpd/user_config_dir/test1
#給用戶test1和test2賦予上傳權限
echo "anon_other_write_enable=YES" >> /etc/vsftpd/user_config_dir/test1
#給用戶test1和test2賦予更改和刪除權限
echo "local_root=/ftp/test1" >> /etc/vsftpd/user_config_dir/test1
#給用戶test1和test2賦予訪問目錄權限
echo "anon_mkdir_write_enable=YES" >> /etc/vsftpd/user_config_dir/test1
#給用戶test1和test2賦予建立目錄權限
mkdir /ftp/test1
touch test
2.7開啟服務
systemctl start vsftpd
注:若開啟selinux,需如下設置
setsebool –P ftp_home_dir on
setsebool -P ftpd_anon_write on
semanage fcontext -a -t public_content_rw_t "/ftp/test1(/.*)?"
restorecon -R -v /ftp/test1
阿里云vsftp配置實例
#通常供外網訪問使用被動模式 anonymous_enable=NO #不允許匿名用戶訪問 local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES pasv_enable=YES #開啟被動模式 pasv_min_port=6010 #被動模式數據傳輸端口范圍 pasv_max_port=6015 pasv_address=************ #該ftp的外網IP pasv_addr_resolve=yes xferlog_std_format=YES listen=YES listen_port=2121 #修改監聽端口 tcp_wrappers=YES guest_enable=YES guest_username=virtual user_config_dir=/etc/vsftpd/user_config_dir pam_service_name=vsftpd anon_umask=022 注: 需在防火墻開放以上被動端口和監聽端口; 阿里云對應的外網IP安全規則里允許可以被哪些ip訪問; 如果該外網ip是負載均衡ip,需在負載均衡配置監聽以上被動端口和監聽端口。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。