相关疑难解决方法(0)

如何在无需重启的情况下应用新添加的用户组的更改?

假设我使用用户登录takpar

takpar@skyspace:/$
Run Code Online (Sandbox Code Playgroud)

作为 root,我使用以下命令添加takpar为组成员webdev

# usermod -a -G webdev takpar
Run Code Online (Sandbox Code Playgroud)

但似乎还没有应用,因为例如我无法进入webdev具有组读取权限的's 目录:

400169 drwxr-x--- 3 webdev webdev 4.0K 2011-08-15 22:34 public_html

takpar@skyspace:/home/webdev/$ cd public_html/
bash: cd: public_html/: Permission denied
Run Code Online (Sandbox Code Playgroud)

但是重新启动后,我可以按预期访问。由于这种组更改在我的日常工作中,是否有任何方法无需重新启动即可应用更改?

回答 似乎没有办法让当前会话知道新组,例如文件管理器不会处理新更改。但是重新登录就可以了。该su命令也适用于当前会话中的临时命令。

users permissions group

47
推荐指数
2
解决办法
7万
查看次数

usermod -a -G 组用户不起作用

我使用 Ubuntu 12.04。我正在尝试将用户添加gefalkowww-data组中。我用

root@xxx~# usermod -a -G www-data gefalko
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,我现在应该www-datagroups由 gefalko 运行时的输出中看到:

gefalko@xxx:~$ groups
Run Code Online (Sandbox Code Playgroud)

但是,输出中没有 www-data:

gefalko adm cdrom sudo dip plugdev lpadmin sambashare
Run Code Online (Sandbox Code Playgroud)

我想编辑index.phpwww-data 拥有的,但我不能(权限被拒绝):

gefalko@xxx:/var/www/html/projectx$ ls -l
total 1320
...
-rwxrwxr-x  1 www-data www-data    1613 Bal 18 10:18 index.php
...
Run Code Online (Sandbox Code Playgroud)

permissions group

34
推荐指数
1
解决办法
3万
查看次数

添加了用户补充组,但“组(1)”未显示更改

我正在尝试将自己添加到fuse用户组,但即使/etc/group在调用addgroupusermod后看起来正确,但看起来更改并未生效。

我两个都试过了...

sudo addgroup fjohnson fuse
Run Code Online (Sandbox Code Playgroud)

sudo usermod -a -G fuse fjohnson
Run Code Online (Sandbox Code Playgroud)

/etc/group显示更改

fuse:x:104:fjohnson
Run Code Online (Sandbox Code Playgroud)

但我看不懂

-rw-r----- 1 root fuse 215 Oct 16 10:39 /etc/fuse.conf
Run Code Online (Sandbox Code Playgroud)

作为

cat: /etc/fuse.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)

组(1)返回

fjohnson adm dialout cdrom plugdev lpadmin admin sambashare
Run Code Online (Sandbox Code Playgroud)

users group

19
推荐指数
1
解决办法
2万
查看次数

wireshark:无法在子进程中运行 /usr/sbin/dumpcap

可能的重复:
如何为组添加写权限?

当我运行 Wireshark 时,它显示以下消息:

Couldn't run /usr/sbin/dumpcap in child process: Permission denied
Are you a member of the 'wireshark' group? Try running
'usermod -a -G wireshark _your_username_' as root.
Run Code Online (Sandbox Code Playgroud)

我运行了这个命令:usermod -a -G wireshark myusername并使用检查了我的组groups myusername,我被添加到了wireshark组。但我仍然收到该错误消息。

[nima@nma ~]$ groups nima
nima : nima wheel dialout wireshark
[nima@nma ~]$ ls -l /usr/sbin/dumpcap 
-rwxr-x--- 1 root wireshark 67884 Aug 16 12:04 /usr/sbin/dumpcap
[nima@nma ~]$ /usr/sbin/dumpcap
-bash: /usr/sbin/dumpcap: Permission denied
Run Code Online (Sandbox Code Playgroud)

有什么问题?

permissions group

12
推荐指数
2
解决办法
4万
查看次数

为什么我不能在我拥有组写访问权限的目录中创建文件?

有一种情况我不太明白。我有这个目录,其中“webadmin”组拥有rwx权限:

$ ls -la
total 8
drwxrwxr-x 2 root webadmin 4096 Aug 27 12:17 .
     ?                                       ?
Run Code Online (Sandbox Code Playgroud)

