
$ HOMEの下のフォルダに他のユーザーがアクセスできるようにする方法は?これが私たちがソフトリンクを持っている理由だと思います。しかし、ここにはいくつかの内容が欠けているようです。誰かがこれを説明できますか?
詳細:ユーザーHadoopは、実行コマンドを含むbinフォルダーを含むhadoopインストールを実行します。
[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)権限が必要です。 xは他のすべての人の/home/hadoopにありません。
答え2
通常、誰もが親フォルダの権限の確認をスキップする「巡回確認のバイパス」権限を持つWindows権限を考えることができます。
755/751 を設定するか、ファイルをパブリックディレクトリに配置する代わりに、ユーザー bdst を hadoop グループに配置し、hadoop ホームディレクトリを 750 または 710 に設定できます。
答え3
drwx------. 11 hadoop hadoop 4096 Oct 30 13:51 ..
私の考えでは、ここがあなたの$ HOMEであると思います。これがまさにその理由です。いずれにせよ、Unixの権限とACLを理解すると便利です。