Ubuntu/Debian系での操作方法について記す。
adduser
コマンドでユーザ追加する方法では、インタラクティブな操作が要求されます。
(--gecos ""オプションでは、パスワードは聞かれてしまいます。)
そこで、useradd
コマンドを使った方法を採用。
1. 依存アプリケーションをインストール。
- パスワードハッシュ生成に必要な
mkpasswd
はwhois
パッケージでインストール。
sudo apt-get install -y whois
2. パスワード:Password#1
、ユーザ名:*hogeusername
*をそれぞれ、任意値に置き換えて実行する。
# -mオプションでホームディレクトリを作成する。
sudo useradd -m -s /bin/bash -p `echo Password#1 | tr -d '\n' | mkpasswd -s -m sha-512` hogeusername
# ついでにSudoも追加。
sudo gpasswd -a hogeusername sudo
3. あとはお好みで/etc/skel
配下の.bashrc
などをホームディレクトリにコピーしましょう。
-
useradd
コマンドには、オプションがいろいろあるので適宜変更する。
$ useradd -h
使い方: useradd [オプション] LOGIN
useradd -D
useradd -D [オプション]
オプション:
-b, --base-dir BASE_DIR 新アカウントのホームディクトリの
ベースディレクトリ
-c, --comment COMMENT 新アカウントの GECOS フィールド
-d, --home-dir HOME_DIR 新アカウントのホームディレクトリ
-D, --defaults useradd のデフォルト設定を表示または変更
-e, --expiredate EXPIRE_DATE 新アカウントの期限切れ日付
-f, --inactive INACTIVE 新アカウントのパスワード無効化日数
-g, --gid GROUP 新アカウントの主グループの名前または ID
-G, --groups GROUPS 新アカウントの補助グループのリスト
-h, --help このヘルプを表示して終了する
-k, --skel SKEL_DIR 雛型ディレクトリに指定のものを使う
-K, --key KEY=VALUE /etc/login.defs のデフォルトより優先される
-l, --no-log-init ユーザを lastlog, faillog のデータベースに
追加しない
-m, --create-home ユーザのホームディレクトリを作成する
-M, --no-create-home ユーザのホームディレクトリを作成しない
-N, --no-user-group ユーザと同名のグループを作成しない
-o, --non-unique UID が同じユーザの作成を許す
-p, --password PASSWORD 新アカウントの暗号化されたパスワード
-r, --system システムアカウントを作成します
-R, --root CHROOT_DIR chroot するディレクトリ
-s, --shell SHELL 新アカウントのログインシェル
-u, --uid UID 新アカウントのユーザ ID
-U, --user-group ユーザと同じ名前のグループを作成する
-Z, --selinux-user SEUSER SELinux のユーザマッピングに指定した
SEUSER を使う
自動化最高です。