OpenLDAP:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
第35行: 第35行:


== 常用指令 ==
== 常用指令 ==
 這邊會列出日常營運常用的指令。
 這邊會列出日常營運常用的指令 。其中<code>ldap*</code>系列指令有一些共通參數:
* 表示操作使用者的<code>-D</code>,通常會使用管理員帳號操作,即
<code>-D 'cn=Manager,dc=example,dc=com'</code>。
* 表示操作使用者密碼的<code>-y</code>,後面接檔案名稱,像是<code>-y ~/passwd-Manager.txt</code>。另外一種輸入密碼的方式為<code>-W</code>,表示程式執行時手動輸入密碼


=== 新增使用者 ===
=== 新增使用者 ===
 指令:
 指令:
<syntaxhighlight lang="shell-session">
<syntaxhighlight lang="shell-session">
$ ldapmodify -x -y "${BASEDIR}"/passwd-Manager.txt -f user.ldif
$ ldapmodify -x -y ~/passwd-Manager.txt -f user.ldif
</syntaxhighlight>
</syntaxhighlight>



2018年3月30日 (五) 08:12的版本

OpenLDAP是一套LDAP伺服器软体。

安装

由于OpenLDAP 2.4在2007年十月发行,至今只有一直发行minor release,所以通常都可以透过系统的套件装到合理的版本:

# apt install slapd

另外会安装ldap-utils,主要是因为CLI下常用的工具不在OpenLDAP内提供,而是透过第三方的方式操作(像是ldapmodifyldapdelete这些指令):

# apt install ldap-utils

设定

Ubuntu 16.04内的版本预设会使用目录结构设定档(预设读取/etc/ldap/slapd.d/整个目录),但这跟网路上一般使用单档设定不同(通常会是/etc/ldap/slapd.conf),所以我们要告知slapd使用档案设定档。

这要修改/etc/default/slapd的内容,将SLAPD_CONF参数从空的值改为/etc/ldap/slapd.conf

# Default location of the slapd.conf file or slapd.d cn=config directory. If
# empty, use the compiled-in default (/etc/ldap/slapd.d with a fallback to
# /etc/ldap/slapd.conf).
SLAPD_CONF=/etc/ldap/slapd.conf

同时我们要将范本复制过来修改(范本在/usr/share/slapd/slapd.conf这边),里面有一些变数需要设定:

  • @BACKEND@设为mdb
  • @SUFFIX@设为dc=example,dc=com
  • @ADMIN@设为cn=Manager,dc=example,dc=com

其中的dc=example,dc=com为范例,可以依照实际组织设定。

另外因为使用mdb,需要将dbconfig的参数都删除掉(这些是给BerkeleyDB,也就是bdb使用)。

常用指令

这边会列出日常营运常用的指令。其中ldap*系列指令有一些共通参数:

  • 表示操作使用者的-D,通常会使用管理员帐号操作,即

-D 'cn=Manager,dc=example,dc=com'

  • 表示操作使用者密码的-y,后面接档案名称,像是-y ~/passwd-Manager.txt。另外一种输入密码的方式为-W,表示程式执行时手动输入密码。

新增使用者

指令:

$ ldapmodify -x -y ~/passwd-Manager.txt -f user.ldif

对应的LDIF:

dn: uid=${USERNAME},ou=People,dc=example,dc=com
changetype: add
objectClass: inetOrgPerson
cn: ${USERNAME}
gn: ${FIRSTNAME}
sn: ${LASTNAME}
uid: ${USERNAME}
userPassword: ${PASSWORD_APR1MD5}

外部连结