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

发表于:2007-07-04来源:作者:点击数: 标签:
有时候希望某用户只能登录ftp而禁止其通过ssh登录,而又不想用虚拟用户来管理,维护一个虚拟用户的记录太麻烦,应该怎么办呢? 可以通过安装vsftpd服务,然后禁止其通过pam认证并将check_shell设置为NO,添加用户的时候将用户的shell设置为/bin/false,这样既
有时候希望某用户只能登录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=suclearcase/" target="_blank" >cceed

# 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即可。

原文转自:http://www.ltesting.net