禁止用户ssh登录但可使用ftp

有时候希望某用户只能登录ftp而禁止其通过ssh登录,而又不想用虚拟用户来管理,维护一个虚拟用户的记录太麻烦,应该怎么办呢?

能够通过安装vsftpd服务,然后禁止其通过pam认证并将check_shell配置为NO,添加用户的时候将用户的shell配置为 /bin/false,这样既能够禁止用户ssh登录又能够正常使用ftp。以下是我的/etc/pam.d/vsftpd和 /etc/vsftpd.conf配置。
/etc/pam.d/vsftpd

# Standard behaviour for ftpd(8).
auth  required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable
# pam_ftp.so.
# Standard blurb.
@include common-account
@include common-session
@include common-auth

#auth  required    pam_shells.so

/etc/vsftpd.conf

listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
check_shell=NO

添加用户的时候加上选项-s /bin/false即可。

posted @ 2011-10-09 10:06  【小洲】  阅读(519)  评论(0编辑  收藏  举报