FreeBSD には、 ユーザアカウントを操作するのにさまざまなコマンドが用意されています。 もっとも一般的なコマンドを以下に示し、 それに続いて詳しい使用例を示します。
コマンド | 要約 |
---|---|
adduser(8) | コマンドラインからユーザを追加するための推奨アプリケーション |
rmuser(8) | コマンドラインからユーザを削除するための推奨アプリケーション |
chpass(1) | ユーザデータベースの情報を変更するための柔軟なツール |
passwd(1) | ユーザのパスワードを変更する簡単なコマンドラインツール |
pw(8) | ユーザアカウントのあらゆる箇所を変更する強力で柔軟なツール |
adduser(8) は、
新しいユーザを登録するためのシンプルなプログラムです。
ユーザを追加すると、
このプログラムは、/etc/passwd
と
/etc/group
を自動的に更新します。
また、新規ユーザのホームディレクトリを作成し、
/usr/share/skel
から、デフォルトで使用される設定ファイルをコピーします。
また、新しく作成されたユーザに対して、
ウェルカムメッセージをメールで送信することも可能です。
#
adduser
Username: jru
Full name: J. Random User
Uid (Leave empty for default):
Login group [jru]:
Login group is jru. Invite jru into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/jru]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : jru
Password : ****
Full Name : J. Random User
Uid : 1001
Class :
Groups : jru wheel
Home : /home/jru
Shell : /usr/local/bin/zsh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no
Goodbye!
#
入力したパスワードは画面に表示されませんので、 ユーザアカウントを作成する際には、 パスワードを間違えて入力してしまわないように注意してください。
システムから完全にユーザを削除するには、 rmuser(8) を使います。 このコマンドは、次の手順を実行します。
指定されたユーザの crontab(1) エントリが存在する場合には削除。
指定されたユーザの at(1) ジョブをすべて削除。
指定されたユーザが所有するすべてのプロセスを強制終了。
ローカルパスワードファイルから、 指定されたユーザのエントリを削除。
指定されたユーザのホームディレクトリを削除 (ディレクトリの所有者が指定されたユーザのものだった場合)。
/var/mail
から、指定されたユーザの到着メールファイルを削除。
/tmp
のような一時ファイル保存領域から、
指定されたユーザの所有するファイルを削除。
そして最後に、
/etc/group
にある
すべてのグループから、指定されたユーザを削除します。
指定されたユーザと同じ名前のグループで、 そのユーザが削除されると空のグループとなる場合は、 そのグループ自体が削除されます。 これは adduser(8) によってユーザごとに作成される、 ユニークなグループに対応するものです。
スーパユーザアカウントの削除に rmuser(8) を利用することはできません。 スーパユーザアカウントの削除はほとんどすべての場合、 大規模なシステムの破壊を意味するからです。
デフォルトでは、以下の例のような対話モードが使われます。
rmuser
による対話的なアカウントの削除#
rmuser jru
Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Updating password file, updating databases, done.
Updating group file: trusted (removing group jru -- personal group is empty) done.
Removing user's incoming mail file /var/mail/jru: done.
Removing files belonging to jru from /tmp: done.
Removing files belonging to jru from /var/tmp: done.
Removing files belonging to jru from /var/tmp/vi.recover: done.
#
chpass(1) を用いて、 パスワード、シェル、その他の個人情報といった、 ユーザデータベース情報を変更できます。
スーパユーザ権限に限り、 chpass(1) を用い、 他のユーザの情報やパスワードを変更できます。
ユーザ名の他にオプションを指定しないと、 chpass(1) はユーザ情報を編集するエディタを表示します。 ユーザがエディタを終了すると、 ユーザデータベースが新しい情報に更新されます。
スーパユーザでない場合は、 エディタを抜けた後にパスワードを聞かれます。
chpass
ユーザは、この情報の限られた部分のみ変更が可能です。 また、変更できるのはそのユーザ自身のアカウント情報のみです。
chpass
passwd(1) は、 ユーザが自分のパスワードを変更する通常の方法です。 スーパユーザ権限では、 他のユーザのパスワードを変更するのに使われます。
誤って、または不正なパスワードの変更を避けるため、 新しいパスワードを設定する前に、 もとのパスワードを入力しなければなりません。 スーパーユーザの権限でユーザのパスワードを変更する際には、 もとのパスワードを入力する必要はありません。
%
passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done#
passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: donechpass(1) 同様、yppasswd(1) は、 passwd(1) へのリンクになっていますので、 NIS はどちらのコマンドでも動作します。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。