バッチで、ユーザの更新と作成を行う

How to use

/etc/password と同じ形式でファイルを事前に用意

user_a:pass001:300:300::/home/user_a:/bin/bash
user_b:pass002:301:301::/home/user_b:/bin/bash

作成したファイルを用いバッチでユーザの作成を行う

newuser file名

Setting

SYNOPSIS

newusers [options] [file]

DESCRIPTION

newusers コマンドはファイル (デフォルトでは標準入力) を読み込み、その情報を使って既存のユーザーセットを更新したり、新しいユーザーを作成したりする。各行は、以下に説明する例外を除いて、標準のパスワードファイル (passwd を参照) と同じ形式である。

pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell
pw_name
ユーザの名称である。
新規ユーザーの名前、または既存ユーザー(またはnewusersが以前に作成したユーザー)の名前になりる。既存のユーザーの場合は、そのユーザーの情報が変更され、そうでない場合は新しいユーザーが作成される。
pw_passwd
このフィールドは暗号化され、暗号化されたパスワードの新しい値として使用される。
pw_uid
このフィールドは、ユーザーのUIDを定義するために使用される。
このフィールドが空の場合、新しい(未使用の)UIDnewusersによって自動的に定義される。
このフィールドに数字が含まれている場合、この数字がUIDとして使用される。
このフィールドが既存のユーザー名(またはnewusersが以前に作成したユーザー名)を含んでいる場合、指定されたユーザーのUIDが使用される。
既存のユーザーのUIDが変更された場合、そのユーザーのファイルの所有権を手動で修正する必要がある。
pw_gid
このフィールドは、ユーザーのプライマリグループIDを定義するために使用される。
このフィールドに既存のグループ(または新規ユーザが以前に作成したグループ)の名前が含まれている場合、そのグループのGIDがユーザのプライマリ・グループIDとして使用される。
このフィールドが数値である場合、この数値がユーザーのプライマリグループIDとして使用される。このGIDを持つグループが存在しない場合、このGIDとユーザー名で新しいグループが作成される。
このフィールドが空の場合、ユーザーの名前で新しいグループが作成され、GIDnewusersによって自動的に定義され、ユーザーのプライマリグループIDおよび新しいグループのGIDとして使用される。
このフィールドに存在しない(そしてnewusersによって以前に作成されていない)グループの名前が含まれている場合、指定された名前で新しいグループが作成され、GIDnewusersによって自動的に定義され、ユーザーのプライマリグループIDおよび新しいグループのGIDとして使用される。
pw_gecos
このフィールドは、ユーザーのGECOSフィールドにコピーされる。
pw_dir
このフィールドは、ユーザのホームディレクトリを定義するために使用される。
このフィールドで既存のディレクトリを指定しない場合、指定されたディレクトリが作成され、所有者は作成または更新されるユーザとそのプライマリ・グループに設定される。
既存のユーザのホーム・ディレクトリが変更された場合、newusers は古いディレクトリの内容を新しい場所に移動したりコピーしたりしない。これは手動で行う必要がある。
pw_shell
このフィールドは、ユーザのshellを定義する。このフィールドに対するチェックは行われない。
newusers はまず、指定されたすべてのユーザの作成または変更を試み、その変更をユーザまたはグループ・データベースに書き込む。エラーが発生した場合(データベースへの最終的な書き込みを除く)、データベースへの変更はコミットされない。
この最初のパスでは、ロックされたパスワードでユーザーが作成される(作成されないユーザーのパスワードは変更されない)。2回目のパスでは、PAMを使用してパスワードが更新される。パスワードの更新に失敗すると報告されるが、他のパスワードの更新が停止することはない。
このコマンドは、多くのアカウントが一度に更新される大規模なシステム環境での使用を想定している。

OPTIONS

newusersコマンドに適用するオプション:

--badname
規格外の名称を許可する
-h, --help
ヘルプを表示し、終了する
-r, --system
システムアカウントを作成する。
システムユーザーは /etc/shadow にエイジング情報がない状態で作成され、その数値識別子は /etc/login.defs で定義されている SYS_UID_MIN-SYS_UID_MAX の範囲から選ばれるが、その代わりに UID_MIN-UID_MAX(およびグループ作成時のGID対応)ではなく、/etc/login.defsで定義されたSYS_UID_MIN-SYS_UID_MAXの範囲で選ばれる。
-R, --root CHROOT_DIR
CHROOT_DIRディレクトリの変更を適用し、CHROOT_DIRディレクトリの設定ファイルを使用する。

