FreeABC
记忆重叠

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

在服务器部署的时候需要把文件夹设置在windows的共享文件上。在使用mount命令挂载到linux上后。文件路径和文件都是可以访问,但是不能写入,导致系统在上传文件的时候提示“权限不够,没有写权限”。用”ls-l”查看挂载文件的权限设置是drwxr-xr-x,很明显没有写权限。想当然使用chmod来更改文件夹权限,结果提示权限不够。root和当前用户都不能正常修改权限。于是无语,不知如何进行了。

使用下面命令Linux上挂载windows上共享文件夹时,成功之后在Linux中发现可以访问,但不能修改。

  1. ount -t cifs -o username=”***”,password=”***”  //WindowsHost/sharefolder  /home/xxx/shared

同时使用ls -l shared会发现shared目录所有者和用户组均是root,即使使用sudo chmod和sudo chown修改权限也提示权限不够。不过可以添加两个参数即可达到我们所要的效果:

 
  1. mount -t smbfs -o username=”***”,password=”***”,gid=”***”,uid=”****” //WindowsHost/sharefolder  /home/xxx/shared

属性中的gid、uid,是你想要让挂载属于哪个用户的gid和uid。至于这个gid和uid,你可以使用id username来获得,比如说我的xxx,用户获得的gid和uid就是1000。
同时上述命令中的username和password是访问用来WindowsHost的。

卸载挂载目录:sudo umount shared

机器重启自动挂载,vi /etc/fstab最后加入:

 
  1. //WindowsHost/sharefolder /home/xxx/shared cifs defaults,auto,username=”xxxx”,password=”***”,gid=”1000″,uid=”1000″ 0 0

 

参考资料:
1、Linux(ubuntu) mount 挂载windows共享文件权限问题 
2、Linux操作系统里如何通过用户名查看UID、GID

未经允许不得转载:Free-Abc智能 » Linux上mount 挂载windows共享文件权限问题
分享到: 更多 (0)