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です。