groupdelコマンドはグループを削除するコマンドになります。グループを削除した後、ファイルのグループを確認すると削除されたグループのグループIDが表示されます。
ユーザは1つのグループに所属する必要があります。これをプライマリグループといいます。gユーザのプライマリグループを削除できないことに注意が必要です。
グループを削除
groupdelコマンドはグループを指定して、そのグループを削除できます。
コマンド例と実行結果
1 2 3 4 5 6 7 |
$ sudo awk '/^mygroup:/{print FILENAME,$0}' /etc/group /etc/gshadow /etc/group mygroup:x:1010: /etc/gshadow mygroup:!:: $ $ sudo groupdel mygroup $ sudo awk '/^mygroup:/{print FILENAME,$0}' /etc/group /etc/gshadow $ |
グループが削除された後にファイルのグループ情報は、削除された後のグループIDが表示されます。これらのファイルはchgrpコマンド等のコマンドで他のグループへ所属するように修正することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ ls -lg * -rw-rw-r-- 1 mygroup 0 7月 2 20:56 file.txt -rw-rw-r-- 1 mygroup 0 7月 2 21:04 file2.txt -rw-rw-r-- 1 mygroup 0 7月 2 21:04 file3.txt $ $ sudo groupdel mygroup $ ls -lg * -rw-rw-r-- 1 1010 0 7月 2 20:56 file.txt -rw-rw-r-- 1 1010 0 7月 2 21:04 file2.txt -rw-rw-r-- 1 1010 0 7月 2 21:04 file3.txt $ $ sudo chgrp ubuntu file* $ ls -lg * -rw-rw-r-- 1 ubuntu 0 7月 2 20:56 file.txt -rw-rw-r-- 1 ubuntu 0 7月 2 21:04 file2.txt -rw-rw-r-- 1 ubuntu 0 7月 2 21:04 file3.txt |
グループの存在しないファイルを検索
findコマンドを利用するとグループの存在しないファイルを検索できます。
find - ファイルを検索しファイルリストを出力する
findコマンドはファイルを検索して検索したファイルリストを出力するコマンドです。追加で式(expression)を記述することで、検索するファイルを絞り込むことができます。また、-exec等の式を用いることで検索したファイルを用いてコマン...
グループの存在しないファイルは-nogroupの条件を付けることでファイルリストを絞り込めます。
1 2 3 4 5 6 7 8 9 |
$ ls -lg * -rw-rw-r-- 1 1010 0 7月 2 20:56 file.txt -rw-rw-r-- 1 1010 0 7月 2 21:04 file2.txt -rw-rw-r-- 1 1010 0 7月 2 21:04 file3.txt $ $ find . -nogroup ./file2.txt ./file.txt ./file3.txt |
さらに-execdirや-execの式を用いることでファイルのグループ情報も変更できます。
1 2 3 4 5 |
$ find . -nogroup -execdir sudo chgrp ubuntu {} \; $ ls -lg * -rw-rw-r-- 1 ubuntu 0 7月 2 20:56 file.txt -rw-rw-r-- 1 ubuntu 0 7月 2 21:04 file2.txt -rw-rw-r-- 1 ubuntu 0 7月 2 21:04 file3.txt |