包含ldapmodify的shell脚本 - 硬编码命令

时间:2013-07-24 15:34:48

标签: linux shell active-directory ldap

我正在尝试在shell脚本中运行ldapmodify命令,但我不想指定包含命令的外部文件(-f标志)。这只是为了方便 - 外部文件中的命令是动态的,因此每次shell脚本运行ldapmodify时避免编写新文件会很好。我希望脚本基本上在命令行中输入以下内容:

prompt/> ldapmodify -v -H LDAP://111.111.111.11 -D "CN=binding_user,DC=example,DC=com" -x -w password
> dn: CN=group_name, OU=Groups, DC=example, DC=com
> changetype: modify
> add: member
> member: CN=Smith\, John, OU=Users, DC=example, DC=com
> (user presses Ctrl-D)

任何人都知道如何做到这一点?

3 个答案:

答案 0 :(得分:11)

使用“此处”文档:

ldapmodify .. <<!
dn: dc=example,dc=com
changetype: modify
replace: description
 -
add: description
description: The new description
!

例如。

答案 1 :(得分:1)

您可以将文本和管道回显到ldapmodify,如下所示:

echo "dn: CN=group_name, OU=Groups, DC=example, DC=com
changetype: modify
add: member
member: CN=Smith\, John, OU=Users, DC=example, DC=com" | \
ldapmodify -h <server:port> -D "cn=binding_user,DC=example,DC=com" -c -x -w <password>

答案 2 :(得分:0)

n2studio是100%正确的。 &#39;回波&#39;为我工作。还用&#34; .. |进行了测试sudo ldapmodify ...&#34;请标记为答案。 (我不能发表评论,没有得到50分。)