我在组 webadmin :

$ groups eino
eino : eino sudo webadmin
Run Code Online (Sandbox Code Playgroud)

但是,我无法在目录中创建任何文件:

$ touch test.txt
touch: cannot touch 'test.txt': Permission denied
Run Code Online (Sandbox Code Playgroud)

怎么来的?rwx权限不应该给我这样做的权利吗?

permissions group

11
推荐指数
1
解决办法
2万
查看次数

每次启动时都缺少组

注销并重新登录并不能解决此问题。重新启动并不能解决这个问题。

注意:请不要将此问题标记为重复,我知道这个问题:我将一个用户添加到一个组,但文件的组权限仍然无效,并且已经多次尝试这些事情。


我已使用 将我的用户帐户添加到某些组usermod -aG,但是我无法访问与该组关联的任何资源。我可以使用 解决此问题sudo su - $USER,但这仅适用于我当前的终端会话。

示例终端会话:

$ id
uid=1008(erik) gid=1009(erik) groups=1009(erik)
$ echo $USER
erik
$ sudo su - $USER
[sudo] password for erik: 
$ id
uid=1008(erik) gid=1009(erik) groups=1009(erik),27(sudo),100(users),999(docker),1001(rvm)
Run Code Online (Sandbox Code Playgroud)

每次打开终端时我都必须这样做。重新启动并不能解决这个问题。

有什么方法可以让我在登录时获得分配给我的所有组?

发行版:Ubuntu 16.04 x64 用户 Catscrash 报告了与 Ubuntu 18.04 相同的问题


这似乎只发生在我在桌面上打开终端时。如果我通过 ssh 连接到机器或切换到 TTY(例如 ctrl+alt+F2),那么我会得到正确的组。

$ id
uid=1008(erik) gid=1009(erik) groups=1009(erik)
$ ssh localhost
erik@localhost's password: 
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-131-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management: …
Run Code Online (Sandbox Code Playgroud)

users permissions group

11
推荐指数
1
解决办法
3142
查看次数

id 命令不显示所有用户的组

我做了一个usermod将当前用户添加到user组中的操作,但是当我运行id -Gn它时只显示主用户的组:

[user@computer ~]$ id -Gn 
user
Run Code Online (Sandbox Code Playgroud)

但是当我指定用户时,它正常工作:

[user@computer ~]$ id -Gn user
user newgroup
Run Code Online (Sandbox Code Playgroud)

你知道为什么它会这样吗?我是否遗漏了有关 UNIX 中组管理的内容?

group

8
推荐指数
1
解决办法
2万
查看次数

我可以在当前(shell)进程中添加到我的组中吗?

如果我将自己添加到一个组中,则它仅适用于新启动的进程。实际上它比这更受限制;它似乎只适用于新登录。我不确定确切的机制是什么,但这不是我的问题(尽管我对此也很好奇)。

我的问题是:是否可以在当前 shell 进程中更新我的组成员身份?

我怀疑答案是否定的。

一个例子(这不是直接复制和粘贴):

$ groups ; groups kst
kst oldgroup1 oldgroup2
kst : kst oldgroup1 oldgroup2
$ sudo adduser kst newgroup
[sudo] password for kst:
Adding user `kst' to group `newgroup' ...
Adding user kst to group newgroup
Done.
$ groups ; groups kst
kst oldgroup1 oldgroup2
kst : kst oldgroup1 oldgroup2 newgroup
$
Run Code Online (Sandbox Code Playgroud)

在 之后adduser,我的帐户是 的成员newgroup,但该成员身份并未反映在当前的 shell 进程中。

显而易见的解决方案是注销并重新登录,但这很不方便。

shell process group

7
推荐指数
1
解决办法
921
查看次数

(sd-pam) 进程如何摆脱无特权的`pam_session_close()`?

这是一个错误吗?

https://github.com/systemd/systemd/blob/v234/src/core/execute.c#L1126

            /* Drop privileges - we don't need any to pam_close_session
             * and this will make PR_SET_PDEATHSIG work in most cases.
             * If this fails, ignore the error - but expect sd-pam threads
             * to fail to exit normally */
Run Code Online (Sandbox Code Playgroud)

比较http://jdebp.eu./FGA/dont-abuse-su-for-dropping-privileges.html

