请参考

首先修改/etc/pam.d/vsftpd文件,内容如下:
[root@localhost ~]# cat /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      system-auth
account    required     pam_access.so
account    include      system-auth
session    include      system-auth
session    required     pam_loginuid.so
 
完后修改/etc/security/access.conf配置文件,添加:
- : admin : ALL EXCEPT 192.168.10.254
- : redhat : ALL EXCEPT 192.168.10.20
表示默认admin用户不能从任何主机访问该主机相关服务,除了192.168.10.254;而redhat用户不能从任何主机访问该主机相关服务,除了192.168.10.20。
完成之后修改/etc/vsftpd/vsftpd.conf文件:
Anonymous_enable = NO
Local_root = /var/ftp
重启vsftpd服务,这个时候admin只能从192.168.10.254访问本机的ftp服务,而redhat只能从192.168.10.20访问本机的ftp服务。