paul
次のコマンドを使用して名前付きユーザーを作成しました。
sudo adduser paul
adduser
という新しいグループも作成され、paul
ユーザーのデフォルトグループになりますpaul
。
paul
ユーザーと一緒にファイルを作成し、次のコマンドを使用してその情報を表示しましたls-l
。
-rw-r--r-- 1 paul paul 25 2017-05-14 15:30 1.txt
paul
その後、次を使用してユーザーを削除しました。
sudo userdel paul
次に、次のコマンドを使用して、以前に作成されたファイルの情報を表示しましたls -l
。
-rw-r--r-- 1 1001 1001 25 2017-05-14 15:30 1.txt
ユーザーを削除したばかりで、paul
ユーザーはそのIDに置き換えられました。1001
しかし、なぜグループ名の代わりにグループIDが表示されますか?グループも削除されましたか?
答え1
一般化する
簡単な答えは次のとおりです。ユーザーが削除されると、そのグループに他のユーザーが含まれていない限り、そのユーザーのデフォルトグループも削除されます。後者の場合、ユーザーは削除されますが、グループは削除されません。
私たちはこれを自分で簡単に確認できます。
ケース1:削除されたユーザーのデフォルトグループに他のユーザーがいません。
まず、基本グループに他のユーザーが含まれていない場合を考えます。
ユーザーの作成paul
:
root@host:~# useradd paul
paul
次のコマンドを使用してグループを確認しますgetent
。
root@host:~# getent group paul
paul:x:1001:
ユーザーの削除paul
:
root@host:~# userdel paul
paul
次のコマンドを使用してグループを確認しますgetent
。
root@host:~# getent group paul
root@host:~#
このコマンドの出力はありません。グループを直接削除してみることもできますpaul
。
root@host:~# groupdel paul
groupdel: group 'paul' does not exist
これによりpaul
、グループがもう存在しないことが確認されます。
シナリオ 2: ユーザーの既定のグループ内の他のユーザーが削除されました。
それでは、他のユーザーを含むグループのユーザーを削除しようとするとどうなるかを見てみましょう。
root@host:~# useradd user1
root@host:~# useradd user2
root@host:~# usermod -a -G user1 user2
root@host:~# groups user2
user2 : user2 user1
root@host:~# userdel user1
userdel: group user1 not removed because it has other members.
root@host:~# groups user2
user2 : user2 user1
root@host:~# getent group user1
user1:x:1002:user2
root@host:~# getent passwd user1
root@host:~# deluser user1
/usr/sbin/deluser: The user `user1' does not exist.
この場合user1
ユーザー削除されましたが、user1
グループ遺跡。