仅允许所有者编辑文件 windows/ubuntu

仅允许所有者编辑文件 windows/ubuntu

我不确定这个问题是否在其他地方得到解答或者是否太明显,但我需要有一个由新用户(管理员)在 Windows 和 Ubuntu 上创建的文件夹(只要有可能 - 最好是两者兼有),并且只允许我修改它,所有其他人(包括管理员)只能执行它。

如果文件只能执行而不能读取,那就更好了,但我怀疑这是可能的。我曾尝试在 Windows 中更改权限,但被阻止的用户(管理员权限)可以恢复设置并再次进行编辑。

Linux 中的 chmod 或 chown 命令也是一样。

如果有人有替代解决方案,请快速解释一下我的情况以及为什么我需要这样做:我需要设置一个本地 Web 应用程序(带有服务器),并且由于应用程序的安全性,我不希望用户能够修改,或者更好的是,由于应用程序的安全性,看不到只执行 php 或 javascript 文件。

答案1

您面临的问题是由于服务器上有管理员/根访问权限的人。拥有这样的权限使他们可以完全访问该服务器上的所有内容,而您对此无能为力。即使您更改所有权或安全设置,他们也可以将其收回。这就是“超级用户”用户的本质 - 完全控制。

您可以将 Web 应用移至他们没有管理员/根访问权限的服务器,这样您的问题就解决了。在单独的机器上,您可以只授予他们所需的权限。

答案2

我不确定我理解得是否正确。本地 Web 应用程序是否与用户位于同一 LAN 或同一台计算机上?

如果在同一台计算机上,您需要使用 chmod/chown 保护您的文件系统并保护您的 Web 服务器。但是,这种方式特别不安全。对于非特权用户来说,这已经很棘手了,但如果您的用户拥有管理员权限,更改读/写/执行权限不会阻止他们查看您的脚本并在需要时对其进行更改。您对此无能为力:他们拥有所有权力,就像您一样。

如果是在同一个局域网上,你就不必担心谁可以看到服务器硬盘上的什么内容(至少不必担心那么多 :))。如果用户A可以访问和修改脚本年代 在本地登录时,他不能调整年代通过 Web 服务器。如果他可以(或者任何人都可以远程执行此操作),则说明您的 Web 服务器配置不正确。这不是文件系统权限的问题,而是 Web 服务器配置的问题。

Javascript 比 PHP 更棘手:PHP 在服务器上执行。您的客户端不应该看到它。Javascript 在客户端计算机上执行。如果他想读取/更改并执行此脚本,他可以。但是,如果他这样做,这不会更改您的服务器上的任何内容:他只能更改脚本的本地副本。

编辑:

对其他管理员隐藏内容的唯一方法是:

  • 加密你的文件
  • 调整操作系统来隐藏它们

相应的问题是:

  • 加密文件无法按原样执行。它们必须在执行之前解密。这意味着你的 PHP 脚本必须以明文形式保存。这意味着好奇的管理员可以用它做任何他想做的事情。
  • 有一些方法可以通过一些特定的注册表调整来隐藏 Windows 下的文件(某些病毒会使用这种方法来隐藏自己)。同样,也可以修改 Linux 内核来做同样的事情。但是,再一次,好奇/有动机的管理员可以恢复这些更改或找到解决方法。而且,猜猜看,您仍然必须让 Web 服务器用户看到您的脚本:作为管理员,冒充这样的用户非常容易(找到了简单的解决方法)...

结论,正如我之前所说,您需要的是一台其他用户没有权限的计算机……或者更好的是,一台他们无法登录的计算机!

答案3

我发现的替代解决方案是 Windows 上的免费软件应用程序:

简易文件柜-http://www.xoslab.com/efl.html 完美地完成了这个工作。

我遇到的唯一问题是,<?php include ''; ?>如果文件被隐藏则无法工作,但是所有文件的编辑都被很好地阻止。

仍在寻找 linux/ubuntu 的替代品。

相关内容