Oracle Solaris 10 へのユーザ、グループ作成方法
<環境>
Oracle Solaris 10<概要>
OSユーザアカウント、グループの作成方法です。次の順序で行います。
1.グループ作成
2.ユーザ作成
ただし、作成するユーザが所属するグループが作成済みなら、「1.グループ作成」は不要です。
1.グループ作成
例として作成するグループ情報
グループ名 : testgroup グループID : 125
グループ名、グループIDが重複しないかを確認します。
# cat /etc/group | grep testgroup # cat /etc/group | grep 125
GIDを指定してグループを作成します。
# groupadd -g 125 testgroup
グループが作成されたことを確認します。
# cat /etc/group | grep 125 testgroup::125: #
参考1.グループ名を変更する方法です。
# groupmod -n dsdgrp testgroup # cat /etc/group | grep 125 dsdgrp::125: #
参考2.グループIDを変更する方法です。
# groupmod -g 126 dsdgrp # cat /etc/group | grep 125 # cat /etc/group | grep 126 dsdgrp::126: #
グループ名、グループIDの変更は作成済みグループに対して行う場合は十分注意して行って下さい。
作成済みユーザの所属グループ、作成済みのディレクトリ/ファイルの所有グループに影響します。
2.ユーザ作成
例として作成するユーザ情報
ユーザ名 : testuser ユーザID : 125 所属グループ : testgroup ログインシェル : /export/home/testuser (新規作成) ホームディレクトリ : /bin/sh
所属するグループがあることを確認します。
# cat /etc/group | grep testgroup testgroup::125: #
ユーザ名、グループID、ホームディレクトリが重複しないか確認します。
# cat /etc/passwd /etc/shadow | grep testuser # cat /etc/passwd /etc/shadow | grep 125 # ls -la /export/home/testuser /export/home/testuser: ファイルもディレクトリもありません。 #
ユーザを作成します。
# useradd -u 125 -g testgroup -m -d /export/home/testuser -s /bin/sh testuser 64 ブロック #
参考・引数の意味
useradd -u [ユーザID] -g [グループID] -m -d [ホームディレクトリ] -s [使用シェル] [ユーザ名] -m … -d オプションで指定したディレクトリがなければ作成します。 -d … ホームディレクトリを指定します。 -u … ユーザIDを指定する。 -g … 所属グループを指定します。(GIDでも指定できます) -s … ログインシェルを指定します。
注意事項
ユーザIDについて:
ユーザIDは、システムで予約済、もしくは登録済の番号があります。
一般ユーザには100 〜 60000のUIDをご使用ください。
100以下はシステムで使用します。
60001,60002 は予約済です。
65534も予約済です。
60003以上は 65534を除き、2147483647(符号付き整数の最大値)まで使えますが、制限があります(匿名用など)。
ユーザ名について:
2-8 文字の英数字を使用する必要があります。
エラー"UX: useradd: naviadmin name too long."を出力しますが、9文字以上のユーザ名も登録できます。
9文字以上のユーザ名はpsコマンドで出力外があるなど正常に動作しない原因になります。
ユーザ名は最初の1文字は英字にし、最低1文字英小文字を含める必要があります。
ユーザー名にはピリオド (.)、アンダースコア (_)、ハイフン (-) を使用できます。
しかしこれらの文字により障害が発生するソフトウェアもあるため使用しない方が良いです。
ユーザが作成されたことを確認します。
# cat /etc/passwd /etc/shadow | grep 125 testuser:x:125:125::/export/home/testuser:/bin/sh #
ホームディレクトリが作成されたことを確認します。
# ls -ld /export/home/testuser drwxr-xr-x 2 testuser testgroup 512 6月 16日 16:42 /export/home/testuser # ls -la /export/home/testuser 合計 12 drwxr-xr-x 2 testuser testgroup 512 6月 16日 16:42 . drwxr-xr-x 23 root root 512 6月 16日 16:42 .. -rw-r--r-- 1 testuser testgroup 144 6月 16日 16:42 .profile -rw-r--r-- 1 testuser testgroup 136 6月 16日 16:42 local.cshrc -rw-r--r-- 1 testuser testgroup 157 6月 16日 16:42 local.login -rw-r--r-- 1 testuser testgroup 174 6月 16日 16:42 local.profile #
ユーザ環境変数ファイルがテンプレート(/etc/skel)どおりに作成されたことを確認します。
# digest -a md5 /export/home/testuser/.profile /etc/skel/.profile (/export/home/testuser/.profile) = 0dee9c302b4006f6e38864cdd6d0b044 (/etc/skel/.profile) = 0dee9c302b4006f6e38864cdd6d0b044 # digest -a md5 /export/home/testuser/local.cshrc /etc/skel/local.cshrc (/export/home/testuser/local.cshrc) = 359e1ff919559f939861f5c709684171 (/etc/skel/local.cshrc) = 359e1ff919559f939861f5c709684171 # digest -a md5 /export/home/testuser/local.login /etc/skel/local.login (/export/home/testuser/local.login) = ce5ca13e6b28a5884cbf38e262f31100 (/etc/skel/local.login) = ce5ca13e6b28a5884cbf38e262f31100 # digest -a md5 /export/home/testuser/local.profile /etc/skel/local.profile (/export/home/testuser/local.profile) = 4b4f36166b46e3887e88a3e6db48a096 (/etc/skel/local.profile) = 4b4f36166b46e3887e88a3e6db48a096 #
参考.ハッシュ値比較:
デフォルトで作成されるユーザ環境変数ファイルは/etc/skelからコピーされます。
間違いなくコピーされているかを確認するためにハッシュ値を比較しています。
3.ユーザのパスワードを設定します。
# cat /etc/shadow | grep testuser testuser:*LK*::::::: # # passwd testuser 新しいパスワード: 新しいパスワードを再入力してください: passwd: testuser のパスワードが変更されました # # cat /etc/shadow | grep testuser testuser:ly8VERkttCvRU:15141:::::: #
備考.ユーザのパスワードが設定されるまで、rootユーザを除き、そのユーザへログインすることは出来ません。
作成したユーザへスイッチユーザが出来ることを確認します。
# su - testuser Sun Microsystems Inc. SunOS 5.10 Generic January 2005 $ id uid=125(testuser) gid=125(testgroup) $ pwd /export/home/testuser $ exit #
参考.ユーザ削除と共に、ホームディレクトリを削除する方法です。
# userdel -r testuser # cat /etc/passwd /etc/shadow | grep testuser # ls -ld /export/home/testuser /export/home/testuser: ファイルもディレクトリもありません。 #