用户无法访问通过组具有权限的文件

用户无法访问通过组具有权限的文件

我在 Linux 内核 2.6.18-7.1 中遇到以下问题

  1. adduser -D我使用以下/etc/passwd内容创建了用户“BBC”"BBC:x:1010:1010:Linux User,,,:/home/BBC:/bin/sh"

  2. 我使用以下方式创建了“BBCGROUP”组addgroup BBCGROUP

  3. addgroup BBC BBCGROUP使用以下命令etc/group将用户“BBC”添加到组“BBCGROUP”中:

    英国广播公司:x:1010:

    BBC集团:x:9:BBC

  4. 然后创建目录mkdir /usr1 [ as root ]

  5. 我使用 echo "hello" > /usr1/test.txt 创建了文件 /usr1/test.txt

  6. ls -l /usr1 显示“-rwxrwx--x 1 root root 5 Sep 5 14:01 test.txt”

  7. chmod -R 771 /usr1

  8. chown -R:BBCGROUP /usr1。

在此之后我预计用户“BBC”能够读取/写入/执行 /usr1 下的文件。

现在“ls -l /usr1”给出-rwxrwx--x 1 root BBCGROUP 5 Sep 5 14:03 test.txt 9)我通过“su -s /bin/sh BBC”将用户更改为“BBC”10)id 命令显示uid=1010(BBC)gid=1010(BBC) 11)cd /usr1 12)我试图修改文件echo“HELLO1”> test.txt或touch test.txt,但出现错误“sh: can't create /usr1/test.txt: Permission denied” for user BBC。

这是我在嵌入式系统中遇到的基本问题,有什么解决办法吗?需要更改任何配置吗?在桌面 Linux 上同样可以正常工作。请提供任何信息来解决这个问题。

答案1

newgrp BBCGROUP您可以在进入目录之前尝试使用该命令。

或者,您可能希望将此用户的默认组更改为 BBCGROUP 而不是 BBC。也许addgroup实用程序可以做到这一点(我这里有一些其他风格的实用程序,所以我不确定),或者您可以手动将第二个更改:1010::9:/etc/passwd 文件中的(小心!)

顺便说一句,这个问题似乎更适合https://superuser.com/或者(更好的:) https://unix.stackexchange.com/我想。

相关内容