web-dev-qa-db-ja.com

スクリプトを介してOpenDirectoryサーバーを追加するにはどうすればよいですか?

まったく新しいイメージ化されたコンピューターでシェルスクリプトを介してOpenDirectoryサーバーを追加するための最良の方法は何ですか?

InstaDMGを使用して新しいイメージを作成しましたが、ディレクトリユーティリティを使用して手動で追加するのではなく、シェルスクリプトを使用してOpen DirectoryServerを追加したいと思います。

コンピュータはOpenDirectoryをバインドする必要はありません。 (クライアント:10.5.7、サーバー:10.4.11)

3
Chealion

イメージをデプロイしていたメソッド(Deploy Studio)には、Open Directoryバインディングを実行するためのスクリプトが既に含まれていることがわかりました。スクリプトを少し変更して、質問に答えるためのスクリプトの要点を示しました。この例では、匿名バインディングのみを使用しています(ODサーバーに明示的にバインドされていません)。

#!/bin/sh

# Used ds_open_directory_binding.sh (v1.6) from Deploy Studio as a base for the explicit question.
# I recommend downloading Deploy Studio (http://deploystudio.com) to see other methods but the crux
# of how it is done can be read here. (eg. no error checking here)

#Enable LDAPv3 Plugin
defaults write /Library/Preferences/DirectoryService/DirectoryService "LDAPv3" Active 2>&1
chmod 600 /Library/Preferences/DirectoryService/DirectoryService.plist 2>&1

/usr/sbin/ipconfig waitall

#Configure LDAP
dsconfigldap -a 'server.example.com' 2>&1

#Restart DS
killall DirectoryService
sleep 5

#Create Search Policy
dscl localhost -create /Search SearchPolicy CSPSearchPath 2>&1

#Create Contacts
dscl localhost -create /Contact SearchPolicy CSPSearchPath 2>&1

#Add OD Server to the search path
dscl localhost -append /Search CSPSearchPath '/LDAPv3/server.example.com' 2>&1

#Add OD Server to Contact Search Policy
dscl localhost -append /Contact CSPSearchPath '/LDAPv3/server.example.com' 2>&1
4
Chealion