Ubuntu 16.04 LTSの初期設定にて、作業用ユーザ追加時に行った作業です。
目的
作業用ユーザを作成して、ホームディレクトリとログインシェルの設定を行います。
ホームディレクトリ作成設定
Ubuntuはデフォルトの状態では、ユーザを作成痔にホームディレクトリが作成されません。
ユーザ作成時にホームディレクトリが作成されるよう設定します。
/etc/login.defs
をviなどのエディタで開き、CREATE_HOME yes
を追加します。
ユーザ追加
root権限のユーザでログインし、useraddコマンドでユーザを作成します。
useradd hoge
ホームディレクトリ/home/hoge
が作成されていると思います。
ホームディレクトリのパスを変更したい場合には、/etc/default/useradd
ファイルのHOMEを編集してください。
パスワード設定
作成したユーザーにパスワードを設定します。
passwd hoge
パスワードの入力を2回求められます。
※パスワードは画面出力されません。
ログインシェルの設定
パスワードの設定までで、作業用ユーザの作成は完了していますが、ログインシェルの設定が抜けているため、
.bashrc
などの設定が読み込まれていない場合があります。
その場合は、ユーザに対してログインシェルの設定を行います。
まず、ユーザ情報からログインシェルを確認します。
cat /etc/passwd | grep hoge
結果として、以下のような出力があるかと思います。ホームディレクトリパスの次にログインシェルの設定が表示されます。
hoge:x:1000:1000::/home/hoge:
上記の場合だと、ログインシェルが設定されていない状態です。
ログインシェルが設定されていないので、ログインシェルを設定します。
usermod -s /bin/bash hoge
上記コマンドによって、hogeユーザーのログインシェルにbashが設定されます。
誤記についてのご指摘や、よりよい方法のご提案などは歓迎します!
以上です。お疲れ様でしたー。
おまけ
ファイル編集など回りくどいことをしましたが、useradd -m -s /bin/bash hoge
でも同様の結果が得られます。
状態の変更であったり、デフォルトの設定を覚えておいた方があとで応用が利くので、どちらも覚えておくとよいと思います。
※自分の備忘目的ですが・・・!