如何更改我当前的unix组
我属于几个用户组(比如编码员、项目经理、sudo),出于某种原因,我可能不属于某个特定的组。当我在属于特定组的特定目录中时,就会发生这种情况,在该组中我需要写访问权限来创建新文件。我在一个不同的小组里,这很烦人。当我运行groups命令时,我被列为groupA,如何成为groupB如何更改我当前的unix组,unix,sysadmin,Unix,Sysadmin,我属于几个用户组(比如编码员、项目经理、sudo),出于某种原因,我可能不属于某个特定的组。当我在属于特定组的特定目录中时,就会发生这种情况,在该组中我需要写访问权限来创建新文件。我在一个不同的小组里,这很烦人。当我运行groups命令时,我被列为groupA,如何成为groupB 当我进行搜索时,顶部链接指向如何创建组 该命令实际上是newgrp。其他几个与组相关的命令包括: chdgrp List groups with title and remaining balance groups
当我进行搜索时,顶部链接指向如何创建组 该命令实际上是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
如果您是管理员,只需以root用户或具有适当权限的用户的身份执行即可 如果你想避免这种情况,你可以加入小组。大多数系统都允许您通过一个简单的命令:
sudo usermod-a-G新组用户名
较旧的系统需要编辑/etc/group
。首先尝试sudo vigr
(“vi组”,很像passwd文件的vipw
),如果没有,您可以通过sudo vi/etc/group
直接编辑它
找到相关的组并加入其中。用户位于最后一个以冒号分隔的节中,并且在该节中以逗号分隔。例如,您可以将自己添加到“cdrom”和“游戏”组:
之前:
root:x:0:
用户:x:100:kemin
cdrom:x:24:
游戏:x:60:adam
之后:
root:x:0:
用户:x:100:kemin
cdrom:x:24:kemin
游戏: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组
,或者通过虚拟终端获得新登录(Alt+F2)或者类似于ssh localhost
的东西,如果您还不是所讨论的组的成员,这是否有效?