我正在关注一个团体所有权示例Linux 命令行:完整介绍由 William Shotts 所作,我无法复制它。
示例如下:我创建了一个名为 test_group 的组,并使用 向其中添加了两个用户useradd
。我使用 再次检查了这两个用户是否都已添加到组中id user_name.
接下来,我创建了一个名为 music 的目录/usr/local/share
。然后我做了以下事情:
sudo chown :test_group /usr/local/share/music
sudo chmod 775 /usr/local/share/music
现在运行ls -ld /usr/local/share/music
得到:
drwxrwxr-x 2 root test_group 4096 Jul 29 12:23 .
Shotts 随后继续运行以下命令:
> /usr/local/share/music/test_file
尽管我们的设置几乎完全相同,但对我来说,该命令不起作用。尽管我登录的用户属于 test_group 组,但我的权限被拒绝。那么到底出了什么问题?
答案1
首先检查命令的输出groups
。
man groups
打印每个用户名的组成员身份,如果没有指定用户名,则打印当前进程的组成员身份(如果组数据库发生变化,则可能会有所不同)。
如果test_group
没有,您必须注销并重新登录或使用以下任何命令,以便系统可以识别您是以下成员test_group
:
newgrp test_group
su - username
sudo -i -u username
或者使用特定组运行命令:
sg test_group -c "echo > /usr/local/share/music/foo"