Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改我当前的unix组_Unix_Sysadmin - Fatal编程技术网

如何更改我当前的unix组

如何更改我当前的unix组,unix,sysadmin,Unix,Sysadmin,我属于几个用户组(比如编码员、项目经理、sudo),出于某种原因,我可能不属于某个特定的组。当我在属于特定组的特定目录中时,就会发生这种情况,在该组中我需要写访问权限来创建新文件。我在一个不同的小组里,这很烦人。当我运行groups命令时,我被列为groupA,如何成为groupB 当我进行搜索时,顶部链接指向如何创建组 该命令实际上是newgrp。其他几个与组相关的命令包括: chdgrp List groups with title and remaining balance groups

我属于几个用户组(比如编码员、项目经理、sudo),出于某种原因,我可能不属于某个特定的组。当我在属于特定组的特定目录中时,就会发生这种情况,在该组中我需要写访问权限来创建新文件。我在一个不同的小组里,这很烦人。当我运行groups命令时,我被列为groupA,如何成为groupB


当我进行搜索时,顶部链接指向如何创建组

该命令实际上是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

的东西,如果您还不是所讨论的组的成员,这是否有效?