我属于几个用户组(比如编码器,项目管理员,sudo),由于某种原因,我可能不在特定的组中。当我在属于特定组的特定目录中时,会发生这种情况,我需要写访问权来创建新文件。我在一个不同的群体中非常烦人。当我运行groups命令时,我在groupA中列出,我如何成为groupB?
当我进行搜索时,顶部链接将转到如何创建组。
答案 0 :(得分:1)
如果您是管理员,只需以root用户或具有相应权限的用户身份执行此操作。
如果您试图避免这种情况,可以将自己添加到群组中。大多数系统都可以通过一个简单的命令来实现:
sudo usermod -a -G newgroup username
较旧的系统需要编辑/etc/group
。首先尝试sudo vigr
(“vi组”,与vipw
很像passwd文件),如果不存在,您可以直接通过sudo vi /etc/group
进行编辑。
找到相关群组并追加自己。用户位于最后一个以冒号分隔的部分,并在该部分中以逗号分隔。例如,您可以将自己添加到“cdrom”和“games”组:
在:
root:x:0:
users:x:100:kemin
cdrom:x:24:
games:x:60:adam
后:
root:x:0:
users:x:100:kemin
cdrom:x:24:kemin
games:x:60:adam,kemin
一种非常快速的程序化方法 - 缺乏安全性 - 可能看起来像:
sudo sed -i '/^games:/s/$/,kemin/; s/:,/:/g' /etc/group
我上面只添加了一个安全性,它占了一个空组(不需要逗号)。这不会检查以确保您最初不在组中,并且我没有使用正则表达式替换(/^\(games\|cdrom\):/…
),因为非GNU sed不支持它。
(这可能不适用于将/ etc / group锁定为vigr的系统。事实上很难让所有安全设备都正确,这就是为什么这样的锁定是合理的。)
这不会马上工作!你需要注销并重新登录,否则就像你自己一样sudo(这是一种很好的方法,可以在没有注销的情况下进行测试),例如: sudo -u $USERNAME groups
,或通过虚拟终端( Alt + F2 )或ssh localhost
之类的内容获取新的登录信息。
答案 1 :(得分:0)
该命令实际上是newgrp。其他几个与组相关的命令是:
chdgrp List groups with title and remaining balance
groups See groups to which you belong with primary group first
chgrp Change group ownership of directories and files