macのユーザ情報管理はOpenDirectoryだった
ことの発端は、~/.bashrcに自分用の設定を追加しようと思い立った時でした。
OSX では~/.bashrcファイルがデフォルトで存在しない、ということに気づきます。
新規に作成した.bashrcはそのままでは有効になりません。
man bashによると
bash起動時に/etc/profileを読み込み、さらに~/.bash_profile、 ~/.bash_login 、 ~/.profileを探すようです。
~/.bash_profieに~/.bashrcへの参照を追加すればいいことが判ります。
ターミナルを起動した時に実行させるshellはbashなのか?
と何気なく、確認しました。
/etc/passwd、/etc/master.passwdファイルを確認しますが、自分で作ったアカウントが一切ありません
man loginを確認したところSEE ALSOにchpassというコマンドがありました。
chpassは、ユーザーデータベース情報の更新、追加用のコマンドでした。
$chpass
# Changing user information for USERNAME.
# Use "passwd" to change the password.
##
# Open Directory: /Local/Default
##
Shell: /bin/bash
Full Name: FULL USER NAME
Office Location:
Office Phone:
Home Phone:
実ファイルは一体どこにあるのか、さっぱりわかりませんが
どうやらこのコマンドでshellがbashであることが確認できるようです。
Open Directoryというキーワードに気づきます。
ここでgoogle先生に確認したところ
dsclというコマンドがDirectory Service command line utility、つまりOpen Directoryを操作するためのコマンドであることがわかりました
macに登録したユーザー一覧は以下コマンドで見ることができました。
$dscl
Entering interactive mode... (type "help" for commands)
> cd Local/Default/Users
> ls
登録済みユーザのリストが出力されます。
さらに
> cd ユーザ
> read
とすることで
Pciture(ログインのイメージ画像)、PrimaryGroupID、RealName、RecordName、UniqueID、UserShellなどの情報が獲得できます。
/Contact/Users/でも同様の結果が得られました。
試していませんが、writeも可能なので設定の変更もできるようです。
OSX では~/.bashrcファイルがデフォルトで存在しない、ということに気づきます。
新規に作成した.bashrcはそのままでは有効になりません。
man bashによると
bash起動時に/etc/profileを読み込み、さらに~/.bash_profile、 ~/.bash_login 、 ~/.profileを探すようです。
~/.bash_profieに~/.bashrcへの参照を追加すればいいことが判ります。
ターミナルを起動した時に実行させるshellはbashなのか?
と何気なく、確認しました。
/etc/passwd、/etc/master.passwdファイルを確認しますが、自分で作ったアカウントが一切ありません
man loginを確認したところSEE ALSOにchpassというコマンドがありました。
chpassは、ユーザーデータベース情報の更新、追加用のコマンドでした。
$chpass
# Changing user information for USERNAME.
# Use "passwd" to change the password.
##
# Open Directory: /Local/Default
##
Shell: /bin/bash
Full Name: FULL USER NAME
Office Location:
Office Phone:
Home Phone:
実ファイルは一体どこにあるのか、さっぱりわかりませんが
どうやらこのコマンドでshellがbashであることが確認できるようです。
Open Directoryというキーワードに気づきます。
ここでgoogle先生に確認したところ
dsclというコマンドがDirectory Service command line utility、つまりOpen Directoryを操作するためのコマンドであることがわかりました
macに登録したユーザー一覧は以下コマンドで見ることができました。
$dscl
Entering interactive mode... (type "help" for commands)
> cd Local/Default/Users
> ls
登録済みユーザのリストが出力されます。
さらに
> cd ユーザ
> read
とすることで
Pciture(ログインのイメージ画像)、PrimaryGroupID、RealName、RecordName、UniqueID、UserShellなどの情報が獲得できます。
/Contact/Users/でも同様の結果が得られました。
試していませんが、writeも可能なので設定の変更もできるようです。