需要創建一個虛擬的不能登錄系統的用戶vsftp
useradd -s /sbin/nologin -d /var/ftp vsftp
passwd vsftp =>brightcs
chmod go+wrx /var/ftp
修改vsftp配置文件
/etc/vsftpd/vsftp.conf
pam_service_name= vsftpd
guest_enable=YES
guest_username=vsftp
修改/etc/pam.d/下 vsftpd 文件,需要屏蔽掉其他的驗證先,然后再添加mysql驗證方式:
auth required /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
account required /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
需要注意2點:
1):
md5 crypt = 3
nocrypt crypt =0
2)
如果你的數據庫字段里面有用戶狀態字段,比如你想當用戶被禁用時候,不可以訪問ftp,那么可以增加通過where選項來實現, 比如: where=state=1, 具體可以查看安裝包下面的README;
useradd -s /sbin/nologin -d /var/ftp vsftp
passwd vsftp =>brightcs
chmod go+wrx /var/ftp
修改vsftp配置文件
/etc/vsftpd/vsftp.conf
pam_service_name= vsftpd
guest_enable=YES
guest_username=vsftp
修改/etc/pam.d/下 vsftpd 文件,需要屏蔽掉其他的驗證先,然后再添加mysql驗證方式:
auth required /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
account required /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
需要注意2點:
1):
md5 crypt = 3
nocrypt crypt =0
2)
如果你的數據庫字段里面有用戶狀態字段,比如你想當用戶被禁用時候,不可以訪問ftp,那么可以增加通過where選項來實現, 比如: where=state=1, 具體可以查看安裝包下面的README;