2011-02-06 86 views
1

我在Ubuntu 10.10中使用EclipsePHP並嘗試使用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 - 沒有任何變化。

但是當我不小心從回購目錄中運行sudo hg status時,Mercurial啓動了煙花並像魅力一樣工作。

我的電腦出了什麼問題?爲什麼我不能以root身份運行我的hg命令?

回答

3

chmod在這裏我不會幫你。服務器端的所有權和權限不會複製到客戶端(服務器上沒有unix擴展),或者您的UID/GID在兩臺計算機上都不相同。通過安裝時,您可以覆蓋文件的所有權:

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

這是從內存雖然,檢查的人mount.cifs瞭解詳情。另外,在這種情況下,備用聯網文件系統(如NFS)可能會爲您提供更好的服務,或嘗試使用sshfs。

+3

非常感謝。這裏是我在`/ etc/fstab`中使用的實際行,如果有人得到和我一樣的問題,可能會得心應手:`//192.168.1.1/development/repo/media/ repo cifs exec,user = myUserName,通過= myPassword,umask = 007,gid = 46,uid = 1000,安靜,file_mode = 0666,dir_mode = 0777 0 1` – Industrial 2011-02-07 07:47:58

+0

mount.cifs版本6.4不支持安靜,umask或exec。哦,現在的選項是用戶名= FOO和密碼= FOO – bobpaul 2016-03-20 15:13:16

4

您可以像這樣安裝網絡驅動器。打開你的/ etc/fstab /,然後輸入下面一行。

// IP_OR_HOSTNAME/DIRECTORY_NAME/MOUNT_DIRECTORY CIFS用戶= sambauser,通= sambapassword,汽車,EXEC和umask = 002,GID = 1000,UID = 1000,file_mode = 0777,dir_mode = 0777 0 0

希望它有效。