04月13日
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も可能なので設定の変更もできるようです。
コメントシステムを利用したくない方はお問い合わせからお願いします。
2013.8.19 DISQUS(外部コメントサービス)の利用を開始しました。
Facebook, google, Twitter等のアカウントで投稿可能です。