sshでリモートログインしたMac OS X Leopard上でアカウント追加を行い、sudo
でそのアカウントになれるようにする必要があったので調べてみたところ、dscl
(Directory Service command line utility)というコマンドで行えることがわかりました。
以前はNetInfo(NetInfo Manager)でゴニョゴニョやったものですが、LeopardからはバックエンドがdsLocal
というデータベースに変わったので、このあたりの勝手も変わっているようです。
アカウントの一覧
$ dscl . -list /Users
アカウントの追加
$ sudo dscl . -create /Users/foo
アカウントの詳細表示
$ dscl . -read /Users/foo
また、そのままでは新しく追加したアカウントでのログインができないので、UIDの設定、ホームディレクトリの設定、パスワードの設定も行います。
UIDの設定
$ sudo dscl . -create /Users/foo UniqueID 502
ホームディレクトリの設定
$ sudo dscl . -create /Users/foo NFSHomeDirectory /Users/foo
パスワードの設定
$ sudo passwd foo
以上で、新たに追加したfoo
アカウントにsudo
することができるようになりました。