Linux ユーザーを学ぼう

ユーザーとは

Linuxを利用するユーザーは、あらかじめLinuxにユーザーアカウントが登録されている必要があります。
ユーザーアカウントとは、ユーザー名とパスワードの組み合わせの事で、これらを使ってLinuxのログイン時に認証を行います。

ユーザーの種類

Linuxのユーザーには、以下の3つの種類があります。

ユーザーの種類説明
管理者ユーザー(rootユーザー)システム全体を制御する権限を持っています。
何でも実行できます。
システムユーザー特定のプログラムやサーバーソフトウェア等を実行する為に使われる特別なユーザーです。
ログインでは使用しません。
一般ユーザーシステムを利用する為のユーザーです。
ユーザーやソフトウェアを追加したりシステムの設定を変更する事はできません。
ユーザーの種類

ユーザーID

ユーザーには固有のID番号が割り当てられています。
これをユーザーID(UID:UserID)といいます。
Linuxでは、ユーザーIDはユーザーの種類ごとに割り当てられ、ユーザーの識別に使われます。
ユーザーIDを確認するには、idコマンドを利用します。

id コマンド

コマンド説明
idユーザーIDとグループIDを表示する。
書式id [オプション] [ユーザー名]
オプション-u , –user ユーザーのUIDのみを表示する
-g , –group グループのGIDのみを表示する
-G, –groups 所属しているグループのGIDを表示する
実行例1rootユーザーについて表示する

$ id root
実行例2現在のユーザーについて表示する

$ id
id コマンド

ユーザーIDの割り当て

ユーザーの種類ユーザーID
管理者ユーザー(rootユーザー) 0
システムユーザー 1 ~ 99
一般ユーザー 100以上
※ディストリビューションによって異なる場合があります。
ユーザーIDの割り当て

rootユーザーへの切り替え

rootユーザーは、システム全体を制御する権限を持っていますので、操作ミスによってシステム全体に影響を与えてしまう事が考えられます。
その為、通常は一般ユーザーでログインしてシステムを利用し、rootユーザーの権限が必要になった時のみ、一時的にrootユーザーへ切り替えます。

rootユーザーへの切り替えには、suコマンドを利用します。
root権限が必要な作業が終わった場合には、exitコマンドで元のユーザーへ戻ります。

また、suコマンドでrootユーザーに切り替えるのではなく、一般ユーザーのままで、管理者権限が必要なコマンドを実行するsudoコマンドもあります。

su コマンド

コマンド説明
suユーザーIDを変更する。
変更時には変更先ユーザーのパスワード入力が求められます。
書式su [-] [ユーザー名]
オプション- 変更後のユーザーで直接ログインしたときと同じ状態に初期化される
実行例1一般ユーザーからrootユーザーへ切り替える
$ su
実行例2centouserユーザーでログインした時と同じ状態になる
$ su – centouser
su コマンド

exit コマンド

コマンド説明
exit シェルを終了する。
書式exit
実行例$ exit
exit コマンド

sudo コマンド

コマンド説明
sudo別のユーザーとしてコマンドを実行する。
指定したユーザー(一般的にはrootユーザー)としてコマンドを実行します。
※ suduコマンドの利用には、あらかじめ/etc/sudoersファイルへの登録、またはwheelグループに追加する必要があります。
書式sudo [オプション] コマンド
オプション-i , –login 指定したユーザーでログインシェルを起動する
-s , –shell 指定したユーザーでシェルを起動する
-u ユーザー名 , –user=ユーザー名 指定したユーザーで実行する
実行例rootユーザーとしてログインする
$ sudo -i
sudo コマンド

ユーザー管理に関連するコマンド

useradd コマンド

コマンド説明
useraddユーザーを作成する。
書式useradd [オプション] ユーザー名
オプション-d ディレクトリ , –directory ディレクトリ ホームディレクトリを指定する
-g グループ名 , –gid グループ名 プライマリグループを指定する
-G グループ名 , –groups グループ名 サブグループを指定する
-u UID , –uid UID  UIDを指定する
実行例centouser2ユーザーを追加する
# useradd centouser2
useradd コマンド

passwd コマンド

コマンド説明
passwdユーザーのパスワードを設定する。
一般ユーザーは自分自身のパスワードのみ変更できます。
rootユーザーは全ユーザーのパスワードを変更できます。
書式passwd [オプション] [ユーザー名]
オプション-d , –delete 指定したユーザーのパスワードを削除する。
-l , –lock アカウントをロックする。
-u , –unlock アカウントのロックを解除する。
実行例centouser2ユーザーのパスワードを変更する
# passwd centouser2
passwd コマンド

userdel コマンド

コマンド説明
userdelユーザーを削除する。
ユーザー名のみ指定して削除した場合は、ユーザーのホームディレクトリは残されます。
ホームディレクトリも削除する場合は、-r オプションを指定します。
書式userdel [オプション] ユーザー名
オプション-r , remove ホームディレクトリも削除する
実行例# userdel -r centouser2
userdel コマンド

usermod コマンド

コマンド説明
usermodユーザー情報を変更する。
書式 usermod [オプション] ユーザー名
オプション-a , –append 参加するサブグループを指定する
-c コメント , –comment コメント コメントを追加する
-d ディレクトリ, –home ディレクトリ ホームディレクトリを指定する
-g グループ名 , –gid グループ名 プライマリグループを指定する
-G グループ名 , –groups グループ名 サブグループを指定する
-u UID , –uid UID  UIDを指定する
-L , –lock ユーザーアカウントをロックする。
-U , –unlock ユーザーアカウントのロックを解除する。
実行例centouserユーザーをwheelグループに参加させる
# usermod -a -G wheel centouser
usermod コマンド

/etc/passwd ファイル

作成したユーザーの情報は、「/etc/passwd」ファイルで確認できます。
コマンド:$ cat /etc/passwd を実行

ユーザー情報は、以下の様に表示されます。
「:」によって7つに分けられて、それぞれの値を示しています。

① ユーザー名
② 旧パスワード(現在はxのみ)
③ ユーザーID
④ グループID
⑤ コメント
⑥ ホームディレクトリ
⑦ デフォルトシェル