Linux:Linuxのadduserコマンドで新規ユーザを作成する

Linuxでユーザを作成する場合に使用するコマンドは「adduser」と「useradd」の二つのコマンドがあります。
adduserコマンドとuseraddコマンドはどちらを使ってもユーザを作成することができます。
違いはユーザを作成するときの手順が違うようです。
私はadduserコマンドを使用していたのでadduserコマンドを使ってユーザを作成した際の方法を記載します。

adduserコマンド
ユーザーを作成します。
ユーザのホームディレクトリやグループなど下記のオプションで指定することができます。

■ オプション

「-u(–uid)」
ユーザIDを指定してユーザを作成します。
省略した場合、自動でユーザIDが設定されます。

「-g(–gid)」
グループIDを指定してユーザを作成します。
指定するグループは存在しないとエラーで怒られます。
省略した場合、自動でグループIDが設定されます。

「-d(–home)」
ユーザのログイン時のホームディレクトリを指定できます。
省略した場合、システムが規定で設定しているホームディレクトリが設定される。

「-s(–shell)」
ユーザのログインシェルを指定します。
SSHでログインできないユーザの作成は「/sbin/nologin」に設定します。
またログインできるユーザの作成は「/bin/bash」を設定します。

■ 書式

adduser -u [ユーザー] -g [グループ] -d [ホームディレクトリ] -s [ログインシェル] [ユーザ名]

または

adduser --uid [ユーザー]  --gid [グループ] --home [ホームディレクトリ] --shell [ログインシェル] [ユーザ名]

オプションの値は省略可能です。

■ 使用例

hogeユーザーを作成します。

# adduser --shell /sbin/nologin --home /var/www/html hoge
adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.

※ホームディレクトリが存在している場合、警告が出ますがユーザを作成することが可能です。

ユーザー一覧を確認すると下記のように設定されます。

hoge:x:512:512::/var/www/html/:/sbin/nologin

ユーザーにパスワードを設定する場合は下記のようにします。

# passwd hoge
Changing password for user hoge.
New UNIX password:(パスワード入力)
Retype new UNIX password:(パスワード再入力)
passwd: all authentication tokens updated successfully.

「passwd: all authentication tokens updated successfully.」と表示されれば成功です。

Linux:chownでファイルやディレクトリの所有者を変更する

Linuxchownコマンドの使い方をいつも忘れてしまうのでメモします。
FTPでファイルやディレクトリを変更しようとした時に、所有者や所有グループが違うため編集できないことがあります。
その場合はLinuxのchownコマンドで所有者や所有グループを変更することで編集可能になります。(編集できない理由が所有権の場合)
chownコマンドを使用した時の方法を下記に記載します。

chownコマンド

ファイルやディレクトリの所有者、所属グループを変更します。
所有者の指定はユーザ名、グループ名またはユーザーID、グループIDで指定できます。
所有者を変更できるユーザは、スーパーユーザかそのファイルの所有者に限られます。

chown [オプション] [ユーザ]:[グループ] [ファイルやディレクトリ]

ディレクトリ以下全てのファイル、ディレクトリの所有者や所有グループを変更する際はオプションで「-R」を指定します。

chown -R [ユーザ]:[グループ] [ファイルやディレクトリ]

chownコマンドのオプションは他にも下記のものがあります。

-c:所有者が変更されたファイルのみ詳細に表示します。
-f:所有者を変更できない場合、エラーメッセージを表示しません。
-v:所有者の変更を詳細に表示します。
-R:ディレクトリとディレクトリ以下のファイルを再帰的に変更します。

■ 使用方法

hoge.txtの所有者をhogeユーザに変更する場合

chown hoge:hoge hoge.txt

hogeディレクトリの所有者をユーザID「501」のユーザに変更する場合

chown 501:501 hoge/

またhogeディレクトリ以下全てのファイル、ディレクトリの所有者を変更する場合

chown -R 501:501 hoge/

Linux:Linuxでユーザー一覧を確認する

Linuxでユーザー一覧を確認する方法は/etc/passwdファイルを参照することでユーザーを確認できます。
passwdファイルとはユーザを登録するファイルです。
いつも忘れてしまうので下記にpasswdファイルの基本的な構造とユーザー確認するときの方法をメモします。

passwdファイルの構造

passwdファイルの構造は1行で1ユーザが記載されており、「:」で区切りでユーザーの情報を持っています。

hoge:x:501:501::/var/www/html/:/sbin/nologin

フィールドごとの説明

1:ユーザー名
2:暗号化されたパスワード
3:ユーザーID
4:グループID
5:コメント(コメントない場合記入しない)
6:ホームディレクトリー
7:ログインシェル(ログインした際、最初に起動するシェル)

ユーザー一覧確認

サーバにログインし、下記のコマンドを実行します。

# vi /etc/passwd

ユーザーの一覧が表示されるので確認することができます。

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
・
・
・
(省略)