在 Linux 中,我有以下内容id
:
uid=1005(username) gid=1005(username) groups=1005(username),33(www-data),1002(git)
我想将我的有效 gid 更改为,git
以便我创建的所有内容都属于gid
组。例如touch testfile
给owner=username group=git
如何?
在 Linux 中,我有以下内容id
:
uid=1005(username) gid=1005(username) groups=1005(username),33(www-data),1002(git)
我想将我的有效 gid 更改为,git
以便我创建的所有内容都属于gid
组。例如touch testfile
给owner=username group=git
如何?
您可以使用newgrp 命令更改当前组 :
组可以被锁定或有密码。有关详细信息,请参阅联机帮助页。
如果你有合适的 sudo 权限,你可以运行一个 shell 作为新组
这允许用户名运行
/bin/bash
为username:git
您甚至可以使用 exec 将当前 shell 替换为作为 git 组运行的 shell
在全球范围内,您不能 - 除非不更改用户的主要组。
但是在每个目录的基础上,这可以通过在目录上设置 setgid 位并将
chown
所述目录添加到正确的组来轻松实现。在上述目录下创建的任何内容都将继承 gid,而不管创建它的用户是谁。