TPS*_*TPS 3 security permissions file-copy
我们是否可以在 Linux 机器上或特定目录(在我的情况下为 Scientific Linux)设置权限,以便可以读取文件但不能复制、移动或删除它们?
更新:我的场景是,我们开发了一个 GUI 程序,其中包含我们花费大量时间和精力创建的一些图像。我们的目录结构是:
/GUI/program/GUI.exe
/GUI/images/A/A1.jpeg A2.png .... A200.png
/GUI/images/B/B1.png B2.png .... B200.png
.
.
/GUI/images/I/I1.png I2.png .... I200.png
Run Code Online (Sandbox Code Playgroud)
./GUI.exe用户需要交互的调用图片就不用说了。
现在我需要隐藏/GUI/images/*。
有什么办法吗?
如果文件可以读取,则可以复制。但是,您可以通过不授予文件所在目录的写权限来阻止文件被删除或移动。
由于问题已被修改,因此编辑了其他信息:
鉴于您现在已添加到问题中的场景,您可以执行以下操作:
guiuserguiuserguiuser读取权限guiuserchmod u+s /GUI/program/GUI.exe)当您的用户运行该程序时,该程序将拥有 访问权限guiuser,因此该程序将能够读取文件,即使普通用户没有权限。
复制不是魔术:它只是读取文件,然后将您阅读的内容保存在其他地方。因此,本质上,如果您可以读取文件,则可以复制它。
但是,根据您在做什么,您可以通过使普通用户无法读取数据并仅通过特殊程序(过去是 setuid 程序;现在是 Web 应用程序)访问来实现您的目标可能更合适)。该程序将根据请求分发一些数据,而不是整个文件。由于固有问题仍然存在,这不能阻止复制,但它会使复制变得更加困难,因为您可以有逻辑来限制请求或类似的速率。或者,您可以以有损方式呈现数据,而不是提供原始信息。例如,如果源是 HTML,则改为发送呈现的纯文本。有决心的用户可以猜测和重建原件,但不太可能得到准确的结果。