インフラを主担当としないエンジニアの中には、ユーザ操作コマンドについて詳しくないという方も多いのではないでしょうか。
「ユーザ作成完了の連絡を貰ったけど何故かログイン出来ない」などのケースで問題解決できるレベル程度のコマンドを知っておいて損はないです。
以下のコマンドだけでは不十分の場合も有ると思いますが、主に使用するコマンドを残していきます。
(タイトルのコマンド一覧というのは願望ですが随時更新していくのでツッコミやより良いコマンドなどお教えください)
ユーザ設定の確認
ユーザ一覧を表示
cat /etc/passwd
例
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
・・・
emowl:x:500:501:EMOWL_ADMIN:/home/emowl:/bin/bash
ユーザー名:パスワード:ユーザID:グループID:コメント:ホームディレクトリ:ログインシェル
パスワード欄のフォーマット
- 暗号化されたパスワード
- 何も書かれていない場合 ⇒ パスワードが設定されていない
- 「x」の場合 ⇒ シャドウパスワードを使用している
※ シャドウパスワード使用時には/etc/shadowファイル(rootのread only)に暗号化されたパスワードが書いてある
ユーザ一覧から名前部分のみ表示
cat /etc/passwd|sed -e 's/:.*//g'
or
cut -d: -f1 /etc/passwd
グループ一覧を表示
cat /etc/group
or
getent group
ユーザのID・所属グループなどを確認する
id [ username ]
※ オプションのusernameを省略すると現在ログインしているユーザの情報を確認できる
例
$ id emowl
uid=1000(emowl) gid=1000(emowl) groups=1000(emowl)
追記: コメントで@iwaim@githubさんに教えてもらった
パスワードを確認
getent shadow [ username ]
※ パスワード欄が半角びっくりマーク2個含まれている場合は、アカウントがロックされている状態
sudo権限の確認(sudoersは使用しない場合)
cat /etc/sudoers.d/[ username ]
例
$ cat /etc/sudoers.d/emowl
emoql ALL=(ALL) NOPASSWD:ALL
⇒ ユーザemowlは一切パスワードを要求されない
ユーザ設定の変更
ユーザの追加
useradd -u [userID] -g [ groupID ] [ username ]
useradd
コマンドはshadow-utils
というパッケージに入っている
gpasswd
, usermod
,groupmod
, vipw
, vigr
などのコマンドも入っている
追記: コメントで@miyuさんに教えてもらった
パスワードの設定・変更
passwd [ username ]
アカウントロックを解除する(rootのみ)
passwd -u [ username ]
パスワードなしに変更する(rootのみ)
passwd -u -f [ username ]
ユーザをロックする
passwd -l [ username ]