檢視 LDAP 的原始碼
←
LDAP
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
'''LDAP'''指的是'''Lightweight Directory Access Protocol''',是一個開放標準。經常被用在管理使用者帳號及權限。 == 使用者操作 == 使用者最常用的操作應該就是修改密碼: <syntaxhighlight lang="shell-session"> $ ldappasswd -x -D 'uid=gslin,ou=People,dc=example,dc=com' -W -S </syntaxhighlight> == 系統操作 == 在[[Ubuntu]]上可以透過<code>ldap-utils</code>裡面的軟體對LDAP伺服器操作,其中<code>ldap*</code>系列指令有一些共通參數: * 表示操作使用者的<code>-D</code>,通常會使用管理員帳號操作,像是<code>-D 'cn=Manager,dc=example,dc=com'</code>或是<code>-D 'cn=admin,dc=example,dc=com'</code>。 * 表示base的<code>-b</code>,像是<code>-b 'dc=example,dc=com'</code>。 這些參數可以透過<code>~/.ldaprc</code>的設定讓使用者不需要每次都輸入: <pre> BASE dc=example,dc=com BINDDN cn=Manager,dc=example,dc=com </pre> 另外密碼是每次都得輸入的項目: * 表示操作使用者密碼的<code>-y</code>,後面接檔案名稱,像是<code>-y ~/passwd-Manager.txt</code>。另外一種輸入密碼的方式為<code>-W</code>,表示程式執行時手動輸入密碼。 === 新增使用者 === 這邊是選用<code>inetOrgPerson</code>處理,要給Unix-like系統帳號使用的,可以考慮用<code>posixAccount</code>。 指令: <syntaxhighlight lang="shell-session"> $ ldapmodify -x -y ~/passwd-Manager.txt -f user.ldif </syntaxhighlight> 對應的LDIF: <pre> dn: uid=${USERNAME},ou=People,dc=example,dc=com changetype: add objectClass: inetOrgPerson cn: ${USERNAME} gn: ${FIRSTNAME} sn: ${LASTNAME} uid: ${USERNAME} userPassword: ${PASSWORD_APR1MD5} </pre> 上面的行為可以寫一隻script使用(需要自行修改<code>BASEDN</code>): <syntaxhighlight lang="bash"> #!/bin/bash work() { local BASEDN BASEDN="dc=example,dc=com" local MAILBASE MAILBASE="example.com" local BASEDIR BASEDIR=$(dirname "${BASE_SOURCE}") local DISPLAYNAME local FIRSTNAME local LASTNAME local PASSWORD local PASSWORD_APR1MD5 local USERNAME read -p 'Username: ' -r USERNAME read -p 'Display name: ' -r DISPLAYNAME read -p 'First name: ' -r FIRSTNAME read -p 'Last name: ' -r LASTNAME stty -echo read -p 'Password: ' -r PASSWORD stty echo PASSWORD_APR1MD5=$(slappasswd -h '{CRYPT}' -c '$1$%.8s' -s "${PASSWORD}") cat <<EOF | ldapmodify -x -y "${BASEDIR}"/passwd-Manager.txt dn: uid=${USERNAME},ou=People,${BASEDN} changetype: add objectClass: inetOrgPerson cn: ${USERNAME} displayName: ${DISPLAYNAME} gn: ${FIRSTNAME} mail: ${USERNAME}@${MAILBASE} sn: ${LASTNAME} uid: ${USERNAME} userPassword: ${PASSWORD_APR1MD5} EOF } work </syntaxhighlight> === 查詢使用者 === 一般情況下,不需要拉出密碼欄位時可以用anonymous的方式列出(不指定密碼相關指令時會自動變成anonymous行為),像是這樣: <syntaxhighlight lang="shell-session"> $ ldapsearch -x 'uid=gslin' </syntaxhighlight> 如果有需要拉出密碼欄位需求時,會需要登入(這邊有透過<code>~/.ldaprc</code>減少輸入的參數): <syntaxhighlight lang="shell-session"> $ ldapsearch -x -y ~/passwd-Manager.txt 'uid=gslin' </syntaxhighlight> === 刪除使用者 === 刪除會透過有寫入權限(刪除權限)的帳號來處理,會需要指定<code>dn</code>欄位,也就是完整的名稱: <syntaxhighlight lang="shell-session"> $ ldapdelete -x -y ~/passwd-Manager.txt 'uid=gslin,ou=People,dc=example,dc=com' </syntaxhighlight> === 修改使用者密碼 === 在忘記密碼時可以用,這需要管理員權限才能改: <syntaxhighlight lang="shell-session"> $ ldappasswd -x -D 'cn=Manager,dc=example,dc=com' -W -S 'uid=gslin,ou=People,dc=example,dc=com' </syntaxhighlight> == 相關連結 == * [[OpenLDAP]]
返回到「
LDAP
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
臺灣正體
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