iT邦幫忙

0

vsftpd 使用 filezilla 登入錯誤,但secure log 只顯示 user '__' granted access

filezilla的登入畫面 :
https://ithelp.ithome.com.tw/upload/images/20200310/20109333W4kUHbmNfg.png
securelog的紀錄 :
https://ithelp.ithome.com.tw/upload/images/20200310/20109333wL2c1ng9pD.png
vsftpd的檔案清單 :
https://ithelp.ithome.com.tw/upload/images/20200310/20109333TI26keEMw3.png
這是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

從下午找到晚上想破腦袋,整理這些資料,想請各位先進指點。

不妥之處還請指出,感謝!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2020-03-11 09:16:38
最佳解答

如果可以,能先看一下你的 /etc/pam.d/vsftpd 内容嘛?

總覺得你的設定好像是屬於虛擬用戶式的設定方式。
但看起來又不太像。

看更多先前的回應...收起先前的回應...
snameless iT邦新手 4 級 ‧ 2020-03-11 10:04:19 檢舉
#%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

snameless iT邦新手 4 級 ‧ 2020-03-11 10:06:01 檢舉

原本有參考過這個 :
https://www.itread01.com/content/1541388072.html
但再仔細看過後感覺沒有甚麼差別,實際套用後也沒有用

你應該是去看到虛擬用戶的設定。

你可以試著在pam中,只留下最後那兩個設定。其它都給他#註解掉。
然後再試看看吧。我忘了pam需不需要重置。

再不行的話,我把我這邊研究好的設定值再私下給你設定好了。

snameless iT邦新手 4 級 ‧ 2020-03-11 16:51:15 檢舉

有點神奇,按照您說的,只留下這兩行。其他註解

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用的。

我要發表回答

立即登入回答