CAVEATS

入力ファイルには暗号化されていないパスワードが含まれているため、保護する必要がある。

CONFIGURATION

/etc/login.defsにある以下の設定変数で、このツールの動作が変わる:

GID_MAX (number), GID_MIN (number)
useradd, groupadd, newusersで通常のグループを作成する際に使用するグループIDの範囲である。
GID_MIN (resp. GID_MAX) のデフォルト値は1000 (resp. 60000)である。
HOME_MODE (number)
新しいホームディレクトリのためのモード。指定されない場合、UMASK がモードを作成するために使用される。
useraddnewusers は、作成するホームディレクトリのモードを設定するためにこれを使用する。
MAX_MEMBERS_PER_GROUP (number)
グループエントリあたりの最大メンバー数。最大値に達すると、/etc/groupに新しいグループエントリ(行)が開始される(同じ名前、同じパスワード、同じGIDで)。
デフォルト値は0である。つまり、グループ内のメンバー数に制限はない。
この機能(split group)は、グループ・ファイルの行の長さを制限することを許可する。これは、NISグループの行が1024文字より大きくないことを確認するのに便利である。
このような制限を強制する必要がある場合は、25 を使用できる。
注意:分割グループは、すべてのツールでサポートされていない場合がある(Shadow toolsuite でも)。本当に必要でない限り、この変数を使用するべきではない。
PASS_MAX_DAYS (number)
パスワードが使用できる最大日数である。これより古いパスワードの場合、パスワードの変更が強制される。指定しない場合は、-1が想定される(制限を解除する)。
PASS_MIN_DAYS (number)
パスワードの変更に許容される最短日数である。これより早くパスワードを変更しようとすると、拒否される。指定しない場合、-1が仮定される(制限を無効にする)。
PASS_WARN_AGE (number)
パスワードの有効期限が切れるまでの警告日数。0は、有効期限切れ当日にのみ警告が出されることを意味し、負の値は警告が出されないことを意味する。指定しない場合は、警告は行われない。
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
/etc/subuid が存在する場合、useraddnewusers コマンドは (すでに下位のグループ ID を持っていない限り) 各新規ユーザに対して SUB_GID_MIN から SUB_GID_MAX の範囲から未使用のグループ ID を割り当てる。
SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNTのデフォルト値はそれぞれ100000, 600100000, 65536である。
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
/etc/subuid が存在する場合、useraddnewusers コマンドは (すでに下位のユーザ ID を持っていない限り) 各新規ユーザに対して SUB_UID_MIN から SUB_UID_MAX までの範囲から未使用のユーザ ID SUB_UID_COUNT を割り当てる。
SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNTのデフォルト値はそれぞれ100000, 600100000, 65536である。
SYS_GID_MAX (number), SYS_GID_MIN (number)
useradd, groupadd, newusersによるシステムグループの作成に使用されるグループIDの範囲。
SYS_GID_MIN (resp. SYS_GID_MAX) のデフォルト値は 101 (resp. GID_MIN-1) である。
SYS_UID_MAX (number), SYS_UID_MIN (number)
useradd,newusersによるシステムユーザの作成に使用されるユーザIDの範囲。
SYS_UID_MIN (resp. SYS_UID_MAX) のデフォルト値は 101 (resp. UID_MIN-1) である。
UID_MAX (number), UID_MIN (number)
useradd, newusersによる一般ユーザの作成に使用されるユーザIDの範囲。
UID_MIN (resp. UID_MAX) のデフォルト値は 1000 (resp. 60000) である。
UMASK (number)
ファイルモード作成マスクはこの値で初期化される。指定されない場合、マスクは 022 に初期化される。
useraddnewusers は、HOME_MODE が設定されていない場合、作成するホームディレクトリのモードを設定するためにこのマスクを使用する。
また、pam_umaskによって、デフォルトのumask値として使用される。

FILES

/etc/passwd
ユーザアカウント情報
/etc/shadow
セキュアユーザアカウント情報
/etc/group
グループアカウント情報
/etc/gshadow
セキュアグループアカウント情報
/etc/login.defs
Shadow password suiteコンフィグレーション
/etc/pam.d/newusers
newusersのPAM configuration
/etc/subgid
ユーザ毎のサブgroup ID
/etc/subuid
ユーザ毎のサブuser ID

SEE ALSO

login.defs, passwd, subgid, subuid, useradd

External link