星期三, 8月 22, 2018

LDAP for testing environment

想在測試環境管理另一套帳號,雖然 OpenLDAP 安裝不算太複雜,不過要寫小程式或準備 ldif 建帳號都有點麻煩,可以考慮 LDAP Admin。不像以前常用的 jxplorer 需要 Java,它可以直接裝在 Windows 上(不能跨平台就是了),可以直接視覺化看到目錄結構(這不希奇),可以直接增刪修查物件(厲害了吧),而且像新增使用者這麼多必填屬性的情況,只要 Second name 填好,其他有些欄位會連動,再補個 Home Directory 輸入正斜線就夠了。
為了資安與權限,還要讓使用者有機會修改預設密碼,雖然 ldappasswd 很簡單,但不是每個使用者都有 Linux 環境,也都願意下指令。替代方案是這個 Docker Image,一個最單純的啟動範例:
  • docker run -d -p 80:80 --name lssp
  • -e LDAP_HOST=172.16.1.2
  • -e LDAP_PORT=389
  • -e LDAP_BASE=dc=acme,dc=com
  • -e LDAP_USER=cn=Manager,dc=acme,dc=com
  • -e LDAP_PASS=xxxx
  • dtwardow/ldap-self-service-password
如此一來,使用者就有個容易使用的介面可以修改密碼了。特別要注意的是 LDAP_HOST,因為是從 docker container 往外看,真正的 DNS 不一定幫得上忙,用位址還是比較保險。
奉送一首小插曲:明明在 ubuntu 試過可以了,搬到 CentOS7 結果出個莫名其妙的狀況,「AH00534: apache2: Configuration error: No MPM loaded.」,似乎是檔案系統的問題。雖然看不太懂,不過以下解法有用(出處有些錯字,校正後如下):
  • docker stop lssp
  • systemctl stop docker
  • dd if=/dev/zero of=docker_fs bs=1G count=2(開 2G 的空間,不夠的話加大 count)
  • mkfs -t xfs -n ftype=1 docker_fs
  • mount -o loop docker_fs /var/lib/docker
  • 在 /etc/fstab 新增一行 /path/to/docker_fs /var/lib/docker xfs rw,loop,auto 0 0
  • systemctl start docker
  • docker start lssp

沒有留言:

張貼留言