如何使其他用户可以访问文件夹/文件

如何使其他用户可以访问文件夹/文件

如何使 $HOME 下的文件夹可供其他用户访问?我认为这就是我们有软链接的原因,但显然我在这里遗漏了一些位。有人可以解释一下吗?

详细信息:用户 Hadoop 运行 hadoop 安装,其中包含 bin 文件夹,其中包含可供执行的命令。

[hadoop@A1n1 hadoop-1.0.4]$ ls -al
total 7648
drwxr-xr-x. 14 hadoop hadoop    4096 Apr 22  2013 .
drwx------. 11 hadoop hadoop    4096 Oct 30 13:51 ..
drwxr-xr-x.  2 hadoop hadoop    4096 Feb 27  2013 bin

[hadoop@A1n1 bin]$ ls -al
total 152
drwxr-xr-x.  2 hadoop hadoop  4096 Feb 27  2013 .
drwxr-xr-x. 14 hadoop hadoop  4096 Apr 22  2013 ..
-rwxr-xr-x.  1 hadoop hadoop 14137 Oct  3  2012 hadoop
-rwxr-xr-x.  1 hadoop hadoop  2642 Oct  3  2012 hadoop-config.sh

我创建了一个指向 bin 文件夹的软链接:

[root@A1n1 /usr/local]# ls -l
total 44
drwxr-xr-x. 2 root   root        4096 Sep 23  2011 bin
lrwxrwxrwx. 1 root   root          29 Nov  1 08:16 hadoop.bin -> /home/hadoop/hadoop-1.0.4/bin

但是,当我切换到不同的用户并尝试执行命令时,我的权限被拒绝:

[bdst@A1n1 local]$ cd /usr/local/hadoop.bin
bash: cd: /usr/local/hadoop.bin: Permission denied

我不确定我在这里缺少什么,对我来说,文件权限似乎应该没问题。

答案1

符号链接不会规避原始目录/文件的权限。与直接访问一样,您需要对原始路径中的所有目录以及原始目录本身具有执行 (x) 权限。其他人的 /home/hadoop 上缺少 x。

答案2

您可能会想到 Windows 权限,其中每个人通常都具有“绕过遍历检查”权限,这会跳过父文件夹中的权限检查。

除了设置 755/751 或将文件放在公共目录中之外,您还可以将用户 bdst 放在 hadoop 组中,并将 hadoop 主目录设置为 750 或 710。

答案3

drwx------. 11 hadoop hadoop    4096 Oct 30 13:51 ..

我想这就是你的$HOME。那么这就是原因。不管怎样,了解一下unix权限和ACL,会对你有所帮助。

相关内容