新的实现调用 fork() 并且只在子进程中删除特权,保留一个特权帐户父进程,一旦子进程退出,它可以调用 PAM“用户会话”清理函数。(请参阅当代帐户,例如 Ben Collins 的这个帐户。)在父进程中打开 PAM“用户会话”并在子进程中关闭的初始实现被发现存在错误,例如 Debian Bug #195048, Debian错误 #580434 和 Debian 错误 #599731 又名 Gentoo 错误 #246813,因为非特权子进程没有访问权限来撤销所有会话设置,而在特权父进程中打开会话所做的一切

在接下来的十年中,与 PAM 和 su 相关的点点滴滴不断涌现。例如,在 2004 年,SELinux 可插拔身份验证模块存在问题。

pam systemd

7
推荐指数
1
解决办法
1万
查看次数

组成员身份随着 tmux 消失

我有一个奇怪的问题,我的用户 (on Linux Mint 18.3 Sylvia) 是 group 的一部分docker,我通过启动终端来验证:

$ groups
me adm cdrom sudo dip plugdev lpadmin sambashare docker
Run Code Online (Sandbox Code Playgroud)

现在,当我启动 tmux 并运行相同的命令时,我的docker会员资格突然消失了:

$ tmux
$ groups
me adm cdrom sudo dip plugdev lpadmin sambashare
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我尝试docker在 tmux 中强行将我的用户添加到组时,它说我已经在其中了!

$ sudo adduser me docker
The user `me' is already a member of `docker'.
Run Code Online (Sandbox Code Playgroud)

我很难过——为什么在 tmux 中会有所作为?作为参考,我使用fishshell,这是我的.tmux.conf

$ cat ~/config/.tmux.conf 
new-session
set -g default-terminal "screen-256color"
set -g history-limit 10000
setw -g …
Run Code Online (Sandbox Code Playgroud)

permissions tmux group

6
推荐指数
1
解决办法
1004
查看次数

无法使用 `sudo usermod -g` 更改用户的默认组

我已经查看了 U&L 的问题和答案,但我仍然无法从用户那里更改我的默认组。

[red@ws-red-l ~]$ whoami
red
[red@ws-red-l ~]$ groups
yellow green
[red@ws-red-l ~]$ sudo usermod -g green red
usermod: no changes
[red@ws-red-l ~]$ sudo usermod -G green red
[red@ws-red-l ~]$ groups
yellow green
[red@ws-red-l ~]$ touch file
[red@ws-red-l ~]$ ls -l file
-rw-r--r-- 1 red yellow 0 Feb 18 13:51 file
Run Code Online (Sandbox Code Playgroud)

我更喜欢如果red不属于组,yellow所以当我做一个touch file文件的组将是green. 我在这里做错了什么?

user-mode-linux

5
推荐指数
1
解决办法
9922
查看次数

我误解了 chmod 770 的哪一部分?

我试图对用户、组和权限进行试验。结果如下:

vagrant@cats:/$ ls -l | grep home
drwxr-xr-x   5 root    admin    4096 Sep 28 05:49 home
vagrant@cats:/$ cat /etc/group | grep "^admin"
admin:x:1002:vagrant
vagrant@cats:/$ cd home
vagrant@cats:/home$ pwd
/home
vagrant@cats:/home$ cd ..
vagrant@cats:/$ sudo chmod 770 home
vagrant@cats:/$ ls -l | grep home
drwxrwx---   5 root    admin    4096 Sep 28 05:49 home
vagrant@cats:/$ cd home
-bash: cd: home: Permission denied
vagrant@cats:/$ ?
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我进不去。用户vagrant在组中admin,组admin拥有目录home,只有所有者和/或组成员才能读取、写入或执行home. 但由于某种原因,我被锁定了。我在这里缺少什么?

users permissions group

5
推荐指数
1
解决办法
3747
查看次数

为什么“注销”会话会激活新添加的补充组?

我问了以下问题 添加了用户补充组,但“组(1)”今天早些时候没有显示更改。现在我想知道为什么这个答案有效。运行后

adduser user group
Run Code Online (Sandbox Code Playgroud)

为什么用户需要注销(我什至不确定这在没有窗口管理器的上下文中意味着什么),或者为什么需要调用newgrp(1) ?

users login group

4
推荐指数
1
解决办法
312
查看次数

标签 统计

group ×11

permissions ×7

users ×5

login ×1

pam ×1

process ×1

shell ×1

systemd ×1

tmux ×1

user-mode-linux ×1