ユーザーを追加する

First Edition 2002.6.13
Last Modified 2003.9.24

インストールが終了したらまず一般ユーザーを追加する必要があります。
通常の作業は一般ユーザーで行い、必要なときだけルートになって作業するようにします。
ルートでの作業は、すべての作業ができる反面、システムの重要なファイルをいとも簡単に 消し去ってしまいます。これは非常に危険なので、普段は普通のユーザー(一般ユーザー)で 作業する為に、ユーザーを追加する必要があります。コンピュータを一人で使っている分には 特に問題ないのですが、複数のユーザーアカウントがある場合はきちんと管理をやる必要がありますので、 詳しく書きたいと思います。

ユーザーを追加する手順としては、2つの作業が必要です。

ユーザーを追加→パスワードを設定

目次

 1 ユーザーを追加する(useraddコマンド)(対象Ver:全て)(2003.9.24)
 2 パスワードファイルへのコメントを指定する(対象Ver:全て)(2003.9.24)
 3 ユーザーIDを指定する(対象Ver:全て)(2003.9.24)
 4 プライマリグループを指定する(対象Ver:全て)(2003.9.24)
 5 セカンダリグループを指定する(対象Ver:全て)(2003.9.24)
 6 ホームディレクトリを指定する(対象Ver:全て)(2003.9.24)
 7 ログインシェルを指定する(対象Ver:全て)(2003.9.24)
 8 アカウントの有効期限を指定する(対象Ver:全て)(2003.9.24)
 9 パスワードの使用期限が切れてからアカウントが有効期限が無効になるまでの日数を指定する(対象Ver:全て)(2003.9.24)
 10 ユーザーを大量に一括追加する(対象Ver:全て)(2003.9.24)


ユーザーを追加する(useraddコマンド)

コマンドラインからユーザーを登録します。例として"lucky"と言うユーザーを追加してみましょう。 ルートになって作業します。
# /usr/sbin/useradd lucky
上記のように、"useradd"というコマンドの後に追加したいユーザー名をセットします。 これでユーザーが追加できました。/home/luckyというディレクトリが作成され、 /etc/skelディレクトリの中のファイルがコピーされました。 /etc/skelディレクトリにはユーザーの基本的な設定ファイルが収 まっています。今後追加するユーザー全員に反映させたい設定などは、 /etc/skelディレクトリの中のファイルを編集しましょう。

○Tips /etc/skelディレクトリの中のファイルは ファイル名の先頭に"."(ドット)がついています。lsコマンドでファイル一覧を見るには、 " ls -a "とします。

詳細なユーザー管理を行わないのであれば、あとはパスワードを設定するだけで終了です。
ユーザー追加の際に詳細な設定が必要であれば次項以降を御覧ください。

追加したユーザーのパスワードを設定するにはこちらを御覧ください。

パスワードファイルへのコメントを指定する

ユーザーを追加する際に、ユーザーアカウントに対してコメントを付けることができます。useraddコマンドに対して以下のようにオプションをつけます。
ルートになって行います。
# useradd -c comment username
commentにコメントを指定し、usernameにユーザー名を指定します。

ユーザーIDを指定する

ユーザーIDとは、Linuxシステムの中でのユーザーに割り当てられる番号です。 ユーザーを追加する際の標準設定では、500番以降の番号が順に割り当てられます。

1つのコンピュータだけでユーザーを管理する場合は特にユーザーIDは気にしないで良いと思いますが、 複数のコンピュータにユーザーを登録する場合や、会社組織などでユーザーを管理する際には、 ユーザーIDという番号を一意に管理した方が良い場合があります。
以下にユーザー追加の際にユーザーIDを指定する方法を示します。
# useradd -u userid username
useridに数値を指定し、usernameにユーザー名を指定します。

プライマリグループを指定する

プライマリグループとは、ユーザーがファイルを作成したり、ファイルにアクセスしたり、ディレクトリを作成したり 、ディレクトリをアクセスしたりする場合に、ユーザーのグループ権限として参照される一番優先順位の高いグループです。 (なにがなんやらややこしいですが・・・)
ユーザーを追加する際の標準設定では、ユーザー名と同じグループ名が割り当てられます。

ユーザーを追加する際に、ユーザーアカウントに対してプライマリグループを指定するには、useraddコマンドに対して以下のようにオプションをつけます。
ルートになって行います。
# useradd -g group username
groupにグループ名を指定し、usernameにユーザー名を指定します。

セカンダリグループを指定する

ユーザーは複数のグループに属することができます。これにより、ファイルの変更、ディレクトリの移動などで、 あるグループに対して許可されているようなものに対し、そのグループにユーザーが属していればアクセスすることができます。
ユーザーを追加する際の標準設定では、セカンダリグループは設定されません。

