如何允许组中的另一个用户读取文件

如何允许组中的另一个用户读取文件

我需要帮助来解决这个问题,我已经尝试了好几次了。创建一个文件 /home/jack/secretf7b079,其中包含字符串 secret5cd51b。确保该文件归 jack 所有。使用组使 cedric 也可以读取该文件,但不能写入。确保 pedri 无法访问该文件。

我已经使用过 jack 用户的代码:

cat > /home/jack/secret7b079 并包含字符串 secret5cd51b。

sudo adduser cedric jack,将用户 cedric 添加到 jack 组。

chmod 640 /home/jack/secret7b079

谢谢!

答案1

不要将 Cedric 添加到群组jack,因为这是杰克的个人群组。这违反了安全规定。

除此之外,在新版本的Ubuntu中,主账户和文件的默认访问权限将为文件600、文件夹700,即群组和其他人根本无法访问该区域。建议为了安全,因为在以前的版本中,任何人都可以访问(但不能修改)任何人的数据。

您可以在旧版本的 Ubuntu 中为所有不同的主文件夹明确设置此项,如下所示:

sudo chmod --recursive go= /home/

这样做的副作用是,无论你如何在 Jack 的文件夹中设置你的秘密文件,没有人可以访问它。这是一件好事(就像小熊维尼可能会说的那样),既为了安全,也因为 Jack 的文件夹是 Jack 的私人文件。

所以…

正确的方法是创建一个全新的文件夹,不在 Jack 的区域,所有允许的人,且只有允许的人,才能共享。

您可以指定谁可以与专门为此目的而创建的新公共组共享。您将文件的所有权分配给 Jack,他可以写入文件,并将文件的组分配给新的公共组,该组的成员可以读取但不能修改文件。

步骤如下。在本例中,我使用了文件夹/home/secshare和组名secacc,但您可以为文件夹和组名选择不同的名称(如果您愿意,它们可以具有相同的名称)。

sudo groupadd secacc                           # Create the new security group.

sudo mkdir /home/secshare/                     # The folder to hold the security file.
sudo chown jack:secacc /home/secshare/         # Jack owns the folder. Group has access.
sudo chmod u=rwx,g=rx,o= /home/secshare/       # Jack: rw. Group: r. Others: none.

# Create the file.
echo secret5cd51b | sudo tee /home/secshare/secret7b079

sudo chmod g=r,o= /home/secshare/secret7b079   # Owner: rw. Group: r. Others: none.

# Assign Jack as the owner, and secacc as the group.
sudo chown jack:secacc /home/secshare/secret7b079

# Double-check permissions.
sudo ls -l --directory /home/secshare/
> drwxr-x--- 2 jack secacc 4096 Feb  8 11:48 /home/secshare/
sudo ls -l /home/secshare/
> -rw-r----- 1 jack secacc 13 Feb  8 11:48 secret7b079

# Assign both Jack and Cedric to the group secacc
sudo usermod --append --groups secacc jack
sudo usermod --append --groups secacc cedric

此时,Jack 可以完全访问该文件夹及其中的文件。

Cedric 属于该组secacc,因此对该文件夹及其中的文件具有只读访问权限。

Pedri 不属于该组secacc,因此无权访问该文件夹,也无法访问其中的文件(即使其中的文件对每个人都具有完全读写权限 - 请自行测试)。

答案2

如果您可以使用 ACL:setfacl -m u:cedric:r /home/jack/secretf7b079- 授予用户cedric对文件的读取权限。

但听起来你想在 askubuntu 上解决家庭作业 ;)

相关内容