アカウント認証

ユーザ管理

ページ作成日 2016/4/22
ページ更新日 2020/8/22

他のディストリビューションとは違い、インストールでは、rootアカウントしか作成しません。
ですから、日常的に利用する一般ユーザのアカウントを作成する必要があります。

マルチユーザオペレーティングシステムとしてのLinux

インストールした後、真っ先にやるべき事は、一般ユーザの作成です。
決して、日常的にrootでログインして利用してはいけません。

Unixは、マルチユーザを前提にして設計されているOSです。
この点が、WindowsやMacOSと大きく異なります。
マルチユーザとは、1台のコンピュータに対して、同時に複数のユーザが利用できる事です。

WindowsやMacOSも、複数のユーザを登録できますが、OSと画面表示が密に結びついており、基本的には、同時に複数のユーザが同じPCを利用する事は出来ません。
しかし、Unixの場合は、リモートログインにより、ネットワークを介して、複数のユーザが同時に1台のコンピュータを利用できます。
X Windowによって、グラフィカルユーザーインターフェースも、ネットワークを介して、複数のユーザが同時に利用することが可能です。

特権ユーザと一般ユーザ

Unixは、複数のユーザが同時に1台のコンピュータを使える事を念頭に設計されているので、コンピュータ全体を管理する事が出来る特権ユーザと、一般のユーザは明確に区別されています。
誰か一人のユーザの環境設定によって、コンピュータ全体の設定が変更されて、それによって他のユーザに影響があっては困るのです。
たとえ、あなた一人だけが実際にユーザだとしても、この設計思想を尊重して、自分のユーザアカウントを作成しましょう。

ユーザの追加

ユーザの追加は、Slackwareの場合は、adduserというコマンドが用意されています。
対話型の設定と、オプション指定の設定と、両方に対応しています。

対話型の設定

対話型で設定する場合は、rootでログインした後、adduserと打ち込みます。


# adduser

Login name for new user []: takehora

User ID ('UID') [ defaults to next available ]:

Initial group [ users ]:
Additional UNIX groups:

Users can belong to additional UNIX groups on the system.
For local users using graphical desktop login managers such
as XDM/KDM, users may need to be members of additional groups
to access the full functionality of removable media devices.

* Security implications *
Please be aware that by adding users to additional groups may
potentially give access to the removable media of other users.

If you are creating a new user for remote shell access only,
users do not need to belong to any additional groups as standard,
so you may press ENTER at the next prompt.

Press ENTER to continue without adding any additional groups
Or press the UP arrow to add/select/edit additional groups
:  audio cdrom floppy plugdev video

Home directory [ /home/takehora ]

Shell [ /bin/bash ]

Expiry date (YYYY-MM-DD) []:

New account will be created as follows:

---------------------------------------
Login name.......:  takehora
UID..............:  [ Next available ]
Initial group....:  users
Additional groups:  audio,cdrom,floppy,plugdev,video
Home directory...:  /home/takehora
Shell............:  /bin/bash
Expiry date......:  [ Never ]

This is it... if you want to bail out, hit Control-C.  Otherwise, press
ENTER to go ahead and make the account.

Creating new account...

Changing the user information for david
Enter the new value, or press ENTER for the default
	Full Name []:
	Room Number []:
	Work Phone []:
	Home Phone []:
	Other []:
Changing password for takehora
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.

Account setup complete.

オプション指定の設定

小人数のユーザを追加する場合は、対話型が便利ですが、人数がある程度多くなってくるとオプション指定の設定の方が楽です。


# useradd -d /home/takehora -s /bin/bash -g users -G audio,cdrom,floppy,plugdev,video takehora

sudoの設定

root権限が必要なコマンドを、毎回suでrootになって実行するのも何かと不便です。
また、実行履歴を調べたい場合に、suでrootになって実行した内容を追うのは面倒です。

そこで、sudoというコマンドを使えるようにすると便利です。

sudoの利点

sudoでroot権限が必要とする操作をできるようにすることで、以下の利点があります。

Wikipeida "sudo"より

自分が普段使いするLinuxマシンなのであれば、コマンド入力する際に、suでroot権限になったり、exitで自分のアカウントに戻ったりという手間が省けるのが利点だと感じています。

sudoの設定

ユーザにsudoの権限を付与するためには、rootで「visudo」というコマンドを使い、「sudoers」というファイルを編集します。


# visudo

基本的な設定としては、このファイルの以下の記述のいずれかを選び、コメントアウトします。

  1. wheelグループに所属するユーザが使える。sudoの際に、自分のログインパスワードが要求される。
  2. wheelグループに所属するユーザが使える。sudoの際は、パスワードを要求されない。
  3. アカウント登録しているユーザは、誰でもsudoを使える。

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL

最近は、2番のパスワードを要求しないsudoが一般的になっているようです。
この#を削除して、コメントアウトを削除で有効化し、保存します。

次に、sudoで使えるコマンドを指定します。
一般的には、この部分のコメントアウトを外して、使えるコマンドのパスをハードコードします。


## Uncomment to use a hard-coded PATH instead of the user's to find commands
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

wheelというグループ

wheelというグループが出てきましたが、これは何でしょうか?
「車輪」や「(自動車の)ハンドル」、「(船の)舵」という意味の単語です。

このwheelグループは、big wheelというスラングが語源と言われています。
big wheelとは、組織内で大きな影響力や、高い地位にある人を指す俗語です。
wheelという単語だけでも、「大物」という意味があります。

Wikipedia "wheel"より

つまり、wheelグループに所属するユーザアカウントは、そのLinuxシステムの「舵取り」をする管理者という事ですね。

wheelグループへの登録

sudoできるアカウントをwheelグループに登録しましょう。
まずは、登録したいアカウントの所属グループを確認します。


# groups takehora
takehora : users

まだusersグループにしか所属していません。
そこで、sudoが使えるようにwheelグループへと追加します。
usermod -G {所属させるグループ} {ユーザ名}の書式で入力します。


# usermod -aG wheel takehora

再度、groupsを使って所属グループを確認してみると、usersとwheelと、双方に所属していることが確認できます。


# groups takehora
takehora : users wheel

グループの視点から、誰がwheelグループに所属しているかを確認してみましょう。


# getent group wheel
wheel:x:10:root,takehora

もしも、suでroot権限になってからこの作業をした場合は、一旦ログインしなおして下さい。
これで、次回ログインから、sudoが使えるようになります。


# exit
exit
$ exit