ログインできないユーザを新規に追加する
ユーザを新規作成は、前回「CentOSでユーザ管理・グループ管理するコマンド」と同じです。
作成の段階で、ログインできないユーザ(hoge)にしてしまうには、以下のように ログインスクリプトに nologin を指定します。
nologinのパスは、ディストリビューションによって異なります。
CentOS / ScientificLinux : /sbin/nologin
Debian / Ubuntu : /usr/sbin/nologin
となりますので注意しましょう。
$ useradd -s /sbin/nologin hoge
$ useradd -s /usr/sbin/nologin hoge
|
とすればOKです。
作成のした後で、ログインできないユーザ(hoge)にしてしまうには、
$ usermod -s /sbin/nologin hoge
$ usermod -s /usr/sbin/nologin hoge
|
とすればOKです。
$ cat /etc/passwd | grep hoge
hoge:x:501:501::/home/hoge:/sbin/nologin
$ cat /etc/passwd | grep hoge
hoge:x:501:501::/home/hoge:/usr/sbin/nologin
|
ログインできないユーザの作成時に指定するスクリプトには、 上記の …/nologin 以外に /bin/false を指定する場合があります。
この違いは、メッセージが出力されるか否か?という点が大きいかと思います。
一般的に、…/nologin を指定した場合、該ユーザでログインしようとした際に、
英語でのメッセージだと、’This account is currently not available.’ のようなメッセージを出力します。
しかし、/bin/false を指定した場合は、文字通り false を返信するだけで何も出力されません。
基本的に何もメッセージ出したくない、あるいは、出せないユーザについては、/bin/falseを用いて、
シェルなどメッセージが確認できる場合のあるユーザには、…/nologin が使われているようです。
古さでいうと/bin/falseが古いので、まあ、どちらが良いのか?そでぞれではありますが、一般的には、…/nologinなのかなぁと思います。
(参考)
一般的に useradd コマンドでユーザを新規に作成する場合は、以下のようなコマンドイメージになります。
$ addgroup grhoge
グループ 'grhoge' (GID 1001) を追加しています...
完了。
$ useradd -s /usr/sbin/nologin -g grhoge -d /var/www -c hogenosuke hoge
|
パラメータも -s: シェル の指定だけでなく、
-g : グループ
-d : ホームディレクトリ
-c : コメント
という感じで指定します。参考までに。
ログインできないユーザをできるようにする
ログインできないユーザ(hoge)をログインできるようにするには、
$ usermod -s /bin/bash hoge
|
とすればOKです。
$ cat /etc/passwd | grep hoge
hoge:x:501:501::/home/hoge:/bin/bash
|
(おまけ)/etc/passwdの構成
最後に /etc/passwd の構成について、簡単に解説しておきます。
$ cat /etc/passwd
...
hoge:x:1001:1001:hoge:/home/hoge:/bin/bash
| | | | | | |
| | | | | | +- ログインシェル
| | | | | +- ホームディレクトリ
| | | | +- コメント(adduser コマンドでは、本名などの追記情報をカンマ区切りで出力する)。
| | | +- グループID
| | +- ユーザーID
| +- 暗号化されたパスワード。x の場合は、シャドウパスワードの意味。
+- ユーザ名
|
useradd コマンドと同じようにユーザを新規作成する際に使う adduser というコマンドがあります。
いずれも /etc/passwd を編集するコマンドです。
大きな違いは、対話型が adduser だと思われると、間違いが少ないと思います。
上記の /etc/passwd が理解できている方には、 useradd がわかりやすいかもしれません。
また、初心者には、対話型で間違いが少ない adduser が おすすめだと思います。
簡単ですね。
直接、/etc/passwd を編集するのも有りですが、コマンドがあるので、それを使う方が良いのでしょうね。
ただ、他のUNIX系の理解を深めるためにも、/etc/passwd ファイルは理解しておく必要がありますね。
コメントを投稿 :