首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许/转义Linux PAM模块中的空格

允许/转义Linux PAM模块中的空格
EN

Stack Overflow用户
提问于 2013-07-19 02:47:14
回答 1查看 606关注 0票数 1

我遇到了一个关于Active Directory和PAM的问题,但这也适用于其他地方。

设置Yubikey over PAM以利用具有VPN连接的双因素身份验证,我需要为联系AD/LDAP服务器的绑定用户设置一个binddn。不幸的是,在binddn中有一个容器,里面有一个空格,PAM不允许这个空格,也不让我转义它。示例:

代码语言:javascript
复制
/etc/pam.d/radiusd

auth       required     pam_yubico.so id=16 debug ldap_uri=ldap://ad-server.local ldapdn=DC=company,DC=local binddn=CN=binduser,OU=users,OU=other accounts,OU=departments,DC=company,DC=local bindpw=5up3rpa55w0rd user_attr=sAMAccountName yubi_attr=employeeNumber

我尝试过OU="other accounts",OU=other\ accounts,OU='other accounts',并将整个绑定放在双引号和单引号中。每次在PAM调试中,我都会得到这样的结果:

代码语言:javascript
复制
[pam_yubico.c:parse_cfg(747)] called.
[pam_yubico.c:parse_cfg(748)] flags 0 argc 9
[pam_yubico.c:parse_cfg(750)] argv[0]=id=16
[pam_yubico.c:parse_cfg(750)] argv[1]=debug
[pam_yubico.c:parse_cfg(750)] argv[2]=ldap_uri=ldap://ad-server.local
[pam_yubico.c:parse_cfg(750)] argv[3]=ldapdn=DC=company,DC=local
[pam_yubico.c:parse_cfg(750)] argv[4]=binddn=CN=binduser,OU=users,OU=other
[pam_yubico.c:parse_cfg(750)] argv[5]=accounts,OU=departments,DC=company,DC=local
[pam_yubico.c:parse_cfg(750)] argv[6]=bindpw=5up3rpa55w0rd 
[pam_yubico.c:parse_cfg(750)] argv[7]=user_attr=sAMAccountName
[pam_yubico.c:parse_cfg(750)] argv[8]=yubi_attr=employeeNumber

如您所见,在列表中显示空格、引号或转义字符作为binddn的一部分后,它会被截断,如下所示:

代码语言:javascript
复制
[pam_yubico.c:parse_cfg(750)] argv[4]=binddn=CN=binduser,OU=users,OU=other\
[pam_yubico.c:parse_cfg(750)] argv[5]=accounts,OU=departments,DC=company,DC=local

我该怎么做才能让PAM识别出这个空格不是用来分隔另一个字段的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-19 03:11:49

从有用的文档中输入man pam.d:(重点补充)

PAM模块参数是一个空格分隔的标记列表,可用于修改给定

的特定行为。这些参数将被记录在每个单独的模块中。请注意,如果您希望在参数中包含空格,则应该用方括号将该参数括起来。

下面的文本包括一些关于如何处理包含方括号的参数的说明,以及一行示例。

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

https://stackoverflow.com/questions/17731555

复制
相关文章

相似问题

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