コマンドラインでユーザ作成 at MacOS X
コマンドラインでユーザ作成 at MacOS X
0.改訂履歴
- 2008.01.16 新規作成
- 2008.04.03 UID,GIDの調べ方について記述の追加
1.はじめに
このドキュメントでは,MacOS Xにて,コマンドラインでユーザを作成する手順を説明する.
MacOS Xでは,SolarisやLinuxのようにuseraddやadduserコマンドが用意されておらず,また/etc/passwdファイルを編集するのでは無く,NetInfoというNEXTSTEP時代からのデータベース管理でユーザ管理を行っているので,それに対応したコマンドを利用して登録する事になる.
具体的には,niclコマンド(NetInfo Command Line utility)を使い,グループを作成した後,ユーザアカウントを作成する. 作成したユーザおよびグループは,nidumpを利用して確認をする.
今回利用したのは,MacOS X 10.4.11のクライアントバージョンである.
2.グループの作成
- 最初にグループを作成する.
- まず,グループ名をsuzukiで作成する.
- ちなみに,ここで指定しているパスは,ファイルシステム上のディレクトリではなく,NetInfo上でのパスである.
gacky:/Users/ujpadmin root# nicl . -create /groups/suzuki password "*"
gacky:/Users/ujpadmin root#
|
- 作成したグループ名に,グループIDを設定する.
- 既にあるグループIDやユーザIDと重複しない様に調べるには,このあとに説明してあるnidumpコマンドを利用する.
gacky:/Users/ujpadmin root# nicl . -append /groups/suzuki gid 601
gacky:/Users/ujpadmin root#
|
- そのグループに,所属するユーザアカウントを設定する.
gacky:/Users/ujpadmin root# nicl . -append /groups/suzuki users suzuki
gacky:/Users/ujpadmin root#
|
gacky:/Users/ujpadmin root# nidump group . | grep suzuki
suzuki::601:suzuki
gacky:/Users/ujpadmin root#
|
- 普通のUNIXで/etc/groupファイルを見ているのと同じ.
3.ユーザを作成する.
gacky:/Users/ujpadmin root# mkdir /Users/suzuki
gacky:/Users/ujpadmin root#
|
- ユーザを作成する.
- ここで指定するパスは,NetInfoデータベース上のものでファイルシステムとは違うので注意する.
gacky:/Users/ujpadmin root# nicl . -create /users/suzuki
gacky:/Users/ujpadmin root#
|
gacky:/Users/ujpadmin root# nicl . -append /users/suzuki group suzuki
gacky:/Users/ujpadmin root#
|
gacky:/Users/ujpadmin root# nicl . -append /users/suzuki gid 601
gacky:/Users/ujpadmin root#
|
gacky:/Users/ujpadmin root# nicl . -append /users/suzuki uid 601
gacky:/Users/ujpadmin root#
|
gacky:/Users/ujpadmin root# nicl . -append /users/suzuki home /Users/suzuki
gacky:/Users/ujpadmin root#
|
gacky:/Users/ujpadmin root# nidump passwd .|grep suzuki
suzuki::601:601::0:0::/Users/suzuki:/bin/bash
gacky:/Users/ujpadmin
|
gacky:/Users/ujpadmin root# passwd suzuki
Changing password for suzuki.
New password:
Retype new password:
gacky:/Users/ujpadmin root#
|
- ホームディレクトリのオーナーを設定する.
- まずは,ユーザディレクトリに移動する.
gacky:~ root# cd /Users
gacky:/Users root#
|
gacky:/Users root# ls -la
total 0
drwxrwxr-t 12 root admin 408 Jan 17 17:12 .
drwxrwxr-t 33 root admin 1224 Jan 9 15:52 ..
-rw-r--r-- 1 root wheel 0 Dec 7 2006 .localized
drwxrwxrwt 4 root wheel 136 Mar 8 2007 Shared
drwxr-xr-x 2 root admin 68 Jan 17 17:12 suzuki
gacky:/Users root#
|
gacky:/Users root# cd suzuki/
gacky:/Users/suzuki root# ls -la
total 0
drwxr-xr-x 2 suzuki suzuki 68 Jan 17 17:12 .
drwxrwxr-t 12 root admin 408 Jan 17 17:12 ..
gacky:/Users/suzuki root#
|
- GUIで作成すると,幾つかのサブディレクトリが作成されているが,コマンドラインで作成した場合は無い.
- テンプレートを使って,ディレクトリを作成する.
gacky:/Users root# ditto -rsrc -rsrcFork '/System/Library/User Template/Japanese.lpr
oj' /Users/suzuki
gacky:/Users/shinohara root# ls -la /Users/suzuki
total 8
drwxr-xr-x 11 suzuki suzuki 374 Jan 17 18:50 .
drwxrwxr-t 12 root admin 408 Jan 17 17:12 ..
-rw-r--r-- 1 root wheel 4 Feb 3 2005 .CFUserTextEncoding
drwx------ 3 root wheel 102 Jul 15 2006 Desktop
drwx------ 3 root wheel 102 Jul 15 2006 Documents
drwx------ 16 root wheel 544 Jul 15 2006 Library
drwx------ 3 root wheel 102 Jul 15 2006 Movies
drwx------ 3 root wheel 102 Jul 15 2006 Music
drwx------ 3 root wheel 102 Jul 15 2006 Pictures
drwxr-xr-x 4 root wheel 136 Jul 15 2006 Public
drwxr-xr-x 5 root wheel 170 Mar 8 2007 Sites
gacky:/Users/shinohara root#
|
- オーナーがrootユーザになっているので,作成したユーザに変更する.
gacky:/Users root# chown -R suzuki:suzuki suzuki
gacky:/Users root#
|