ユーザ グループ コマンド早見表
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コマンドを使ってグループのメンバーを 追加したり削除したりできます。
この記事が気に入ったらサポートをしてみませんか?