Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

usermod

ユーザのアカウントを変更する
2015/05/20 08:00

対応OS: linux , solaris
usermod [-d HOME [-m]] [-g MAINGROUP] [-G GROUP...]
[-l NEWLOGIN] [-s SHELL] [-u UID [-o]] [-L|-U] LOGIN

 usermodコマンドは、LOGINで指定したユーザのアカウント情報の設定を変更します。

オプション
① -d HOME
新しいホームディレクトリ(ログイン時のディレクトリ)のディレクトリ名を「HOME」で指定します。
② -m
-dオプションを指定した場合に有効なオプションです。このオプションを指定すると、現在のホームディレクトリの中身が新しいホームディレクトリに移動されます。指定したディレクトリが存在しない場合は新たに作成されます。
③ -g MAINGROUP
新しい主グループのグループ名またはグループIDを「MAINGROUP」に指定します。グループ名はすでに存在するものでなければなりません。
④ -G GROUP...
新しい補助グループのリストを「GROUP...」に指定します。複数の補助グループに属する場合は、グループ名をカンマ( , )で区切って指定します。指定するグループ名は存在するものでなければなりません。
⑤ -l NEWLOGIN
ユーザ名を変更する場合に、新しいユーザ名を「NEWLOGIN」に指定します。
⑥ -s SHELL
新しいログインシェル名を「SHELL」に指定します。
⑦ -u UID [-o]
ユーザIDを変更する場合に、新しいユーザIDを「UID」に指定します。ユーザIDはまだ使用されていないものを指定しなければなりません。しかし、「-o」を指定することで、すでに登録されているユーザIDを「UID」に使用することができます。
⑧ -L|-U
-Lでユーザのパスワードをロックし、ログインできないようにします。-Uを指定することにより、このロックを解除して使用可能にできます。
グループ

 UNIXでは、利用者をユーザとグループで管理します。ユーザはひとつ以上のグループに属し、同一グループのユーザ間でのみファイルを参照するというようなことが可能です

引数
① LOGIN
アカウント情報を変更する既存のユーザ名を指定します。
user001をuser0001に変更する
# usermod -d /home/users -s /bin/bash -l user0001 user001 
# su - user0001
user0001 $
ホームディレクトリを「/home/users」に変更し、シェルを「t c s h 」から「bash」に変更する
従来使用していたホームディレクトリ内のファイルは移動しない
HINT!

 suコマンド

コードと名前

 ユーザは名前で管理されているように見えますが、UNIXシステムとしては、ユーザIDで管理しています。ですから、同じ名前のユーザでも他のUNIXシステムではユーザIDが異なるという場合もあるわけです。逆に複数のシステムで異なるユーザ名を使用している場合がありますが、実はユーザIDは同じであるといったことが存在します。ちょっと複雑ですが、コンピュータの世界では、管理するものはコードである場合が多く、人間はこのコードが苦手だということで、覚えやすい名前に変換して使用するという方法がいろいろな場合に発生します。

関連タグ

UNIXコマンド辞典トップページに戻る

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5