和兴和红棍
proftpd+pam的问题,如何实现基于每用户的IP限制策略?
服务器环境:CentOS3.6+proftpd 1.2.10
要实现proftpd基于用户IP的限制策略,有1个管理员用户ftpadmin,两个普通用户usera,userb,管理员用户无登陆限制,usera和userb只能限制从规定的ip才能登陆!
先在proftpd.conf中增加如下三行:
AuthPAM on
AuthPAMAuthoritative on
AuthPAMConfig ftp
然后在/etc/pam.d/ftp文件中添加如下几行:
#%PAM-1.0
auth required /lib/security/pam_listfile.so item=user sense=allow file=/etc/ftpwho onerr=fail
auth required /lib/security/pam_pwdb.so shadow nullok
account required /lib/security/pam_pwdb.so
session required /lib/security/pam_pwdb.so
然后修改/etc/pam.d/login文件,添加如下一行:
account required /lib/security/pam_access.so
在/etc/security/access.conf中添加访问策略规则,如下:
+:ftpadmin:ALL
+:usera:192.168.1.100
+:userb:192.168.2.100
-:ALL:ALL
按照上述配置后,仍然无效,用户usera还是可以从任意IP登陆,请高手做答!
之前考虑过使用/etc/hosts.allow和/etc/hosts.deny文件,但是只能通过服务限制,无法实现基于用户的IP限制。
和兴和红棍
安装时使用rpm安装,默认启动方式为inetd,使用service proftpd restart重起服务时提示:
Starting proftpd: - warning: AuthPAMAuthoritative is deprecated
proftpd - fatal: Socket operation on non-socket
proftpd - (Running from command line? Use `ServerType standalone' in config file!)
察看/var/log/message日志发现如下信息:
PAM(ftpuser): Authentication failure
既然验证失败了,怎么还能登入呢?