2011-01-05 7 views
0

그래서 저는 Mac Snow Leopard 서버 (서버 A)를 가지고 있고 자체 빌드 된 아파치를 사용하고 있습니다. 그러나 최근에 연기되어서 사용하고 싶습니다. 하지만 프로덕션 서버이므로 우선 두 번째 서버 (서버 B)에 적절한 디렉토리를 마운트하고 테스트 해보아야합니다.아파치가 장착 된 볼륨에 대한 사용권 문제

그래서 나는이 명령을 사용하여 서버 B에서 서버 A의 "/ 아틀라스"디렉토리 (내 전체 CMS)를 탑재 수동 가진 후

mount_hfs afp://username:[email protected]_a/Atlas /Atlas 

은/아틀라스 디렉토리를 만들었습니다.

이제 가상 호스트가 DOCUMENT_ROOT를 "/ Atlas/Sites/sandman /"(서버 A의 해당 사이트에 대한 올바른 경로 임)로 지정하고 사이트를 검색하면 Apache는 403) 파일을 읽을 수 없다고 말합니다 ("요청한 개체에 액세스 할 수있는 권한이 없습니다. 서버에서 읽기 보호되거나 읽을 수 없음).

이제 파일은 사용자 "sandman"이고 두 서버 모두 서버 A의 Apache는 "sandman"이라는 사용자가 실행하지만 서버 B의 Apache는 UID 70의 "_www"사용자가 소유합니다. "world" 그래서 사용자 _www는 잘 읽어야합니다.

누구든 문제가 무엇인지 알 수 있습니까? CMS 파일을 서버 C (즉, 세 번째 서버)에 저장하고 두 서버에 마운트 한 다음로드 밸런스를 잡기를 바랬습니다.

아이디어가 있으십니까? 감사!

답변

0

실제로 파일을 사용자 _www으로 읽고이를 나열 할 수 있는지 확인하십시오.

어쩌면 사용자 _www에 대한 직매 목록이 누락되었을 수 있습니다. * Nix 시스템의 디렉토리에서 실행 권한입니다.

0

어떤 사용자가 mount 명령을 실행 했습니까? (참고 : mount_hfs가 아니라 실제로 mount_afp라고 가정합니다.)이 사용자는 서버 연결을 "소유"하게되고 서버 파일에 대한 인증 된 액세스 권한을 얻는 유일한 서버가됩니다. AFP 클라이언트 컴퓨터의 다른 사용자는 서버 파일에 대한 게스트 액세스와 동일한 권한을 얻습니다. 당신은 mount 명령으로 연결 소유권 볼 수 있습니다 (파일이 세계 읽을 수있는 서버 B에 있기 때문에)는이에도 불구하고 작동해야처럼

당신의 묘사에서
$ mount 
/dev/disk0s2 on/(hfs, local, journaled) 
devfs on /dev (devfs, local, nobrowse) 
map -hosts on /net (autofs, nosuid, automounted, nobrowse) 
map auto_home on /home (autofs, automounted, nobrowse) 
afp_0TQ55t0XgDP800dNMO0Pyetl-1.2d00000a on /Volumes/Public (afpfs, nodev, nosuid, mounted by gordon) 

, 그것은 소리를 ...하지만 여전히 수도 _www 사용자 ID로 마운트를 수행 할 가치가 있습니다.

+0

_www 사용자 ID는 쉘 실행 명령에 로그인 할 수 없으므로 실제로이 사용자로 마운트 할 수 없으며 어떤 이유로 든 마운트가 사라지는 일부 양식 ov crontab mainetence shoudl이 필요합니다 ... – Sandman

+0

_www 수 있습니다 로그인 할 수는 있지만,'sudo -u _www mount_afp ... '와 함께 _www로 마운트를 실행할 수 있습니다. –

+0

흠, 확인해 보겠습니다. – Sandman

관련 문제