Chapter 05

Linux基礎コマンド(ユーザ管理)

おでん
おでん
2021.07.23に更新

Linux上のユーザ種類

  1. root
  2. 一般ユーザ

1. root

Linux特権アカウントを持つユーザ。管理者側。

2. 一般ユーザ

rootでないユーザ。

/etc/passwdファイル

/etc/passwdファイルには、ユーザ一覧が記載されています。
OSが使用しているため、基本的に内容の編集はNGです。
書式は以下のように表されます。

useradd (引数)

引数ユーザを新規作成する。
自動で/home配下にユーザ名ディレクトリ作成する。

$ useradd testuser

su (オプション) (引数)

引数ユーザへ切り替える。
主なオプションは以下。

オプション 機能
- ユーザ設定も含めて切り替える(基本必ずつける)

切り替えにはパスワードが必要な場合と不要な場合がある。

切り替え パスワード
ユーザ → ユーザ 必要
rootユーザ → ユーザ 不要
$ su - root

id (引数)

引数ユーザ情報を出力する。
以下のように表示される。

uid=ユーザID(ユーザ名) gid=グループID(グループ名) 所属グループ=グループID(グループ名) 
$ id testuser

exit

ログインユーザが起動したプロセスを終了させる。
切り替え前ユーザに戻ることができる。

$ exit

passwd (引数)

引数ユーザのパスワードを設定する。
ただし、引数指定するのはrootユーザの場合のみ。(他人パスワードを変更するため)

$ passwd testuser

usermod (オプション) (引数)

引数ユーザの情報を変更する。
主なオプションは以下。

オプション 機能
-d ディレクトリパス ホームディレクトリパスを変更する
-m -dと併用し、ホームディレクトリパスを指定ディレクトリパスへ変更する
-g グループ名orグループID ユーザが所属するプライマリグループを変更する
$ usermod -md /home/testuser2 testuser

userdel (オプション) (引数)

引数ユーザを削除する。
主なオプションは以下。

オプション 機能
-r ユーザに紐づく情報も削除する(基本的には必ずつける)
$ userdel -r testuser

グループ

グループとは、複数のユーザをひとまとめにした集団のことです。
これは、権限付与で効率的にパーミッション(アクセス権)を管理できるためです。
例えば、会社毎にその会社に所属している社員だけが見れるサイトがそれぞれあると思います。

グループは以下の2つに分かれます。

  1. プライマリグループ(メイン):メインで1つ所属するグループ
  2. サブグループ(サブ):プライマリグループ以外

ユーザ新規作成時に特にグループの指定をしなければ、プライマリグループに所属します。
これらは、ユーザから見たグループになります。つまり、どのグループがプライマリグループで、どのグループがサブグループかは、それぞれのユーザによって異なります。

/etc/groupファイル

/etc/groupファイルには、グループの一覧が記載されています。
/etc/passwdファイルと同様に、OSが使用しているため、基本的に内容の編集はNGです。
書式は以下のように表されます。

groupadd (引数)

引数グループを新規作成する。

# groupadd testgroup

groupdel (引数)

引数グループを削除する。
グループ内に1ユーザでも存在していたら、削除できない。

# groupdel testgroup

パーミッション

パーミッションとは、アクセス権のことです。
Linuxには、以下の3種類のパーミッションがあります。

  1. r(read:読み取り)
  2. w(write:書き込み)
  3. x(execute:実行)

chmod (引数①) (引数②)

引数②ファイル・ディレクトリのパーミッションを引数①パーミッションに変更する。
rootユーザかオーナーのみ使用できる。
引数①のパーミッションは、8進数を3セットで表す。
それぞれのパーミッションは以下の数字が割り当てられています。

モード 権限 数字
r 読み取り 4
w 書き込み 2
x 実行 1
これらの数字の合計を引数①に3セット記述します。3セットは以下の順番でパーミッションを与える先を指定しています。
754 の場合

     7              5                4
オーナー/グループ/その他ユーザ
  • 7 : 4 + 2 + 1 → 読み取り、書き込み、実行
  • 5 : 4 + 1 → 読み取り、実行
  • 4 : 4 → 読み取り
# chmod 754 ./file1
-rwxr-xr--

chown (引数①) (引数②)

引数②ファイル・ディレクトリのオーナーを引数①オーナーに変更する。
rootユーザのみ使用できる。

# chown testuser ./file1

chgrp (引数①) (引数②)

引数②ファイル・ディレクトリのグループを引数①グループに変更する。
rootユーザのみ使用できる。

# chgrp root ./file1