Ubuntu Server/CentOSの初期設定 ユーザ・グループの設定編
インストールが完了しアップデートまで完了したら次はユーザの作成をします。
っていうか、順序は別にそれぞれで良いとは思うんですけどね。
ユーザの登録・削除など
前提としていちいちsudoするのがめんどいのでrootユーザになります。
rootユーザにスイッチ
$sudo su –
ユーザ登録
#useradd -m user02
※-mオプションでホームディレクトリを作成する
root@ubuntuserver01:~# useradd -m user02 root@ubuntuserver01:~# ls -ld /home/user02 drwxr-xr-x 2 user02 user02 4096 Mar 29 13:35 /home/user02 |
useradd でユーザを作成し、ls -ldコマンドでホームディレクトリを確認してみました。
groupの管理
グループを作って、作成したユーザをそのグループに追加します。
groupの作成
groupaddコマンドで作成します。
ちゃんと作成できたかは、/etc/groupファイルを確認します。
作成:groupadd group01
確認:tail -1 /etc/group
root@ubuntuserver01:~# groupadd group01 root@ubuntuserver01:~# tail -1 /etc/group group01:x:1002: root@ubuntuserver01:~# |
groupへの追加
usermodコマンドで追加します。
idコマンドで確認です。
作成:usermod user02 -G group01
確認:id user02
root@ubuntuserver01:~# usermod user02 -G group01 root@ubuntuserver01:~# id user02 uid=1001(user02) gid=1001(user02) groups=1001(user02),1002(group01) root@ubuntuserver01:~# |
2次groupへの追加
これもusermodコマンドを使いますが、オプションに注意です。
usermod user02 -aG group02
その前に2次グループとなるグループを先に作る必要があります。
root@ubuntuserver01:~# groupadd group02 root@ubuntuserver01:~# tail -2 /etc/group group01:x:1002:user02 group02:x:1003: root@ubuntuserver01:~# usermod user02 -aG group02 root@ubuntuserver01:~# id user02 uid=1001(user02) gid=1001(user02) groups=1001(user02),1002(group01),1003(group02) root@ubuntuserver01:~# |
※gropからの削除は /etc/group を編集すればできます。
(なお、コマンドがあるか不明です。スミマセン)
groupの削除
groupdel group02 で削除してみます。
root@ubuntuserver01:~# groupdel group02 root@ubuntuserver01:~# tail -2 /etc/group user02:x:1001: group01:x:1002:user02 root@ubuntuserver01:~# id user02 uid=1001(user02) gid=1001(user02) groups=1001(user02),1002(group01) root@ubuntuserver01:~# |
グループを削除すると、そのグループに入っていたユーザの設定からも削除されることが分かりますね。
ユーザの削除
userdel -r ユーザ名
/etc/passwd /etc/shadowファイルからエントリーが削除されます。
注意:
-r または –remove オプションを付けないとホームディレクトリが残ってしまうので忘れないようにしましょう。
残したい場合はオプションは要りません。
下記はユーザ削除と/etc/passwd と/etc/shadowの内容とホームディレクトリ(/home/user02)が削除されたことを確認するまでの例です。
root@ubuntuserver01:~# tail -1 /etc/passwd user02:x:1001:1001::/home/user02:/bin/sh root@ubuntuserver01:~# tail -1 /etc/shadow user02:!:18715:0:99999:7::: root@ubuntuserver01:~# ls -ld /home/user02 drwxr-xr-x 2 user02 user02 4096 Mar 29 13:35 /home/user02 root@ubuntuserver01:~# root@ubuntuserver01:~# userdel -r user02 userdel: user02 mail spool (/var/mail/user02) not found root@ubuntuserver01:~# ls -ld /home/user02 ls: cannot access '/home/user02’: No such file or directory root@ubuntuserver01:~# tail -1 /etc/passwd lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false root@ubuntuserver01:~# tail -1 /etc/shadow lxd:!:18712:::::: root@ubuntuserver01:~# |
ユーザの情報の確認 と パスワード変更日数の設定
chageコマンドを使います。
chage -l user03
#パスワードの変更なしで使用できる最大日数を設定
chage -M 60 user03
#パスワードの変更の警告を何日前から出すかを設定
chage -W 14 user03
root@ubuntuserver01:~# root@ubuntuserver01:~# useradd -m user03 root@ubuntuserver01:~# root@ubuntuserver01:~# chage -l user03 Last password change : Mar 29, 2021 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 root@ubuntuserver01:~# root@ubuntuserver01:~# #パスワードの変更なしで使用できる最大日数を設定 今回は60日に設定 root@ubuntuserver01:~# chage -M 60 user03 root@ubuntuserver01:~# root@ubuntuserver01:~# chage -l user03 Last password change : Mar 29, 2021 Password expires : May 28, 2021 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 60 Number of days of warning before password expires : 7 root@ubuntuserver01:~# root@ubuntuserver01:~# #パスワードの変更の警告を何日前から出すかを設定 今回は14日に設定 root@ubuntuserver01:~# chage -W 14 user03 root@ubuntuserver01:~# root@ubuntuserver01:~# chage -l user03 Last password change : Mar 29, 2021 Password expires : May 28, 2021 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 60 Number of days of warning before password expires : 14 root@ubuntuserver01:~# |
補足
ユーザの登録はこんな感じでコマンドで実行しますが、
設定値というのが色々とあります。
それをすべてコマンドで指定するのは面倒なので
/etc/default/useradd にデフォルト値が設定されています。
デフォルト値を変えたい場合は、このファイルを必要に応じてカスタマイズします。
(バックアップを取ってからね。)
#ファイルの確認
ls -l /etc/default/useradd
#ファイルバックアップ
cp -p /etc/default/useradd /etc/default/useradd.`date +%Y%m%d%H%M%S`
#ファイルの中身を確認
cat /etc/default/useradd
ユーザ アカウントロック/アンロック
ユーザ アカウントのロックとアンロックは usermod コマンドか、passwdコマンドを使います。
どっちを使えばいいのか、それは正解があるのかどうか不明です。はっはっは。
usermodコマンドをを使う場合
アカウントロック:usermod -L ユーザ名
アカウントアンロック:usermod -U ユーザ名
passwdコマンドを使う場合
アカウントロック:passwd -l ユーザ名
アカウントアンロック:passwd -u ユーザ名
ユーザー、グループの管理編は以上になります。
ではでは。
なお、
例によってコマンド実行例は Ubuntu Server 20.04.2 LTSです。