filezilla的登入畫面 :
securelog的紀錄 :
vsftpd的檔案清單 :
這是vsftpd的設定
anonymous_enable=no
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
idle_session_timeout=900
data_connection_timeout=300
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/vsftpd_userlist
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
allow_writeable_chroot=YES
環境是CentOS 7.5
除了建立使用者,使用passwd給予密碼之外
並用指令建立了DB檔提供 /etc/pam.d/vsftpd 使用
db_load -T -t hash -f /etc/vsftpd/vsftpd_userlist /etc/vsftpd/vsftpd_userlist.db
從下午找到晚上想破腦袋,整理這些資料,想請各位先進指點。
不妥之處還請指出,感謝!
如果可以,能先看一下你的 /etc/pam.d/vsftpd 内容嘛?
總覺得你的設定好像是屬於虛擬用戶式的設定方式。
但看起來又不太像。
#%PAM-1.0
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
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_userlist
account required pam_userdb.so db=/etc/vsftpd/vsftpd_userlist
原本有參考過這個 :
https://www.itread01.com/content/1541388072.html
但再仔細看過後感覺沒有甚麼差別,實際套用後也沒有用
你應該是去看到虛擬用戶的設定。
你可以試著在pam中,只留下最後那兩個設定。其它都給他#註解掉。
然後再試看看吧。我忘了pam需不需要重置。
再不行的話,我把我這邊研究好的設定值再私下給你設定好了。
有點神奇,按照您說的,只留下這兩行。其他註解
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_userlist
account required pam_userdb.so db=/etc/vsftpd/vsftpd_userlist
這樣就成功了
感謝浩瀚星空大神 !
另外有問題想問 :
這裡所說的虛擬用戶跟實體用戶,是怎樣的一個概念?
是指有沒有具體權限可以做甚麼事情的意思嗎?
實體用戶其實就是你linux的使用者。如root、ftp、www....這些。
有些是用ldap的用戶。
用白話一點來說,就是你的系統的用戶。
虛擬用戶來說,其實就是不屬於上面的身份。額外的身份。
也可以用另外一個名字來說明。就是「分身」
基本上來說,就算是虛擬用戶。也一定會是屬於某個實體用戶身份。
預設值我記得會是root的樣子。還是ftp??我忘了。
畢竟我是有重新調整身份給www用的。