CentOSのユーザ関連のコマンドメモ


docker等で新しいコンテナ立ち上げた場合、rootユーザしかいないってことも多いのではないでしょうか。
今回は、ユーザを追加したりした時の話をまとめておこうと思います。
※CentOSのdockerコンテナ前提です。

2019/9/24追記←パスワードを忘れた時の話を追加しました。

1.sudoユーザの追加

# useradd -G wheel <ユーザ名>

一番よく使うのがこれなのではないかと思います。
“wheel”はcentosでのsudoグループのことで、debian系だと、”sudo”を指定します。(redhat系もsudoでいいじゃん…)
-Gは2番目以降のグループを指定するオプションで、sudoグループに追加する場合は、-Gを用います。

2.一般ユーザの追加

# useradd <ユーザ名>

sudoさせないユーザを追加させたい場合はこれですね。1の方がよく見る気はしますが。
他にも、グループを指定する場合は-gオプション、ユーザIDを変更する場合は-uオプション等々オプションは色々ありますが、sudoユーザの指定以外のオプションはほとんど使わないですね…


3.パスワード設定

# passwd <ユーザ名>

↑のコマンドを入力すると、新しいパスワードの入力を求められるので、パスワードを2回入力します。

※ちなみに、パスワードの設定は、useraddコマンドで-pオプションを使用することで、ユーザ作成時に設定することも可能ですが、暗号化された文字列を指定しなければいけないのでpasswdの方がイージーです。

2019/9/24追記)
設定したパスワードを忘れるとログインできません。焦ります。
でも安心してください!
一般ユーザのパスワードは、rootからは変更可能なのです!!

え、rootのパスワードも忘れてしまったんですか??(←ブーメラン)

でも大丈夫です。
rootのパスワードを忘れてしまった場合は、docker attachでログインし、passwdでパスワードの変更ができます!!


4.ログイン

# su - <ユーザ名>

このコマンドでログインしてみて、ユーザが正しく作成されていることを確認できるはずです。

※”-“を付け忘れると、ユーザのシェルとか環境変数が読み込まれなくて、「あれ??なんかスクリプトが正常に動かない??」みたいなことになります(実話)。


5.sudoコマンド

今回はせっかくsudo使えるユーザを作ったのでsudoコマンドも試してみます。

…と思ったのですが、CentOS7が最小構成のせいで、sudoコマンドがインストールされていません。
まずはsudoコマンドをインストールします。

# yum install sudo
※よく使うyumコマンド→ https://www.mathkuro.com/?p=232

実際にsudoコマンドが使えるか試してみます。
sudo権限のある一般ユーザ でログインし、
# su - <ユーザ名>

以下のコマンドを実行します。
$ sudo ls /root/

↑のコマンドを試すとパスワードを聞かれると思うので、ログインしているユーザのパスワードを入力してください。
これでsudoコマンドとパスワードの確認ができるはずです。

終わりに

今回は、dockerの新規コンテナにユーザを追加するために色々調べました。前に、VirtualBoxでも同じことをしているはずなのですが、結構忘れてる部分も多かったです。
こういうのもメモとして残していこうと思います。

参考

Linuxにユーザーを追加する
useraddコマンドについて詳しくまとめました 【Linuxコマンド集】
sudoユーザーを追加する方法

Leave a Reply

Your email address will not be published. Required fields are marked *