找回密码
 注册
首页 ≡≡网络技术≡≡ 服务器 使用pam禁止用户ssh登录但可使用ftp

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

灰儿 2010-11-29 12:51:30
本帖最后由 灰儿 于 2010-11-29 13:20 编辑

PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些
动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理
员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于
向系 统中添加新的认证手段。
PAM最初是集成在Solaris中,目前已移植到其它系统中,如Linux、SunOS、HP-UX 9.0等


   有时候希望某用户只能登录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即可。
您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。