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

为了方便操作,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就是让任何人都可以操作我们的文件。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

Go 开发的 IM 和推送服务 goim

goim 是一个支持集群的im及实时推送服务(支持websocket,http和tcp协议) 特性: 轻量级 高性能 纯Golang实现 支持单个、多个以及广播...

7872
来自专栏Python

linux每日命令(5):mkdir命令

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

862
来自专栏王磊的博客

Ubuntu下安装配置JDK1.7

1、下载JDK 对于下载方法,可以使用命令,也可以手动下载。本人采用手动下载jdk的方式。 下载jdk-7u7-linux-i586.tar.gz到Ubuntu...

3084
来自专栏挖坑填坑

Asp.net+Vue2构建简单记账WebApp之三(使用Vue-cli构建vue.js应用)

1193
来自专栏noteless

springmvc 项目完整示例03 小结

一般一个项目,主要有domain,dao,service,controller这几个层次,具体的真不清楚的话可以百度一下

1652
来自专栏小狼的世界

使用phpize给PHP动态添加扩展

2、执行phpize。/home/fltrpsrv2/srv2/bin/phpize

1192
来自专栏编程坑太多

一个简单的Django项目

1484
来自专栏liulun

在CentOS上搭建PHP服务器环境

 您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/ ...

4147
来自专栏散尽浮华

python案例-用户登录

要求: •输入用户名密码 •认证成功后显示欢迎信息 •输错三次后锁定 1 #!/usr/bin/env python 2 # -*- coding:utf-...

2427
来自专栏皮振伟的专栏

[linux][network]bond技术分析

前言: 云计算场景下,经常会使用到bond技术的主备模式。这里分析一下bond技术的原理。 原理: 简单回忆一下IPV4协议栈,以用户发送一个HTTP请求为...

35511

扫码关注云+社区