環境
Ubuntu 20.04
はじめに
ユーザーを新規作成する手順について確認してみた。
手順
ユーザーを作成するコマンドには2種類ある。useraddとadduser。どっちのコマンドを使ってもユーザーを作成することはできるのだが、adduserを使って作成する方が望ましい。useraddはオプションを付けて、コマンド一発で作成するのに対し、adduserは対話型で作成することができる。useraddにはたくさんのオプションが用意されており、すべてのオプションを把握した上で、ちゃんとオプションをつけてあげないと、後々厄介なことになるらしい。なので、adduserを使って作成しておいた方が無難ということになる。adduserを使っても裏側ではuseraddが流れてる。adduserを使うと、途中でパスワードの設定を聞いてくるが、useraddを使った場合、パスワードはpasswdコマンドを使って別途設定してやらないとけないことになる。このように2段階踏むことになり手間が増える。
adduser tana
作成したユーザーは、このコマンドで表示して確認することになる。新規ユーザーのuidは1001で作成されている。gidも同じ1001で作成されている。uid、gidは、新規作成すると、デフォルトでは1000から連番で振られるようになっている。自分が現在ログインしているユーザーが1000で割り振られているため、1001が割り振られたということになる。
cat /etc/passwd
新規作成したユーザーと同じ名前のグループも新規で自動作成され、新規作成したユーザーはそのグループに所属されることになる。グループの一覧を表示するコマンドがこれ。確かに、グループも新規作成されていることが確認できました。
cat /etc/group
ホームの配下に、tanaディレクトリが作成されていることも確認できます。
ls -l /home
tanaユーザーにログインしてみよう。ログインすると、プロンプトがtana@vagrantに変わり、確かにログインができました。suをする場合、suとsu -の2種類存在する。su - は環境変数を引き継がないでシェルを起動させたい場合、つまり、ユーザーが個別で保持している環境変数を有効にしたい場合に使う。suは、現在ログインしている自分のユーザーの環境変数をログイン先でも引き継いで使用したい場合に使う。サーバーで複数人で共同利用している場合は、su -を使い、個人ベースで利用する分には、suの方がいいだろう。ログアウトはexitで抜ける。
su tana
su - tana
グループだけを新規に作成してみる。
addgroup tana_g
グループが作成されていることを確認する。tana_gというユーザーは存在してなく、tana_gというグループだけを新規で作ったのだが、パスワードカラムにxが入っているのは気にしなくてOK。gidはちゃんと連番で1002になっています。
cat /etc/group
先ほど作成したユーザーを削除します。ここで重要なのが、必ず-remove-homeオプションをつけることです。このオプションをつけると、home配下のディレクトリも一緒に削除されるが、つけないと削除されずに残ってしまうことになる。ユーザー作成に、useraddとadduserと2種類のコマンドが存在したが、ユーザー削除においても、userdelとdeluserの2種類のコマンドが存在している。どっちを使ってもユーザーを削除することができるのだが、Ubuntuではどうもdeluserの方を推奨しているとのこと。
deluser --remove-home tana
つぎのコマンドで、tanaユーザーと、tanaグループが共に確かに削除されていることを確認します。homeディレクトリ配下のtanaディレクトリも確かに削除されていました。tanaユーザーだけを削除したのだが、tanaグループも自動で削除されています。削除するユーザーと同一名のグループに、削除対象ユーザーしか所属していない場合に限り、一緒に削除されるようです。
cat /etc/passwd
cat /etc/group
先ほど新規作成した、tana_gグループも削除してみる。
delgroup tana_g
tana_gグループが確かに削除されていることを確認。
cat /etc/group
c'est fini