[注意]スーパーユーザで作業をする際には、コマンドは、 フルパスで入力します。たとえば、 vipw コマンドは、 # /usr/ucb/vipw のように入力しないと実行できません。
まず、あらかじめ決めておいた項目を、一行にして、/etc/passwd の中に 付け加えます。 先の例では、次のような一行が、加えられることになります。
user1:x:10001:51::/home/sample/user1:/bin/ksh
ここでは、第二フィールドに、'x'が入っていることに留意してください。 Solarisでは、パスワードファイルのパスワードフィールドは意味を持ちません。 第五フィールドは、コメントフィールドです。
user1::8468::::::
ここで必要なのは、第一フィールドと第三フィールドだけです。 第一フィールドは、ユーザー名なので問題ありませんが、第三フィールドは ちょっと問題があります。もともとSolarisのユーザー登録では、shadowファイル を直接操作することを想定していません。/usr/ucb/vipw というコマンド自体、 その名前のとおり、BSD系のユーザー登録の手順との互換の為に用意された コマンドです。 第三フィールドには、「パスワードの最終変更日」が、ですから、 登録の場合には、 パスワードの設定日ということになりますが、1970年1月からの日数 で入ることになっています。手での計算は面倒です。パスワードのエージング を行なわないのであれば、適当な(?)数字をいれておいても大丈夫なはずです。
mkdir -p /home/sample/user1
cp ~自分のユーザ名/.* /home/sample/user1
この例では、C-shellかK-shellを使って、自分のピリオドファイルを コピーしています。もしも、そのほかのシェルでしたら、ユーザー相対の記法が 使えませんので、工夫が必要です。
chown -R user1 /home/sample/user1
chgrp -R test /home/sample/user1
edquota -p sato user1
passwd user1
このとき、新しいパスワードを2回確認の為に入れなければなりません。 ( yp または NIS, NIS+ が走っている環境では、別のコマンドになります。) /etc/shadow のパスワードフィールドを空欄にした場合は、パスワードなしの ユーザーが出来ます。これは、システムセキュリティ上非常に危険です。 スーパーユーザーが仮のパスワードを発行するようにし、ユーザーには早急に そのパスワードを変更するように連絡しましょう。
また、自分でそのユーザーとしてログインしてみて、そこで、passwd コマンドを 使って設定しても良いでしょう。(演習ではそのようにします。)