为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php文件,一来节省虚拟机磁盘大小,二来解决虚拟机中用svn update和commit速度过慢问题。

但在实际操作中发生以下错误:

对虚拟机中文件增加chmod 777权限以及通过windows下gitbash对文件增加chmod777权限均不成功。

检查虚拟机samba设置分享文件夹的权限:

[share]
path = /var/www
available = yes
browseable = no
public = yes
writable = yes

也是已经放开权限。

如果利用虚拟机共享文件夹的功能,它是可以把windows文件共享到虚拟机中进行操作,并不符合我们的逻辑

(设置共享文件夹的过程有些坑,如果有/mnt/hgfs目录,但hgfs下没有出现共享文件夹,通过  mount -t vmhgfs .host:/shared /mnt/hgfs  挂在共享文件并保证已安装 open-vm-dkms 或 open-vm-tools 时,一直提示 Error: cannot mount filesystem: No such device ,则有可能是你虚拟机操作系统的版本与vmwaretool的版本不兼容导致。)。

回来继续权限不足问题,最后通过再次对比gulp错误提示和linux文件权限,发现提示权限不足的文件的所有者在虚拟机中都是root:

其他文件都是nobody:nogroup。

所以我们尝试更改文件的所有者为nobody:nogroup试试:

chown nobody:nogroup * -R

更改成功后,再次运行gulp,惊奇的发现文件权限问题没有了!!!问题竟然解决了!

我们来看下nobody:nogroup到底是什么?

1、Windows系统在安装后会自动建立一些用户帐户,在Linux系统中同样有一些用户帐户是在系统安装后就有的,就像Windows系统中的内置帐户一样。

2、它们是用来完成特定任务的,比如nobody和ftp等,我们访问 www.php-note.com 的网页程序时,官网的服务器就是让客户以 nobody 身份登录的(相当于Windows系统中的匿名帐户);我们匿名访问ftp时,会用到用户ftp或nobody。

3、首先,nobody是一个普通用户,非特权用户。 使用nobody用户名的'目的'是,使任何人都可以登录系统,但是其 UID 和 GID 不提供任何特权,即该uid和gid只能访问人人皆可读写的文件。

4、其次,许多系统中都按惯例地默认创建一个nobody,尽量'限制它的权限至最小',当服务器向外服务时,可能会让client以nobody的身份登录。

5、nobody就是一个普通账户,因为默认登录shell是 '/sbin/nologin',所以这个用户是无法直接登录系统的,也就是黑客很难通过漏洞连接到你的服务器来做破坏。此外这个用户的权限也给配置的很低。因此有比较高的安全性。一切都只给最低权限。这就是nobody存在的意义。

对于我们这次操作,简而言之,使用nobody就是让任何人都可以操作我们的文件。

windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案的更多相关文章

  1. 怎么在Windows下安装Linux虚拟机

    前提:①电脑有安装好VMware Workstation Pro虚拟机,没有的话点此下载并安装.②下载好CentOS-7-x86_64-DVD-1503-01镜像文件,没有点此下载密码:lomg. 1 ...

  2. Windows下安装Linux虚拟机的用途和好处

    Windows一般是办公界面,主要做代码编辑查看,资料查找,还有发邮件,也可以用Windows下的其他的有用软件,Linux主要作为编译工具,基本上开发都是在Linux平台下编译,例如编译驱动就需要在 ...

  3. windows下安装linux虚拟机(wsl2),并安装docker。

    一.windows terminal(重要工具,但也可以不装) 这是微软官方推荐的终端工具,类似mac的iterm2,可同时开启多个终端,最开始默认有power shall,cmd,可下载gsudo集 ...

  4. 运行于Windows内建账户下的服务访问映射网络驱动器的方法

    Windows服务如果是运行在本地系统帐户下或本地服务帐户下,它只能访问这个账户自己创建的映射驱动器,UNC路径访问则不受次限制. LocalService Account (NT AUTHORITY ...

  5. windows下安装Linux虚拟机

    一.下载ios 下载网址:https://wwww.centos.org 选择一个.iso下载 二.安装一个vmware workstation或者Hyper-v的虚拟机 2.1.Hyper-v 2. ...

  6. samba服务:为在windows下操作linux的文件而生

    vi/vim编辑器好玩吗?虽有着层出不穷的语法糖但又如何与传统的sublime相媲美? 那么,来吧~ 动手跟我一起做个samba服务吧~   安装   yum -y install samba  配置 ...

  7. windows下挂载linux的nfs网络硬盘

    挂载命令,速度快 mount \\10.8.200.167\goworkspace z: -o nolock,rsize=1024,wsize=1024,timeo=15 安装步骤 yum insta ...

  8. windows下安装win7虚拟机并安装oracle

    一.win7虚拟机 与安装linux虚拟机没有什么不同,不同的是选择客户机操作系统.内存.磁盘容量,以及映像文件. 创建win7虚拟机步骤简化: 新建虚拟机-->>自定义-->> ...

  9. [转]CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?

    CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器? 转自这里 一.为什么要这么做? 最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insi ...

随机推荐

  1. c++入门之结构体初步

    结构体实际上是一种数据结构的雏形,对结构体的灵活使用很多时候可以带来很多便利.下面给出一个关于结构体的程序: #include "iostream" # include " ...

  2. python中filter(),reduce()函数

    filter()函数 是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 和一个list,这个函数的作用是对每个元素进行判断,返回 True或 False,filter() ...

  3. redis的应用场景 为什么用redis

    一.不是万能的菲关系系数据库redis 在面试的时候,常被问比较下Redis与Memcache的优缺点,个人觉得这二者并不适合一起比较,redis:是非关系型数据库不仅可以做缓存还能干其它事情,Mem ...

  4. Django之用户上传文件的参数配置

    Django之用户上传文件的参数配置 models.py文件 class Xxoo(models.Model): title = models.CharField(max_length=128) # ...

  5. PHP中友好的处理方式

    在使用PHP进行开发的时候,由于PHP是弱类型语言的特性,所以,偶尔会遇到一些意想不到的错误.规范我们的编程就变得尤为重要了.下面总结一下,我日常开发中的一些经验,可能有些地方不妥,还请多多斧正,指教 ...

  6. react双组件传值和传参

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. IdentityServer4【QuickStart】之切换到混合流并且添加API访问

    切换到混合流并且添加API访问 前面的示例中我们开发了API访问和用户认证,现在我们要将两个合并到一起. OpenID Connect&OAuth 2.0组合的美妙之处是,你可以使用单一协议和 ...

  8. 日期选择器date、week、time、datetime、datetime-local类型

    下面只写两个类型的代码案例,其他都大同小异 date类型: <!DOCTYPE html> <html> <head> <meta charset=" ...

  9. hive JDBC客户端启动

    JDBC客户端操作步骤

  10. 安装VC++2015运行库时出现0x80240037错误

    很多时候,当我们将开发好的软件部署到用户的机器上时总会出现各种意想不到的错误,最近在一台原版Windows7系统的电脑上安装VC++运行库的时候,莫名的出现安装失败,然后错误代码为:0x8024003 ...