我在这个问题上需要帮助,请我尝试了几次。创建一个文件 /home/jack/secretf7b079,其中包含字符串 secret5cd51b。确保该文件归杰克所有。使用组使 cedric 也可以读取文件,但不能写入文件。确保 pedri 无法访问该文件。
我由杰克用户使用的代码:
cat > /home/jack/secret7b079 并包含字符串 secret5cd51b。
sudo adduser cedric jack,将用户 cedric 添加到 jack 组。
chmod 640 /home/jack/secret7b079
谢谢!
不要将 Cedric 添加到 group
jack
,因为那是 Jack 的个人组。这是违反安全规定的。除此之外,在新版本的 Ubuntu 中,家庭账户和文件的默认访问权限为文件 600 和文件夹 700,即组和其他人根本无法访问该区域。出于安全考虑,建议这样做,因为在以前的版本中,任何人都可以访问(但不能修改)其他任何人的数据。
您可以在旧版本的 Ubuntu 中为所有各种主文件夹显式设置,如下所示:
这样做的一个副作用是,无论您如何在 Jack 的文件夹中设置您的秘密文件,没有人可以访问它。这是一件好事(正如小熊维尼可能会说的那样),既是为了安全,也是因为杰克的文件夹是杰克个人的。
所以…
正确的方法是创建一个全新的文件夹,而不是在 Jack 的区域中,所有被允许的人,并且只有被允许的人,可以共享。
您指定谁可以与专门为此目的创建的新公共组共享。您将文件的所有权分配给可以写入文件的 Jack,并将文件的组分配给新的公共组,其成员可以读取但不能修改文件。
以下是步骤。在本例中,我使用了文件夹
/home/secshare
和组名secacc
,但您可以为文件夹和组名选择不同的名称(如果您愿意,它们可以彼此具有相同的名称)。此时,Jack 对文件夹和其中的文件具有完全访问权限。
Cedric 属于组
secacc
,因此对文件夹和其中的文件具有只读访问权限。不属于 group 的 Pedri
secacc
无权访问该文件夹,也无权访问其中的文件(即使其中的文件对每个人都具有完全的读写访问权限 - 自己测试一下)。如果您可以使用 ACL:
setfacl -m u:cedric:r /home/jack/secretf7b079
- 授予用户cedric
对文件的读取权限。但听起来你想在 askubuntu 上解决作业;)