首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pam_winbind:未知选项require_membership_of

pam_winbind:未知选项require_membership_of
EN

Server Fault用户
提问于 2018-06-15 20:29:20
回答 1查看 773关注 0票数 2

我试图用Winbind配置VSFTPD,以限制由Active Directory认证的用户,仅限于属于特定组的用户。

对于vsftpd,我使用的是一个通用的conf文件,很少有更改:

代码语言:javascript
复制
$ cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/data/ftp
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=Yes
pasv_max_port=51000
pasv_min_port=50000
port_enable=yes
local_max_rate=0
use_localtime=YES
session_support=YES

配置了Winbind,并将服务器连接到域:

代码语言:javascript
复制
$ wbinfo -u
administrator
guest
...

在PAM配置文件中,我放置了这些配置文件:

代码语言:javascript
复制
$ cat /etc/pam.d/vsftpd
... (Default settings) ...
# Calls the vsftpd-winbind PAM config file:
auth     include   vsftpd-winbind
account  include   vsftpd-winbind
session  include   vsftpd-winbind

$ /etc/pam.d/vsftpd-winbind
auth        required      pam_env.so debug
auth        required      pam_winbind.so require_membership_of=GROUPNAME debug debug_state
auth        sufficient    pam_winbind.so require_membership_of=GROUPNAME debug debug_state
auth        required      pam_deny.so debug
account     sufficient    pam_winbind.so require_membership_of=GROUPNAME debug debug_state
account     required      pam_deny.so
password    required      pam_cracklib.so retry=3
password    sufficient    pam_unix.so nullok use_authtok md5 shadow
password    required      pam_deny.so
session     required      pam_mkhomedir.so skel=/etc/skel/ umask=0022
session     required      pam_limits.so
session     required      pam_unix.so

当我测试vsftpd时,下面的错误将在/var/log/secure中返回:

代码语言:javascript
复制
Jun 15 16:48:01 localhost vsftpd[2615]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=joao rhost=rj1.ticorporativa.alog.com.br  user=joao
Jun 15 16:48:01 localhost vsftpd[2615]: pam_krb5[2615]: error reading keytab 'FILE:/etc/krb5.keytab'
Jun 15 16:48:01 localhost vsftpd[2615]: pam_krb5[2615]: TGT verified
Jun 15 16:48:01 localhost vsftpd[2615]: pam_krb5[2615]: authentication succeeds for 'joao' (joao@LAB-RJ2.VMWARE)
Jun 15 16:48:01 localhost vsftpd[2615]: pam_winbind(vsftpd:account): user 'joao' granted access
Jun 15 16:48:01 localhost vsftpd[2615]: pam_winbind(vsftpd:account): pam_parse: unknown option: require_membership_of=GROUPNAME

从表面上看,我认为这是语法错误,但是我尝试了PAM配置文件中的几个sintaxes:

代码语言:javascript
复制
require_membership_of=GROUPNAME debug debug_state
require_membership_of="GROUPNAME" debug debug_state
require_membership_of=DOMAIN\\GROUPNAME debug debug_state
require_membership_of="DOMAIN\\GROUPNAME" debug debug_state
require_membership_of=GROUP_SID debug debug_state
require_membership_of="GROUP_SID" debug debug_state

在这些带有“域”的罪过中,我依赖于PAM_WINBIND手册:https://www.samba.org/samba/docs/current/man-html/pam_winbind.8.html

如果我从PAM配置文件中删除"require_membership_of“,FTP就能工作,但是很明显,组成员筛选器是不受欢迎的。

有没有人有过类似的事情可以帮忙?

EN

回答 1

Server Fault用户

发布于 2020-04-10 01:01:17

你用过Gentoo教程,对吧?我试着用它,但对我没有用。当创建/etc/pam.d/vsftpd时,它将导入公共帐户公用-auth公共会话文件。如果使用 PAM -auth-update命令,PAM可以正常工作,但vsftpd。

如果您正在使用Debian,请从上面的文件中复制内容,但将其更改。将以下内容放在/etc/pam.d/vsftpd中:

代码语言:javascript
复制
auth    required                        pam_winbind.so require_membership_of=GROUPNAME krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    [success=3 default=ignore]      pam_krb5.so minimum_uid=1000
auth    [success=2 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

account [success=1 new_authtok_reqd=done default=ignore]        pam_winbind.so
account requisite                       pam_deny.so
account required                        pam_permit.so
account required                        pam_krb5.so minimum_uid=1000

session [default=1]                     pam_permit.so
session requisite                       pam_deny.so
session required                        pam_permit.so
session optional                        pam_krb5.so minimum_uid=1000
session required        pam_unix.so
session optional                        pam_winbind.so
session optional        pam_systemd.so
session optional                        pam_mkhomedir.so

## Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# See: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/managing_smart_cards/pam_configuration_files
password required       pam_cracklib.so retry=3
password sufficient     pam_unix.so nullok use_authtok md5 shadow
password required       pam_deny.so

正如你所看到的,我没有改变核心内容,我只是做了很少的改变。确保“命令更改结果”。在@common@文件中,行pam_krb5.so放在前面,但是如果您这样说,所有域用户都将登录ftp。所以,把它放在必需的 pam_winbind.so只有您想要的GROUPNAME。之后,它在pam_krb5.so中搜索。是一个和接线员。

重要的是:如果你删除pam_permit.so行,我不知道为什么,但它不能工作。

试试这个祝你好运!

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/916884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档