ユーザ グループ コマンド早見表

Linuxはユーザという単位でシステムの操作権限を与えます。複数のユーザを1つにまとめたものをグループと呼びます。

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

root: 全ての操作権限を持つ
一般ユーザ:指定された操作を実行できる
システムアカウント:特定のアプリケーション(apache, mysql)が使用するユーザ

ユーザ コマンド

ユーザの確認はid コマンド 引数に何も指定しなければ現在のユーザ

$ id
uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user),4(adm),10(wheel),190(systemd-journal)

スペース区切りでフィールドが分かれる
 第1フィールド:   ユーザID (ユーザ名)
 第2フィールド:   1次グループID (グループ名)
 第3フィールド以降: 2次グループID (グループ名)

ユーザの登録にはuseraddコマンドを使う。

$ sudo useradd testuser

useradd のオプションを指定しない場合、デフォルトの設定が使用される

$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

パスワード設定はpasswdコマンド

$ sudo passwd testuser
ユーザー testuser のパスワードを変更。
新しいパスワード:

ユーザは/etc/passwd, /etc/shadow に保存される。

sudo cat /etc/passwd
testuser:x:1002:1002::/home/testuser:/bin/bash

":" 区切りでフィールドが分かれる。
 第1フィールド: ユーザ名(ログイン名)
 第2フィールド: 暗号化されたパスワード or "×"
 第3フィールド: ユーザID
 第4フィールド: グループID
 第5フィールド: コメント
 第6フィールド: ホームディレクトリ
 第7フィールド: ログインシェル

passwdファイルの「パスワード」フィールドは必ず×である。これはユーザに読み取り権限があるから盗み見されるため

システムアカウントの「ログインシェル」フィールドは "/sbin/nologin"
一般ユーザとしてログインすることを禁止します。

$ sudo ls -l /etc/passwd
-rw-r--r-- 1 root root 1689 9月 4 15:15 /etc/passwd
$ sudo cat /etc/shadow |grep testuser
testuser:abcdefg:18143:0:99999:7:::

 第1フィールド: ユーザ名(ログイン名)
 第2フィールド: 暗号化されたパスワード
 第3フィールド: パスワードの最終変更日
 第4フィールド: 変更可能最短期間(この期間を越えないと変更不可)
 第5フィールド: 未変更可能最長期間(この期間を越えたら変更必要)
 第6フィールド: 警告日(上記期日の何日前に警告するか)
 第7フィールド: インアクティブ(ログインしないと無効になる日数)
 第8フィールド: 失効日(アカウント失効までの日数)
 第9フィールド: フラグ(未使用)

 第3フィールドからは1970/1/1からの日数

ユーザ削除はuserdel

$ cat /etc/passwd | grep testuser ##ユーザ確認
testuser:x:1002:1002::/home/testuser:/bin/bash

$ sudo userdel testuser ##削除

$ cat /etc/passwd | grep testuser ##削除確認

グループ コマンド

グループの確認はgroups

$ groups ec2-user
ec2-user : ec2-user adm wheel systemd-journal

グループの作成はgroupadd

$ sudo groupadd test

グループの設定ファイルは/etc/gropuと/etc/gshadow

$ cat /etc/group |grep test
test:x:1003:

 第1フィールド: グループ名(ログイン名)
 第2フィールド: 暗号化されたパスワード
 第3フィールド: グループID
 第4フィールド: グループメンバー

グループメンバー — ここに記載されているグループメンバーは(コンマで区切られた一覧)管理メンバーではありません。
$ sudo cat /etc/gshadow|grep test
test:!::

 第1フィールド: グループ名(ログイン名)
 第2フィールド: 暗号化されたパスワード
 第3フィールド: グループ管理者
 第4フィールド: グループメンバー

グループ管理者 — ここに記載されているグループのメンバーは(コンマで区切られた一覧)、 gpasswdコマンドを使ってグループのメンバーを 追加したり削除したりできます。


この記事が気に入ったらサポートをしてみませんか?