ユーザーを追加する際に、ユーザーアカウントに対してセカンダリグループを指定するには、useraddコマンドに対して以下のようにオプションをつけます。
ルートになって行います。
# useradd -G group username
groupにグループ名を指定し、usernameにユーザー名を指定します。

プライマリグループを指定するときは、小文字の"g"をオプションとして与え、セカンダリグループを指定するときは大文字の"G"を オプションとして与えるということになります。

ホームディレクトリを指定する

ホームディレクトリはユーザー専用の自由に使うことができる領域です。
標準設定では、他のユーザーはこのディレクトリを読み書きすることはできません。読み書きできるのは、ホームディレクトリのユーザーと ルートだけです。
ユーザーを追加する際の標準設定では、/home/usernameとなります。(usernameには追加したユーザー名が入ります)。

ユーザーを追加する際に、ユーザーアカウントに対してホームディレクトリを指定するには、useraddコマンドに対して以下のようにオプションをつけます。
ルートになって行います。
# useradd -d dir username
dirにホームディレクトリを指定し、usernameにユーザー名を指定します。

ログインシェルを指定する

ログインシェルとは、ターミナル、もしくはコンソールでコマンドを入力する際の インタラクティブ環境のことです。
大きく分けて2つのログインシェルがあり、Bシェル、Cシェルと呼ばれています。 Bシェルにはsh、bashなどがあり、Cシェルにはcsh、tcsh、zshなどがあります。
ユーザーを追加する際の標準設定では、デフォルトシェルはbashになっています。

ユーザーを追加する際に、ユーザーアカウントに対してログインシェルを指定するには、useraddコマンドに対して以下のようにオプションをつけます。
ルートになって行います。
# useradd -s shell username
shellにログインシェルをフルパスで指定し、usernameにユーザー名を指定します。
Vineをフルインストールすると、3つのシェルがインストールされます。

/bin/bash
/bin/tcsh
/usr/bin/zsh

アカウントの有効期限を指定する

突発的などにユーザーを追加し、そのユーザーアカウントに期限を付けたい場合があります。
例えば、会社などでプロジェクトが発足し、一時的に外部の社員と一緒に仕事をするような場合、プロジェクトが終了したら アカウントも使用できないようにした方がよいです。
ユーザーを追加する際の標準設定では、有効期限はありません。
ユーザーを追加する際に、アカウントの有効期限を指定するには、useraddコマンドに対して以下のようにオプションをつけます。
ルートになって行います。
# useradd -e YYYYMMDD username
YYYYMMDDに年月日、usernameにユーザー名を指定します。

パスワードの使用期限が切れてからアカウントが有効期限が無効になるまでの日数を指定する

日常コンピュータを使用していて、いきなりアカウントが使用できなくなってしまうと困ってしまいます。
そこで、まず最初にパスワードの期限がきて、ログインできないようにし、その後数日してからアカウントを無効にするという2段階で 管理するようにします。
ユーザーを追加する際の標準設定では、この日数は-1となっており、パスワードが失効したらアカウントも即座に無効になります。

ユーザーを追加する際に、パスワードの使用期限が切れてからアカウントが有効期限が無効になるまでの日数を指定するには、 useraddコマンドに対して以下のようにオプションをつけます。
ルートになって行います。
# useradd -f days username

ユーザーを大量に一括追加する

大量のユーザーを追加する際に、いちいちuseraddコマンドを打ってパスワードを設定していくのは非常に大変です。
そこで、大量のユーザーを一括で追加する方法があります。 user_file.txtを以下の書式で追加したいユーザーを羅列していきます。パスワードは各ユーザーの名前でも良いし、共通のものでも良いと思います。ただし、 ユーザーに対して、なるべく早い時期にパスワードを変更するようにアナウンスしたが良いです。
ユーザーが自分のパスワードをリモート(外部)から変更できるようにする方法はいずれ書きたいと思います。

user_file.txt
ユーザー名:パスワード:ユーザーID:グループID:コメント:ホームディレクトリ:ログインシェル
username1:password1:1000:1000:username1 comment:/home/username1:/bin/bash
username2:password1:1001:1001:username2 comment:/home/username1:/bin/bash
username3:password1:1002:1002:username3 comment:/home/username1:/bin/bash
username4:password1:1003:1003:username4 comment:/home/username1:/bin/bash
ファイルを作成したら、以下のコマンドでLinuxシステムへ登録します。
# chpasswd password_file.txt
登録したら、shadowパスワードへの変換をおこないます。
# pwconv
以上でLinuxシステムへのユーザー登録が終了しました。
[HOME]
since 2001.4.22