UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

コマンドラインでユーザ作成 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# 
  • 所属するグループのIDを設定する.
gacky:/Users/ujpadmin root# nicl . -append /users/suzuki gid 601
gacky:/Users/ujpadmin root#
  • 作成したユーザアカウントのuidを設定する.
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# 
  • 以上


広告スペース
Google