環境
Ubuntu20.4
はじめに
ローカルの開発環境だけを触っていると、新規でユーザーを作成したり、削除したりすることはまずありません。サーバー管理者であれば、新人が入ってきたら、ユーザーを登録してあげたり、退職者のユーザーを削除するといったことはあるでしょうが、そうでもない限り、自分1人のユーザー以外を登録することは、まずありません。唯一、ユーザーが登録された例は、PostgreSQLをインストールしたときに、postgresユーザーが自動で登録されたときだけです。ユーザー登録にとんと慣れていないことに気づき、勉強のために、ユーザー登録をやってみました。
動作確認
ユーザーを新規で追加します。Ubuntuの場合、デフォルトではユーザーを作成しても、homeの配下にユーザーのディレクトリが作成されないようになっています。RedHat系では作成されます。
$useradd testuser
ユーザーが追加されていることを確認します。
$cat /etc/passwd
testuser:x:1001:1001::/home/testuser:/bin/sh
ユーザーと同じ名前のグループも一緒に追加されていることを確認します。
$cat /etc/group
testuser:x:1001:
パスワードが登録されているファイルにも、新規ユーザーが追加されています。しかし、パスワードはまだ設定していないため、パスワード欄には!が表示されます。
$sudo cat /etc/shadow
testuser:!:19312:0:99999:7:::
パスワードを設定します。
$sudo passwd testuser
パスワードが設定されていることを確認します。パスワードはハッシュ化されて表示されます。
$sudo cat /etc/shadow
testuser:$6$rXy8IY1GML...:19312:0:99999:7:::
一度設定したパスワードは変更することができます。
$sudo passwd testuser
設定したパスワードを削除することもできます。削除する場合は、オプションdをつけます。
$sudo passwd -d testuser
パスワードを削除すれば、パスワード欄の2カラム目は空白になります。
$sudo cat /etc/shadow
testuser::19312:0:99999:7:::
作成したユーザーでログインできるか確認します。
$su testuser
$su - testusr
確かに、testuserでログインできていることが確認できます。
$id
uid=1001(testuser) gid=1001(testuser) groups=1001(testuser)
後始末
確認が終わったので、作成したユーザーは削除します。
$sudo userdel testuser
ユーザー、パスワード、グループと、最後にそれぞれ削除されていることを確認します。
$cat /etc/passwd
$cat /etc/group
$sudo cat /etc/shadow