【发布时间】:2021-10-24 07:36:52
【问题描述】:
据我所知,bash 脚本可以创建 file 并将其写入disk path 或/dev/shm,但该文件已被root 或其他用户访问。如何设置仅由当前 bash 脚本进程访问的文件权限?我会在exit bash 脚本之前rm 这个文件。
【问题讨论】:
-
也许您可以将文件重定向到给定的描述符编号,删除文件,然后使用该描述符进行重定向...
-
@Shawn THX,我会试试的。
-
但即使这样也不会阻止
root看到它/它的内容,如果他们下定决心的话。 -
将文件权限设置为 600 将停止除 root 之外的所有用户。一般来说,停止
root需要很多非常特殊的操作。 Selinux 已被提出(但我从未见过防水的解决方案),过去 SeOS 和 Autosecure 可以做到这一点。但是限制根是一个坏主意。限制对 root 的访问是一个更好的主意。 -
@VictorLee :您不能通过 PID 设置权限。即使您仅授予用户权限,您运行的另一个进程也可能会操作该文件。通常的技巧是 - 除了限制权限 - 根据您的 PID 选择文件名,因为当时运行的其他进程不能具有相同的 PID。示例:
touch my_file.$$。至少,您的 ID 下的另一个进程意外覆盖此文件的可能性不大,但当然也不是不可能。
标签: linux bash shell file permissions