2011-02-06 88 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

希望它有效。