zoukankan      html  css  js  c++  java
  • Linux 修改用户组后,如何关闭所有 X session 下使得组生效?

    最近在使用 docker-ce ,在配置当前用户组为 docker 的时候(sudo usermod -aG docker $USER)发现:必须要关闭当前的 session 重新登录 后,才能使得修改的组生效。 

    通常情况下,因为当前环境还运行很多软件,如果重新登录session的话,很不方便。我通过查找资料,寻找到一些解决方案:

    方案一:

    1. id -g 给出当前用户的主组号,我们称为 origin_group_id, id -G 列出所有组号
    2. newgrp <new group name> , 这里我使用: newgrp docker
    3. id -g 显示当前组 为 973 正是docker 组了。
    4. 然后,再使用 newgrp <origin_group_id> , 此处 我使用的是 newgrp xuyaowen .
    5. 这种方法,一次能使得一个组生效,但是能解决大多数情景的需求。而且也不需要重新输入 root 密码了。

    另外一种解决方案: 

    1. su - $USER : 使用这个命令重新开始一个 session , 并重新继承当前环境。
    2. id : 再使用命令,就会发现所修改的组存在列表中。

    这两种解决方案,也适用于解决 chsh 在 X window 中改变当前用户默认 shell 不及时生效的情况。

    希望能解决你的问题,如果对你有帮助,请点击右下角的推荐。

    参考连接:https://superuser.com/questions/272061/reload-a-linux-users-group-assignments-without-logging-out

    保持更新,转载请注明出处。

  • 相关阅读:
    HDU 1010 Tempter of the Bone
    HDU 4421 Bit Magic(奇葩式解法)
    HDU 2614 Beat 深搜DFS
    HDU 1495 非常可乐 BFS 搜索
    Road to Cinema
    Sea Battle
    Interview with Oleg
    Spotlights
    Substring
    Dominating Patterns
  • 原文地址:https://www.cnblogs.com/xuyaowen/p/usermod_session.html
Copyright © 2011-2022 走看看