2017年3月20日月曜日

Linuxアカウント作成、変更、削除

yum, apt等でパッケージからOSSインストールするときには、実行ユーザが自動で作成されることが多いです。しかし、ソースコード、バイナリから導入する場合や自作ツールを導入する場合、自分で実行ユーザを作成する必要があり、そのために手順をメモしておきます。

Debian系では、adduser, deluser, addgroup, delgroupなどのコマンドが用意されていますが、それと比較してローレベルですが、幅広いLinuxディストリビューションで使用できるuseradd, usermod, userdel, groupadd, groupmod, groupdelを使ったアカウント操作方法を記載します。

グループ作成

アカウントを作成するにあたり、まずグループを作成します。
ユーザは必ずひとつ以上のグループに所属する必要があります。
$ groupadd testgroup
$ grep testgroup /etc/group
testgroup:x:1002:

グループ変更

すでに作成したグループのグループ名、グループIDを変更することができます。
$ groupmod testgroup -n testg -g 1003
$ grep testg /etc/group
testg:x:1003:

グループ削除

グループに所属しているユーザが存在する状態では、グループの削除はできません。
まず、削除対象のグループに存在するユーザを無くした上で実行する必要があります。
$ groupdel testg
$ grep testg /etc/group

ユーザ作成

ログイン可能なユーザ作成

bashへのログイン可能なユーザを作成します。
-dオプションでホームディレクトリを指定し、-mオプションでホームディレクトリが存在しない場合に作成するように指定します。
-gオプションで先ほど作成したグループ名を指定し、そのグループの所属ユーザを作成します。
$ useradd testuser -d /home/testuser -m -g testg
$ passwd testuser
$ grep testuser /etc/passwd
testuser:x:1003:1003::/home/testuser:

ログイン不可なユーザ作成

bashへのログイン不可なユーザを作成します。
ここでは、ログイン不可ユーザのログインシェルは/usr/sbin/nologin(RHEL系なら/sbin/nologin)を使いますが、/bin/falseでも良いです。
-sオプションでユーザのログインシェルを/usr/sbin/nologinに指定します。
デフォルトではユーザのログインシェルは/bin/bashが指定されますが、明示的に/usr/sbin/nologinに設定します。
$ useradd testnologin -d /home/testnologin -s /usr/sbin/nologin -m -g testg
$ passwd testnologin
$ grep testnologin /etc/passwd
testnologin:x:1004:1003::/home/testnologin:/usr/sbin/nologin

ユーザ変更

ログイン不可なユーザへの変更

既存のログイン可能のユーザをログイン不可に設定します。
-sオプションでユーザのログインシェルを/usr/sbin/nologinに指定します。
$ usermod testuser -s /usr/sbin/nologin
$ grep testuser /etc/passwd
testuser:x:1003:1003::/home/testuser:/usr/sbin/nologin

ログイン可なユーザへの変更

既存のログイン不可のユーザをログイン可能に設定します。
-sオプションでユーザのログインシェルを/bin/bashに指定します。
$ usermod testuser -s /bin/bash
$ grep testuser /etc/passwd
testuser:x:1003:1003::/home/testuser:/bin/bash

ユーザ削除

ホームディレクトリをまとめて削除

ユーザの削除時に-rオプションを設定しないと、ホームディレクトリが残ります。
$ userdel testuser -r
$ grep testuser /etc/passwd

0 件のコメント:

コメントを投稿