2011-02-06 5 views
1

EclipsePHP를 Ubuntu 10.10에서 사용하고 있으며 Mercurial (HG)을 사용하여 네트워크 연결된 준비 서버 (samba 공유)에있는 리포지토리를 사용하려고합니다.HG repo에 액세스하는 동안 네트워크/samba 공유에 대한 사용 권한이 거부되었습니다.

Eclipse (hg status)에서 저장소를 새로 고치려고하면 다음과 같은 오류가 발생합니다. abort: Operation not permitted: /media/sharename/myrepository/.hg/.dirstate*.

무엇이 잘못되었는지를 알아 내려고했지만 터미널에서 네트워크 공유로 가서 hg status을 작성했습니다. 동일한 오류가 발생하여 Eclipse 내에서만 발생하는 것이 아닙니다. 나는 내 컴퓨터와 서버 모두에서 파일을 CHMOD로 테스트했다. - chmod 777 /media/sharename/myrepository/ -R - 아무것도 바뀌지 않았다.

하지만 실수로 repo 디렉토리에서 sudo hg status을 실행하면 Mercurial이 불꽃 놀이를 시작하고 매력처럼 작동했습니다.

내 컴퓨터에 어떤 문제가 있습니까? 루트가 아닌 hg 명령을 실행할 수없는 이유는 무엇입니까?

답변

3

chmod가 도움이되지 않습니다. 서버 측의 소유권 및 사용 권한은 클라이언트에 복제되지 않으며 (서버의 유닉스 확장 없음) 또는 두 시스템간에 UID/GID가 다릅니다. 다음을 통해 마운트 할 때 파일 소유권을 무시할 수 있습니다.

mount -t cifs //SERVER/SHARE /MOUNTPOINT -o uid=USERNAME 

자세한 내용은 man mount.cifs를 확인하십시오. 또한 NFS와 같은 대체 네트워크 파일 시스템이이 경우 더 잘 작동 할 수도 있고 sshfs를 시도 할 수도 있습니다.

+3

많은 kread에게 감사드립니다. '/ etc/fstab'에 사용 된 실제 행은 다음과 같습니다 : 누군가가 내가 가진 것과 동일한 이슈를 얻는다면 편리 할 것입니다 :'//192.168.1.1/development/repo/media/repo cifs exec, user = myUserName, pass = myPassword, umask = 007, gid = 46, uid = 1000, quiet, file_mode = 0666, dir_mode = 0777 0 1' – Industrial

+0

mount.cifs 버전 6.4는 quiet, umask 또는 exec를 지원하지 않습니다. 아, 그리고 옵션은 이제 username = FOO이고 password = FOO입니다. – bobpaul

4

이렇게 네트워크 드라이브를 마운트 할 수 있습니다./etc/fstab /을 열고 다음 줄을 입력하십시오.

// IP_OR_HOSTNAME/DIRECTORY_NAME/MOUNT_DIRECTORY CIFS 사용자 = sambauser, 패스 = sambapassword, 자동차, 간부,의 umask = 002, GID = 1000, UID = 1000 file_mode = 0777, 현재 dir_mode = 0777 0 0

희망이 있습니다.

+0

니스, 위의 일부를 시도했지만 행운이 없었습니다. 그리고 나서 스 니펫을 시도했습니다. 고마워! – Bealer