访问HG回购时网络/ samba共享权限被拒绝

时间:2011-02-06 18:29:22

标签: eclipse ubuntu mercurial samba network-share

我在Ubuntu 10.10中使用EclipsePHP并尝试使用Mercurial(HG)来处理位于我的网络连接的登台服务器(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启动了烟花并且像魅力一样工作。

我的电脑究竟出了什么问题?为什么我不能在没有root的情况下运行我的hg命令?

2 个答案:

答案 0 :(得分:4)

您可以像这样安装网络驱动器。打开/ etc / fstab /,然后输入以下行。

  

// IP_OR_HOSTNAME / DIRECTORY_NAME / MOUNT_DIRECTORY cifs user = sambauser,pass = sambapassword,auto,exec,umask = 002,gid = 1000,uid = 1000,file_mode = 0777,dir_mode = 0777 0 0

希望它有效。

答案 1 :(得分:3)

chmod在这里不会帮助你我猜。服务器端的所有权和权限不会复制到客户端(服务器上没有unix扩展),或者两台计算机之间的UID / GID不同。您可以通过以下方式覆盖文件所有权:

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

这是来自内存,请查看man mount.cifs以获取详细信息。此外,在这种情况下,像NFS这样的替代网络文件系统可能会更好地为您服务,或者尝试使用sshfs。