デフォルト値の確認
-D
を付けて実行すると、対象のオプション(ホームディレクトリ設定)などを指定しなかった場合、何が設定されるのかを確認できます。
useradd -D
# GROUP=100
# HOME=/home
# INACTIVE=-1
# EXPIRE=
# SHELL=/bin/sh
# SKEL=/etc/skel
# CREATE_MAIL_SPOOL=no
例えば、ホームディレクトリを変えたい場合は-m
か-d
オプションを、デフォルトシェルを変えたい場合は-s
オプションを作る時に指定してあげます。
ユーザーを作る
sudo useradd
# -m で ホームディレクトリ $HOME/ を作り
# -s で デフォルトシェル /usr/bin/fish を指定
# sudo useradd -m -s /usr/bin/fish
以下のコマンドで表示されれば追加できていると確認できます。
ユーザー確認
cat /etc/passwd | grep
ここで「ユーザー名間違えてた」って時は、
sudo usermod -l
で変更できます。もし、ホームディレクトリも作ってしまっているなら、
sudo usermod -l ... -d /home/ -m
上記のように一緒に-d
と-m
を付けることで変更できます。
sudoer にする
/etc/sudoers/<user-name>
を作ります。
ALL=(ALL) ALL
上だとsudo
を付けた時に毎回パスワードを入力する必要がある設定です。パスワードを省きたい場合は以下も追記します。
ALL=(ALL) NOPASSWD:ALL
ちなみにこのファイルは、/etc/sudoers
にこう書かれていることでsudoers.d
内に作ったファイルが読み込まれるようです。
#includedir /etc/sudoers.d
ユーザーのパスワードを設定する
sudo passwd
# Changing password for user test.
# New password: ***
# Retype new password: ***
シェルスクリプトなどで標準入力などで渡したい場合は次のように設定します。
echo | passwd --stdin
ubuntu ではpasswd
の代わりにchpasswd
を使います。
echo : | chpasswd
ユーザーを削除する
--remove
-r
を付けるとそのユーザーのホームディレクトリも削除します。
sudo userdel
# sudo userdel --remove