Permissions

如何使其他使用者可以訪問文件夾/文件

  • November 1, 2013

如何使 $HOME 下的文件夾可供其他使用者訪問?我認為這就是為什麼我們有軟連結的原因,但顯然我在這裡遺漏了一些內容。有人可以解釋一下嗎?

詳細資訊:使用者 Hadoop 執行 hadoop installaion 並包含 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

我不確定我在這裡缺少什麼,似乎文件權限應該沒問題。

符號連結不會繞過原始目錄/文件的權限。與直接訪問一樣,您需要對原始路徑中的所有目錄和原始目錄本身俱有執行 (x) 權限。其他人在 /home/hadoop 上缺少 x。

您可能會想到 Windows 權限,其中每個人通常都有“繞過遍歷檢查”權限,它會跳過父文件夾中的權限檢查。

除了設置 755/751 或將文件放在公共目錄中之外,您還可以將使用者 bdst 放在 hadoop 組中,並將 hadoop 主目錄設置為 750 或 710。

引用自:https://unix.stackexchange.com/questions/98428