GNU/Linux >> Linux の 問題 >  >> Linux

Linuxですべてのグループを一覧表示するにはどうすればよいですか?

Linuxグループはユーザーの集まりです。これらは、ユーザーのグループに特権を簡単に提供することを目的としています。このチュートリアルでは、Linuxですべてのグループを一覧表示するさまざまな方法を見ていきます。

Linuxですべてのグループを一覧表示する2つの方法

  1. / etc/groupファイル
  2. getentコマンド

1。 / etc/groupファイル

/ etc / groupファイルには、すべてのローカルグループが含まれています。したがって、このファイルを開いて、すべてのグループを確認できます。

root@localhost:~# cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
...

特定のグループを探している場合は、grepコマンドを使用してそのグループを除外します。

root@localhost:~# cat /etc/group | grep sudo
sudo:x:27:journaldev,test
root@localhost:~#

2。 getentコマンド

Linux getent コマンドは、NameServiceSwitchライブラリでサポートされているデータベースからエントリをフェッチします。これを使用して、グループデータベースからすべてのグループ情報を取得できます。

root@localhost:~# getent group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog
tty:x:5:
...

Linuxですべてのグループを一覧表示する例をもう少し見てみましょう。

Linuxはすべてのグループ名を一覧表示します

cutコマンドを使用して、グループ名のみを出力できます。これは、シェルスクリプトで特定のグループ名の存在を探しているときに役立ちます。

root@localhost:~# cut -d: -f1 /etc/group
root
daemon
bin
sys
adm
tty
...

getentコマンドと一緒にcutコマンドを使用することもできます。

root@localhost:~# getent group | cut -d: -f1
root
daemon
bin
sys
adm
tty
disk
...

cutコマンドは、コロン(:)区切り文字を使用してすべての行を分割します。次に、グループ名である最初のフィールドが-f1オプションを使用して選択されます。

すべてのグループ名をアルファベット順に一覧表示する

上記のコマンド出力をsortコマンドに渡して、自然な並べ替え順序で出力を出力できます。

root@localhost:~# getent group | cut -d: -f1 | sort
adm
audio
backup
bin
cdrom
crontab
daemon
...

すべてのLinuxグループの数

Linuxグループの数に関心がある場合は、次のコマンドを使用してください。

root@localhost:~# cat /etc/group | grep -c ""
68
root@localhost:~# getent group | grep -c ""
68
root@localhost:~#

ユーザーのすべてのグループを一覧表示する

groupsコマンドを使用して、ユーザーのすべてのグループを取得できます。

root@localhost:~# groups journaldev
journaldev : journaldev sudo test_users test_users_pwd
root@localhost:~# 

root@localhost:~# groups root
root : root
root@localhost:~#

現在のユーザーのグループを一覧表示する

ユーザー入力なしでgroupsコマンドを実行すると、現在のユーザーのグループが出力されます。

root@localhost:~# groups
root
root@localhost:~# su - journaldev
journaldev@localhost:~$ groups
journaldev sudo test_users test_users_pwd
journaldev@localhost:~$ 

グループIDとともにユーザーグループを一覧表示する

idコマンドを使用してユーザー情報を出力できます。このコマンドは、すべてのグループとそのグループIDを一覧表示します。

root@localhost:~# id journaldev
uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1004(test_users),1007(test_users_pwd)
root@localhost:~# 
root@localhost:~# id root
uid=0(root) gid=0(root) groups=0(root)
root@localhost:~# 

グループのすべてのユーザーを一覧表示する

getentコマンドまたは/etc/ groupsファイルを使用して、グループに属するすべてのユーザーを取得できます。

root@localhost:~# getent group sudo
sudo:x:27:journaldev,test
root@localhost:~# 
root@localhost:~# getent group sudo | cut -d: -f4
journaldev,test
root@localhost:~# 

結論

getentコマンドと/etc/ groupファイルを使用して、すべてのLinuxグループの詳細を取得できます。これらをcutandsortコマンドと一緒に使用して、より良い方法で出力を表示できます。

参考資料

  • getentのマニュアルページ
  • コマンドのマニュアルページを切り取る

Linux
  1. Linuxで開いているすべてのポートのリストを見つける方法

  2. Linuxにインストールされているすべてのパッケージを一覧表示する方法

  3. Linux でロックされているすべてのユーザーを一覧表示するにはどうすればよいですか?

  1. Linuxでユーザーを一覧表示する方法、すべてのユーザーを一覧表示するコマンド

  2. Linux グループ内のすべてのユーザーを一覧表示する方法は?

  3. Linuxでパーティションのすべてのファイルを一覧表示する方法は?

  1. PostgreSQLですべてのデータベースを一覧表示する方法

  2. LinuxSSコマンドの使用方法

  3. Linuxでユーザーを一覧表示する方法