名称中有空格时如何添加到组?

名称中有空格时如何添加到组?

当名称中有空格时,是否可以将名称添加为群组成员?例如,“foo bar”是名称,我希望将其添加到名为“reindeers”的组中。

该组是在 AD 中创建的,名称中包含空格是很常见的。我将无法更改名称。

如果已经在这里问过这个问题,我们深表歉意。我只是找不到任何参考资料。我确实找到了在 sudoers 配置文件中添加带有空格的用户名的解决方案/讨论,方法是用“_”替换空格,或者用反斜杠转义空格。不确定这是否适用于将其添加到组中。

谢谢,先生

答案1

在 POSIX 风格的系统上,组名和用户名不允许包含空格字符;看Debian Stretch 中的命令行登录失败,有两个字符串 ID供参考(这些限制适用于组和用户)。

在你的情况下你可能能够通过在 AD 而不是/etc/group.但我建议尝试说服当权者完全放弃空格......

答案2

我对来自 AD 的组名“域用户”也有类似的问题。因为chown我能够使用组 ID 号而不是组名称。例如:

sudo chown -R user1:118600513 /home/user1

其中 118600513 是“域用户”组的 ID。

答案3

您可以使用\转义空格字符。 example:domain\ users

答案4

更新:有人向我指出,问题是关于用户名有空格,而不是组名......但由于谷歌指出了这个答案“如何将用户添加到名称中有空格的组”(坦率地说,我也理解它)这样),我仍然会把这个剪掉。

  1. 添加不带空格的组名称:groupadd mybestfriends
  2. 将用户添加到其中:usermod -a -G mybestfriends friend1
  3. 编辑 /etc/group 并添加空格: nano /etc/group 将行:更改mybestfriends:x:1003:friend1 为:my best friends:x:1003:friend1
  4. 使用 GID 操作组:usermod -a -G 1003 friend2

目前我还没有看到任何副作用,但是YMMV。

不要忘记sudo适用的地方。

相关内容