ユーザー関係コマンドまとめ
# ユーザの追加 useradd testuser # ユーザへパスワード設定または変更 passwd testuser # ユーザ所属のグループを表示 id testuser # testuser ユーザが所属するグループを group1 group2 に置換 usermod -G group1,group2 testuser # testuser ユーザが所属するグループに group3 にを追加 usermod -a -G group3 testuser # testuser を削除する。 userdel -r testuser
ひとつひとつ実際に試してみます。
ユーザの追加、パスワード設定
[root@oki2a24 ~]# useradd testuser [root@oki2a24 ~]# ll /home/testuser/ total 0 [root@oki2a24 ~]# passwd testuser Changing password for user testuser. New UNIX password: BAD PASSWORD: it is too short Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@oki2a24 ~]#
useradd コマンドで testuser を追加しましたの。
そうしましたら自動的に testuser ユーザのホームディレクトリである /home/testuser/ が作成されました。
パスワードを、passwd コマンドで設定いたします。今回はお試しでしたので短いパスワードにいたしました。そうしましたらほら!「短すぎますの!悪いパスワード!いけない子!」と警告が!ですが、結局同じパスワードをもう一度打ち込みましたら、受け入れていただけます♪
。。。ツンデレ!?というものでしょうか?
ユーザ所属のグループを表示
これからユーザ testuser にグループに所属していただいたり抜けていただいたりしますので、確認手段が必要です。そのためのコマンドが、id です!単純明快ですの♪
[root@oki2a24 ~]# id testuser uid=502(testuser) gid=502(testuser) groups=502(testuser) [root@oki2a24 ~]#
ユーザの所属グループ以外も表示されております。左から順に、
- uid=502(testuser) → ユーザ ID = ユーザ ID(ユーザ名)
- gid=502(testuser) → グループ ID = グループ ID(グループ名)
- groups=502(testuser) → 所属グループ = グループ ID(グループ名)
となりますので、一番右側をしっかりと確認しまして testuser ユーザが所属しているグループを把握いたしましょう。
ユーザをグループに所属させる
[root@oki2a24 ~]# usermod -G apache testuser [root@oki2a24 ~]# id testuser uid=502(testuser) gid=502(testuser) groups=502(testuser),48(apache) [root@oki2a24 ~]# usermod -G wheel testuser [root@oki2a24 ~]# id testuser uid=502(testuser) gid=502(testuser) groups=502(testuser),10(wheel) [root@oki2a24 ~]# [root@oki2a24 ~]# usermod -a -G apache testuser [root@oki2a24 ~]# id testuser uid=502(testuser) gid=502(testuser) groups=502(testuser),10(wheel),48(apache) [root@oki2a24 ~]#
testuser ユーザを apache グループに所属させました。id コマンドで確認いたしますと、 「groups=502(testuser),48(apache)」とあり、確かに apache グループに所属しています。
では、次に wheel グループも追加しましょう!とここでスゴイ注意重点です!全く同じ書き方のコマンド「usermod -G グループ名 ユーザ名」ですとダメです!
所属グループが上書きされています!置換されています!上記の 6 行目に注目ですわ。所属グループが「groups=502(testuser),10(wheel)」となっており、グループ apache がありません!
ではどういたしましょう?解決策のひとつは、すでに所属しているグループも含めてグループ追加を行う、ですわね。具体的には「usermod -G apache,wheel testuser」となりますの♪これで解決♪
もう一つの解決方法は、所属グループを追加するオプション -a を付加してあげる事ですの♪それが、上記コマンドでの「usermod -a -G apache testuser」でございます。「-a」を付けてあげる事で、上書きではなく、追加となるのですね♪
ユーザを削除する
[root@oki2a24 ~]# userdel -r testuser [root@oki2a24 ~]#
あっけないものです。userdel コマンドで、確認も求められず、ユーザは削除されてしまいました。。。
ポイントとしては -r オプションを付けることで、/home/testuser/ ディレクトリも同時に削除することができるという点です。
なお、/home/testuser/ ディレクトリ以外に削除されたユーザが作成したファイルは残りますので別途削除が必要です。また、そのファイルの所有者、グループは、ユーザ名から数字(おそらく何らかの ID)へと変更されています。
なんだか面白いですわ♪
おまけ ~ わたくしは、誰?
[root@oki2a24 ~]# whoami root [root@oki2a24 ~]#
whoami コマンドで自分のユーザ名を知ることができます。これは普通です。普通はこのようにわたくしはわたくし自身を知ることができるのです。
しかし!
[testuser@oki2a24 ~]$ id uid=502 gid=502 所属グループ=502 [testuser@oki2a24 ~]$ whoami whoami: cannot find name for user ID 502 [test@oki2a24 ~]$
削除されたユーザで予めログインしておき、その状態でユーザ削除された状態となると、ユーザ名が消えてしまいます!わたくしはわたくしはわたしの名前はわたくしはわたくしのグループはははは。
しかもこの状態でたとえば touch コマンドでファイルを作成することもできましたの。。。
死してなお安らかに眠れず徘徊するズンビーめいた状態ですの。哀れですわ><。
コワイですわ><。
おわりに
usermod コマンドにおいて、所属するグループを追加するオプション -a がわからず、ずっと時間が過ぎてしまいましたの。。。ですけれども、ようやくこれでスッキリいたしました。解決のきっかけは次のページですわ♪感謝いたします!
また、コマンド全体については、次のページが参考になりました。御礼申し上げます♪
以上です。