2017-06-27 83 views
0

我属于几个用户组(称为编码员,projectmanager,sudo),由于某种原因,我可能不在特定组中。当我在属于特定组的特定目录中,并且需要写入权限来创建新文件时,会发生这种情况。我在一个不同的小组中很烦人。当我运行组命令时,我被列在groupA中,我如何成为groupB?如何更改当前的unix组

当我进行搜索时,顶部链接将转到如何创建组。

回答

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 
+0

如果您还不是该组织的成员,这项工作是否会进行? –

1

如果你是管理员,只是做了超级用户或具有相应权限的用户。

如果您试图避免这种情况,您可以将自己添加到该组中。大多数系统将让你做一个简单的命令:

sudo usermod -a -G newgroup username 

旧的系统需要编辑/etc/group。首先尝试sudo vigr(“vi group”,很像passwd文件的vipw),如果不存在,可以直接通过sudo vi /etc/group进行编辑。

找到相关的组并追加它自己。用户位于最后冒号分隔的部分,并在该部分中用逗号分隔。例如,你可以自己添加到 “CDROM” 和 “游戏” 的群体:

前:

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 

一个非常快速的编程方法哪位缺乏safeties-可能看起来像:

sudo sed -i '/^games:/s/$/,kemin/; s/:,/:/g' /etc/group 

我只在上面添加了一个安全,它占一个空组(no逗号需要)。这不检查以确保您最初不在组中,并且我没有使用正则表达式替换(/^\(games\|cdrom\):/…),因为非GNU sed不支持它。

(这可能无法在锁定的/ etc /组vigr。这很难让所有的安全装置正确的事实是,为什么这样的锁定是有道理的系统工作。)

 

这不会马上工作!您需要注销并重新登录,否则sudo与自己一样(这是一种测试时没有退出麻烦的好方法),例如sudo -u $USERNAME groups,或通过虚拟终端(Alt + F2)或类似ssh localhost获得新登录。