私がそれを読んだ後助ける。私はそれらの間に大きな違いがないと思う。
-g, --gid グループ
ユーザーの初期ログイングループのグループ名またはグループ番号。グループ名が必要です。グループ番号は既存のグループを参照する必要があります。
-G, --グループ GROUP1[,GROUP2,...[,GROUPN]]]
ユーザーがメンバーでもある補助グループのリスト。各グループは、スペースなしでカンマで次のグループと区別されます。これらのグループには、-g オプションで指定されたグループと同じ制限が適用されます。デフォルトでは、ユーザーは初期グループにのみ属します。
同じなら。なぜそれらはすべて存在するのですか?
答え1
-g
初期グループまたはデフォルトグループを設定します。これはのグループフィールドに表示される内容です/etc/passwd
。多くのディストリビューションでは、デフォルトのグループ名はユーザー名と同じです。
-G
補足または追加のグループを設定します。/etc/group
ユーザーアカウントがリストされているグループ。これには背中のグループを含めることができますsudo
。staff
答え2
彼らは違う。この-g
オプションはユーザーが属する必要がある「デフォルト」グループを指定しますが、この-G
オプションは1つ以上のセカンダリ(「セカンダリ」)グループを指定します。
私がアクセスできる仕事用機械で
$ id
uid=1001(me) gid=1001(me) groups=1001(me),27(sudo),110(lxd),1005(theproject)
これは、私の「デフォルト」グループがme
(私のユーザー名と同じ)ことを示します。しかし、私はいくつかの少数派のメンバーでもあります。
sudo
たとえば、このグループのメンバーシップを使用すると、このコマンドを使用して、この特定のシステムで設定された方法でシステムにひどいことをすることができます。sudo
sudo
/etc/sudoers
このグループのメンバーシップをtheproject
使用すると、他の人と作業しているプロジェクトで読み書き可能なグループファイルを変更できます。
生成されたファイルは通常デフォルトグループに自動的に割り当てられます。
答え3
適用されるグループ-g
はデフォルトグループであるため、たとえば、ファイルを作成すると、そのファイルに関連付けられているグループとして、デフォルトグループと共にそのグループがデフォルトとして割り当てられます。ただし、sg
コマンドを使用してデフォルトで使用されるグループを一時的に変更することもできますnewgrp
。のすべてのグループは-G
補助グループです。これに関する追加情報ここ