我首先使用以下列出了组:
groups
Run Code Online (Sandbox Code Playgroud)
我添加了组使用
groupadd -g 300 oinstall
groupadd –g 500 dba
Run Code Online (Sandbox Code Playgroud)
然后当我做
groups
root bin daemon sys adm disk wheel sfcb
Run Code Online (Sandbox Code Playgroud)
我找不到我添加的组。如何使用组 ID 列出组?另外,如果我尝试再次添加它,它会说组已经存在。
jor*_*anm 80
该groups
命令列出用户当前所属的组,而不是系统上所有可用的组。您可以使用该getent
命令按名称或 gid 查找组。
getent group oinstall
getent group 500
Run Code Online (Sandbox Code Playgroud)
要显示所有组,只需将您的搜索查询放在命令之外:
getent group
Run Code Online (Sandbox Code Playgroud)
您可以使用列出组,getent
如果不存在,请查看/etc/group
运行命令时,GID 是输出中的第三个值,例如:
$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:
Run Code Online (Sandbox Code Playgroud)
因此,要仅列出组名及其 GID,请使用awk
打印您想要的列,如下所示:
$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
Run Code Online (Sandbox Code Playgroud)
另见http://man7.org/linux/man-pages/man1/getent.1.html
在getent
不存在的情况下。
$ grep $group /etc/group
GID 是输出中的第三个值。例如
$ grep users /etc/group
users:x:100:
Run Code Online (Sandbox Code Playgroud)
在上面,组用户的 GID 是 100。要只获取组名和 GID,您可以像这样使用 awk 和 grep:
$ cat /etc/group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
Run Code Online (Sandbox Code Playgroud)
请注意,对于设置为使用外部身份验证(如 LDAP)的系统,/etc/group 文件中不会出现所有组。另见http://www.cyberciti.biz/faq/understanding-etcgroup-file/
归档时间: |
|
查看次数: |
242585 次 |
最近记录: |