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   
  • 相关阅读:
    已经连接到空闲例程的解决方法
    SQLplus命令中导出数据
    Oracle设置时间格式
    Oracle热备份
    多元化控制文件
    ORA28000: the account is locked
    Windows 7 如何删除 Windows.old 文件夹
    Linux常用命令之文件命令
    Linux 常用命令之进程管理
    Python中的apply,filter和map函数
  • 原文地址:https://www.cnblogs.com/yifan72/p/6544319.html
Copyright © 2011-2022 走看看