zoukankan      html  css  js  c++  java
  • Linux上mount 挂载windows共享文件权限问题

    在服务器部署的时候需要把文件夹设置在windows的共享文件上。在使用mount命令挂载到linux上后。文件路径和文件都是可以访问,但是不能写入,导致系统在上传文件的时候提示“权限不够,没有写权限”。用"ls-l"查看挂载文件的权限设置是drwxr-xr-x,很明显没有写权限。想当然使用chmod来更改文件夹权限,结果提示权限不够。root和当前用户都不能正常修改权限。于是无语,不知如何进行了。
    (windows权限记得在高级共享设置->公共->是否开启密码验证)
    使用下面命令Linux上挂载windows上共享文件夹时,成功之后在Linux中发现可以访问,但不能修改。

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. mount -t cifs -o username="***",password="***"  //WindowsHost/sharefolder  /home/xxx/shared  

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

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    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的。


    例:我是用lnmp一键安装包的,运行nginx的用户的www,我就用id www查询他的gid uid 然后在进行挂载就不会出现权限的问题了!

    卸载挂载目录:sudo umount shared

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

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. //WindowsHost/sharefolder /home/xxx/shared cifs defaults,auto,username="xxxx",password="***",gid="1000",uid="1000" 0 0   
  • 相关阅读:
    图像通道的分离与合并
    frame表单嵌套的定位
    windows10(家庭版)+ laradock 安装踩坑记一记
    Laradock + tp5 + nginx 配置虚拟机域名始终跳转首页/502报错
    php私有组件以及创建自己的composer私有组件(packagist+git+composer)
    申请一个美国paypal账户
    php执行shell脚本
    Linux修复日志
    php7 安装redis拓展
    vim编辑器-删除命令
  • 原文地址:https://www.cnblogs.com/yifan72/p/6544319.html
Copyright © 2011-2022 走看看