我需要授予此文件夹中的权限read/write
,该文件夹是/root
目录的子文件夹mike.jackson
(由于某种原因,有人在 /root 内创建了此文件夹):
/root/Products/Metadata/ApplicationServers/Port8080/Marker/
鉴于ls -la
此,获得许可:
total 12
drwxrwxrwx 3 webproject_deployer users 4096 Sep 1 2010 .
drwxrwxrwx 3 webproject_deployer users 4096 Aug 4 2010 ..
drwxrwxrwx 6 webproject_deployer users 4096 Mar 15 2011 xml
所以我加入了mike.jackson
这个users
群组
users:x:100:mike.jackson
但他仍然无法访问该文件夹。
这是owner
设置:
webproject_deployer:x:1071:100::/home/webproject_deployer:/bin/bash
用户通过 进行身份验证LDAP
, 也是如此mike.jackson
。我该怎么办?我不想添加mike.jackson
到 sudoers,因为如果我这样做,我无法保证他不会像sudo
在这个文件夹中一样执行恶意命令。
答案1
用户需要x
对层次结构中的每个文件夹具有权限。通常,/root
目录不允许任何用户root
进入,因此请从那里开始并逐步向下操作。
不过,如果可能的话,我建议你将其移到其他地方。如果你不小心,属于 root 的数据可能会意外公开。
答案2
您需要检查权限链,
想法:
mike 可以访问吗 /
mike 可以访问吗 /root
mike 可以访问吗 /root/Products
...
mike 可以访问吗 /root/Products/Metadata/ApplicationServers/Port8080/Marker/mike
读取不是必需的,但执行遍历文件夹是最少的。
想法:chmod 711
到树上的每个文件夹
答案3
如前所述,此方法无法正常工作的原因是用户需要访问完整路径,而不仅仅是特定目录。最佳答案是从 /root 中删除目录结构。您不应在根目录中执行任何操作,也不应允许从中安装或运行任何内容。您唯一应该登录根目录的情况是执行系统管理任务。如果您需要以提升的权限运行应用程序,则将其作为服务运行或创建特定用户,例如 Apache 或 MySql。
一个主要问题是,从您当前的结构来看,该应用程序将具有 root 权限,因此如果攻击者设法通过漏洞运行恶意代码,他们可能会对主机系统造成难以估量的损害。如果该应用程序与其自己的帐户相关联,那么它只能对自己构成威胁,而不会对更大的系统构成威胁。
话虽如此,如果这是一个 Web 应用程序,那么服务器应该具有 755 个权限,连接到该服务器的用户将具有服务器的权限。如果此人是需要管理服务器权限的本地用户,则将其用户帐户添加到与该特定应用程序关联的组,并相应地设置组权限。