다른 사용자가 폴더/파일에 액세스할 수 있도록 만드는 방법

다른 사용자가 폴더/파일에 액세스할 수 있도록 만드는 방법

$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을 이해하면 도움이 됩니다.

관련 정보