linux – 对现有会话不尊重的组成员身份的更改

linux – 对现有会话不尊重的组成员身份的更改,第1张

概述我遇到了 Linux权限和群组成员身份的奇怪行为让我摸不着头脑.情况如下: >我有两个用户:alice和bob alice@KAL:~$id aliceuid=3000(alice) gid=3000(alice) groups=3000(alice)alice@KAL:~$id bobuid=3001(bob) gid=3001(bob) groups=3001(bob) >在alice的 我遇到了 Linux权限和群组成员身份的奇怪行为让我摸不着头脑.情况如下:

>我有两个用户:alice和bob

alice@KAL:~$ID aliceuID=3000(alice) gID=3000(alice) groups=3000(alice)alice@KAL:~$ID bobuID=3001(bob) gID=3001(bob) groups=3001(bob)

>在alice的主目录中,有一个子目录,我想给bob写入权限.

(as alice)alice@KAL:~$mkdir sharedalice@KAL:~$chmod g+w sharedalice@KAL:~$ls -ltotal 4drwxrwxr-x 2 alice alice 4096 2012-05-15 23:56 shared

>我将group alice(gID = 3000)添加为bob的二级组之一

(as root)root@KAL:~# ID bobuID=3001(bob) gID=3001(bob) groups=3001(bob)root@KAL:~# usermod -G 3000 bobroot@KAL:~# ID bobuID=3001(bob) gID=3001(bob) groups=3001(bob),3000(alice)

>我打开一个新的终端,su作为bob,并在alice的主目录中测试我的权限.

(initially as kp,su'ing as bob)kp@KAL:~$sudo su bobbob@KAL:/home/kp$cd /home/alicebob@KAL:/home/alice$ls -ltotal 4drwxrwxr-x 2 alice alice 4096 2012-05-15 23:56 sharedbob@KAL:/home/alice$touch testtouch: cannot touch `test': Permission denIEd    <-- fails as expectedbob@KAL:/home/alice$cd sharedbob@KAL:/home/alice/shared$touch test     <-- succeeds as expectedbob@KAL:/home/alice/shared$ls -ltotal 0-rw-r--r-- 1 bob bob 0 2012-05-16 00:02 test

>在一个单独的终端中,作为root,我撤销了bob在group alice中的成员资格.

(root)root@KAL:~# usermod -G 3001 bobroot@KAL:~# ID bobuID=3001(bob) gID=3001(bob) groups=3001(bob)

>现在,回到我被称为bob的终端,很明显会员资格的撤销被认可但没有得到尊重.

(as bob)bob@KAL:/home/alice/shared$ID bobuID=3001(bob) gID=3001(bob) groups=3001(bob)   <-- group 3000 no longer secondary groupbob@KAL:/home/alice/shared$touch test2        <-- should failbob@KAL:/home/alice/shared$ls -ltotal 0-rw-r--r-- 1 bob bob 0 2012-05-16 00:02 test-rw-r--r-- 1 bob bob 0 2012-05-16 00:20 test2bob@KAL:/home/alice/shared$rm test            <-- this should also failbob@KAL:/home/alice/shared$ls -ltotal 0-rw-r--r-- 1 bob bob 0 2012-05-16 00:20 test2

>如果我现在退出,并且su再次作为bob,则更改是组成员资格现在得到尊重.

(as bob)bob@KAL:/home/alice/shared$exitexitkp@KAL:~$sudo su bobbob@KAL:/home/kp$cd /home/alice/sharedbob@KAL:/home/alice/shared$ls -ltotal 0-rw-r--r-- 1 bob bob 0 2012-05-16 00:20 test2bob@KAL:/home/alice/shared$touch test3touch: cannot touch `test3': Permission denIEd   <-- Now fails as expectedbob@KAL:/home/alice/shared$ID bobuID=3001(bob) gID=3001(bob) groups=3001(bob)bob@KAL:/home/alice/shared$

这是使用su的一些神器吗?组成员资格是否仅在shell开始时确定?

(这是在运行Ubuntu Maverick 10.10 x86_64 2.6.35-32-generic并运行bash shell的机器上.)

解决方法 组会员资格在会话期间保持不变,因为它们应用于流程,即您当前的shell. 总结

以上是内存溢出为你收集整理的linux – 对现有会话不尊重的组成员身份的更改全部内容,希望文章能够帮你解决linux – 对现有会话不尊重的组成员身份的更改所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1018486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存