gpt4 book ai didi

linux - chown 没有 root 权限的特定文件夹

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:32 29 4
gpt4 key购买 nike

我需要将一个文件 chown 给其他用户,并确保它再次不可读。听起来很复杂,但它主要看起来像这样:

cd /readonly
wget ...myfile
cd /workdir
chmod -R 444 /readonly
chown -R anotheruser /readonly

ls /readonly # OK
echo 123 > /readonly/newfile # Should not be allowed
cat /readonly/myfile # OK
chown 777 /readonly # Should not be allowed

在 SunOS 中我看到了类似的东西,我记得 Apache 无法删除不归属的文件,但我在 Linux 中找不到类似的东西,因为 chmod 需要 root 权限。

我需要这个的原因是,我将从网络上获取一些文件,确保它们不会被脚本的其余部分更改,只有 root 可以更改它。该脚本不能定义为 root 运行。

最佳答案

在许多 *nixes(至少是 Linux)上,这是不可能的。chown 是仅限于 root 的权限,否则您可以将您的文件典当给其他用户以避免配额限制。在一个相关的案例中,如果任意用户可以向自己chown 文件以获得访问权限,它也会带来某种语义问题。

更准确地说,您可以chown您拥有的文件来更改它们的组所有权信息,但如果您是根用户,您只能更改用户所有权。

在任何情况下,chown 都不是用来敲这个钉子的锤子。您已经在使用的 chmod 是在脚本中将文件设置为只读的正确方法。您已经执行的 chmod 444 将防止对文件的意外修改。你不能“卡住”或以其他方式呈现静态权限作为 Unix/Linux 用户而不提升到 root 权限(此时,你可以 chown 它们到 root:root 并且没有root 以外的人可以更改它们的权限或所有权)。

在脚本设计方面,您不需要比这更严格。如果您的脚本随意地 chmoding 或 rm -fing 文件,那么与确保下载的数据安全可靠相比,您需要担心更严重的正确性问题。

关于linux - chown 没有 root 权限的特定文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25491901/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com