Linux上mount 挂载windows共享文件后的权限问题

将某项目proj-01的代码checkout到windows的某个目录,比如 d:\svn\proj-01,然后想从windows和Linux都能够进行编译。于是想到进行跨平台共享,之前试过linux共享,然后windows进行挂载,是成功的,具体步骤不表,但是这种方式存在一个问题,就是tortoisesvn的状态图标不能够显示出来。

首先将文件夹svn设置为共享(任何用户可读写)。Linux下使用mount命令挂载后,查看挂载目录的权限是 drwxr-xr-x,很明显没有写权限,想当然使用chmod来更改文件夹权限,提示失败。root和其它用户都不能正常修改权限。

使用下面命令Linux上挂载windows上共享文件夹时,成功之后在Linux中发现可以访问,但不能修改:
mount -t cifs -o username=”“,password=”” //windows-ip/svn /home/xxx/svn
同时使用ls -l svn会发现svn目录所有者和用户组均是root,即使使用sudo chmod和sudo chown修改权限也提示权限不够。

不过可以添加2个参数即可达到我们所要的效果:
mount -t cifs -o username=,password=,gid=,uid= //windows-ip/svn /home/xxx/svn

属性中的gid、uid,是你想要让挂载属于哪个用户的gid和uid。至于这个gid和uid,你可以使用id username来获得,比如说我的xxx,用户获得的gid和uid就是1000。

这样修改挂载以后,该gid用户可以正常读写目录svn了。

作者:Feel君
链接:https://www.jianshu.com/p/a631045d410d
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

0 Comments
Leave a Reply