在服务器部署的时候需要把文件夹设置在windows的共享文件上。在使用mount命令挂载到linux上后。文件路径和文件都是可以访问,但是不能写入,导致系统在上传文件的时候提示“权限不够,没有写权限”。用”ls-l”查看挂载文件的权限设置是drwxr-xr-x,很明显没有写权限。想当然使用chmod来更改文件夹权限,结果提示权限不够。root和当前用户都不能正常修改权限。于是无语,不知如何进行了。
使用下面命令Linux上挂载windows上共享文件夹时,成功之后在Linux中发现可以访问,但不能修改。
- ount -t cifs -o username=”***”,password=”***” //WindowsHost/sharefolder /home/xxx/shared
同时使用ls -l shared会发现shared目录所有者和用户组均是root,即使使用sudo chmod和sudo chown修改权限也提示权限不够。不过可以添加两个参数即可达到我们所要的效果:
- 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最后加入:
- //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