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