Permissions
如何使其他使用者可以訪問文件夾/文件
如何使 $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。