我正在开发 CentOS 6.9 版 Linux 发行版,其中我的用户名是两个不同组的成员:mygroup1
和mygroup2
。如果我当前使用我的主要组 ( ) 登录到交互式 shell mygroup1
,并尝试mygroup2
使用该命令切换到我的次要组 ( ) newgrp - mygroup2
,我的组确实会发生更改,但更改目录 ( ) 命令的行为cd ~
不会使我返回到mygroup2 主目录。知道为什么吗?
ssh [email protected]
id -ng
# returns: mygroup1
cd ~
# returns: /home/mygroup1/user
newgrp - mygroup2
id -ng
# returns: mygroup2
cd ~
# returns: /home/mygroup1/user (same as above, not mygroup2)
答案1
AFAIK,不存在每组主目录之类的东西。当您这样做时,cd ~
您将更改到通常设置的用户主目录/etc/passwd
,并且不依赖于您的组。
如果你想改变你的家,只需这样做:
newgrp - mygroup2
HOME=/home/mygroup2/user
cd ~ # Will move you to $HOME