【发布时间】:2012-05-27 09:36:00
【问题描述】:
首先我应该说我认为自己是一个熟练的用户。但是今天我需要自动化这个并且被难住了。
假设我是 root,因此我能够遍历整个文件系统,但我不能运行“sudo”或“su”。
我有一个给定的用户和一个给定的路径。
如何通过 CLI 检查用户是否能够读取和/或写入路径?
我知道这听起来很简单,但请记住:
- 我们不是,也不能成为用户。
- 我们不能只依赖最终目录权限,因为路径上更高的权限可能会阻止对最终目录的访问。
- 在这个继承组的时代,我们也不能只依赖目录组权限。
我假设这不能通过任何命令完成,我需要首先收集所有用户组,然后遍历路径的整个层次结构,检查整个路径的读取权限,然后进行读写为最终目录。不过听起来很贵。
【问题讨论】:
-
您的假设从这里看起来是有效的。不要忘记目录的执行权限。
-
我不明白你为什么不能
su -
hop:不管是什么原因,这就是问题所在。 “不能使用 x”不能用“然后使用 x”来回答。如果您想让用户知道他们正在创建的共享是否对他们授予访问权限的用户不可读,那么现实生活中的这个问题就会出现。例如,在创建访客无法读取或写入的访客可访问的共享文件夹(其幕后用户实际上是“nobody”)时。
-
@hop:“我在现实生活中没有这个问题”并不一定等于“这不是现实生活中的问题”。
-
@Eduo:这个网站不是用来拼图的。
标签: shell unix user-permissions directory-permissions