Tom*_*son 5 linux users active-directory group
我们的站点使用 Active Directory,并且许多组名都包含空格。这使得groups即使通过肉眼也无法可靠地解析输出(是否有“伦敦”和“开发人员”组,或“伦敦开发人员”组?)。
我看不到groups使用另一个分隔符(换行符或 NUL 可以)或按 GID 列出组的方法。
当某些组名包含空格时,有没有办法可靠地获取用户组的列表?
我正在使用 Ubuntu 18.04.3,并且会很乐意安装更多软件包,或者编写脚本!
虽然groups似乎没有空分隔条目的选项,但id至少在适用于 Ubuntu 18.04 1的 GNU CoreUtils 实现中确实如此
-z, --zero
delimit entries with NUL characters, not whitespace;
Run Code Online (Sandbox Code Playgroud)
例如
id -Gnz someuser
Run Code Online (Sandbox Code Playgroud)
应该给出 的补充组名称的空分隔列表someuser- 您可以使用以下命令检查情况
id -Gnz someuser | xargs -0 printf '%s\n'
Run Code Online (Sandbox Code Playgroud)
1请注意,POSIX 不强制使用此选项,因此它不可移植。例如,请参见The Open Group 基本规范