他のユーザーがフォルダ/ファイルにアクセスできるようにする方法

他のユーザーがフォルダ/ファイルにアクセスできるようにする方法

$ 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を理解すると便利です。

関連情報