vbox安装增强功能,实现宿主机文件夹共享并浏览器访问

虚拟机版本:6.0.4 r128413 (Qt5.6.2)

linux:centos7/6

点击菜单栏中的设备->安装增强功能,再reboot


获取内核版本号

uname -r

查看yum的内核头文件是否存在,不存在wget下载安装

yum list | grep kernel-headers

不存在,获取新的内核rpm文件,并rpm安装到yum中:

yum install wget
wget http://vault.centos.org/7.6.1810/os/Source/SPackages/kernel-3.10.0-957.el7.src.rpm//获取内核版本rpm文件,文件路径需根据内核版本号获取
rpm -ivh kernel-3.10.0-957.1.3.el7.src.rpm//安装yum源
报错:warning: user mockbuild does not exist - using root和warning: group mockbuild does not exist - using root
groupadd mockbuild//新建用户组,,useradd mockbuild -g mockbuild//在组下,新建用户

再次查看yum的内核头文件与uname -r信息是否一致,不一致则更新。否则之后执行./VBoxLinuxAdditions.run报错:kernel headers not found for target kernel

yum list | grep kernel-headers

更新步骤:

1.更新内核
    yum update kernel -y
2.安装内核依赖
    yum install kernel-headers kernel-devel gcc make -y
3.重启,确保为从新内核启动
    init 6

开始安装挂载:

mount /dev/cdrom /mnt

报错://写保护
解决:mount -o remount,rm /mnt/

cd mnt/
./VBoxLinuxAdditions.run
reboot

在设置中配置共享文件夹,注意自动挂载要勾选
启动虚拟机,共享目录会挂载到/media名称目录下

共享文件访问:

共享后,为了方便一般使用宿主机浏览器访问虚拟机的网站项目文件。这个时候会出现一系列问题:

Error:is forbidden (13: Permission denied)

如上图。共享文件夹是在vboxsf组下的,所以我们需要将启动它的worker放在该组别下

查看nginx的worker

ps aux | grep "nginx: worker process" | awk '{print $1}'

修改用户组别(一个用户可以分属多个组):

usermod -a -G vboxsf username

执行命令:cat /etc/group查看

因为忘记将开机启动文件分配权限了,所以nginx一直没有运行,浏览器访问时总是报错:被拒绝访问。原因是端口未开启,但是通信端口是随着服务开启而开启监听的(即使  nc -lp 端口号  开启,在reboot后也会失效),故启动nginx服务就可以了。

 借鉴博文

原文地址:https://www.cnblogs.com/two-bees/p/10677116.html