我正在尝试使用Windows主机上的共享文件夹作为来宾Ubuntu虚拟机上lighttpd的根目录。当我尝试更改权限时,什么都没有发生。权限始终保持不变(如下所示)。无论文件类型如何,lighttpd始终返回403错误。如何更改文件权限?
编辑:
研究表明,将我的用户添加到vboxsf用户组将允许我更改权限。当我尝试使用将用户添加到组中时usermod
,该方法似乎已奏效,但所做的更改会立即被覆盖并回滚。其他消息来源建议我必须以所需的权限手动安装磁盘。尽管我尝试更改所有者,但root仍然是所有者。尽管我在前面曾尝试过尝试usermod
更改所有者,但对此进行了解释。检查/ etc / group文件中的组设置,我看到列出了我的用户名。但是,virtualbox可能会造成干扰。
作为替代方案,我正在考虑进行从来宾到主机的网络共享。
结束编辑
/media/sf_Space.io$ ls -l
total 10
drwxrwx--- 1 root vboxsf 0 May 12 11:57 css
-rwxrwx--- 1 root vboxsf 8 May 12 12:27 index.html
drwxrwx--- 1 root vboxsf 0 May 12 11:57 js
drwxrwx--- 1 root vboxsf 0 May 12 11:57 PythonCGITest
-rwxrwx--- 1 root vboxsf 1181 May 12 11:57 README.md
drwxrwx--- 1 root vboxsf 0 May 12 11:57 sprites
-rwxrwx--- 1 root vboxsf 587 May 12 11:57 test.html
drwxrwx--- 1 root vboxsf 4096 May 12 11:57 'welcome page (sketch)'
经过数小时的工作,我想出了自己的解决方案。权限问题与virtualbox如何从主机上挂载文件系统有关。在这种情况下,我的主机文件系统是ntfs。尽管有任何命令试图更改卷权限,但这些权限将保留为root,所有者为root,并且权限设置为770。
在虚拟机中安装来宾添加软件包。创建一个新的共享文件夹,其中仅选中“使永久”。请勿选中自动安装框。另外,不确定是否有必要,还可以在主机操作系统上安装用于virtualbox的扩展软件包。
在来宾计算机(在virtualbox中运行的操作系统)上创建目录。
.sh
使用以下bash脚本创建文件:
sleep 1 echo '[your password]' | sudo -S mount -t vboxsf -o rw,uid=1000,gid=1000 [share name] [path to the directory created in the previous step]
导航到“启动应用程序”管理器,并使用以下命令创建新的启动: xterm -e "/path/to/script/in/previous/step"
将文件权限设置为可执行文件:chmod +x [file name]
。
sudo apt-get install xterm
。我意识到“输入” sudo密码存在安全风险。但是,在这种情况下,我是唯一有权访问或希望运行此虚拟机的人。我认为风险很低。在采用此解决方案之前,请评估您的情况。另外,我记得读过,在命令前添加空格会阻止命令行将该命令存储在历史记录列表中。
该解决方案在Ubuntu 18LTS上对我有用。我知道rc.local和chron作业,但是这些作业在发行版本之间有所不同,似乎有些成败。rc.local甚至不存在于我的安装中,并且手动创建文件无法完成任何工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句