如何将所有权更改为我自己?
这是
ls -l
的输出:-rwxrwxrwx 1 root root 0 2012-10-05 19:17 BuildNotes.txt
df
的输出是:m@m-Linux:~/Desktop/vbox_shared$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 29640780 10209652 17925440 37% /
none 509032 260 508772 1% /dev
none 513252 168 513084 1% /dev/shm
none 513252 88 513164 1% /var/run
none 513252 0 513252 0% /var/lock
none 513252 0 513252 0% /lib/init/rw
Ubuntu 214153212 31893804 182259408 15% /media/sf_Ubuntu
/dev/sr0 53914 53914 0 100% /media/VBOXADDITIONS_4.2.0_80737
Ubuntu 214153212 31893804 182259408 15% /home/m/Desktop/vbox_shared
VM已自动挂载,并且未检查就绪状态。
尝试使用
/media/sf_Ubuntu
,但遇到权限错误:m@m-Linux:/media$ ls -l
total 10
drwxrwx--- 1 root vboxsf 4096 2012-10-23 15:35 sf_Ubuntu
drwxrwx--- 2 root vboxsf 4096 2012-10-21 23:41 sf_vbox_shared
dr-xr-xr-x 6 m m 2048 2012-09-13 07:19 VBOXADDITIONS_4.2.0_80737
m@m-Linux:/media$ cd sf_Ubuntu/
bash: cd: sf_Ubuntu/: Permission denied
m@m-Linux:/media$ cd sf_vbox_shared/
bash: cd: sf_vbox_shared/: Permission denied
请注意,我组
vboxsf
中:m@m-Linux:~$ id
uid=1000(m) gid=1000(m) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(m),1001(vboxsf)
#1 楼
现在,访问文件的常规方法是允许VirtualBox自动挂载共享文件夹(这将使其显示在/media/sf_directory_name
下),然后将常规的Ubuntu用户添加到vboxsf
组(作为根#
)。 /> # usermod -aG vboxsf <youruser>
默认情况下,无需手动操作,安装座看起来像这样,
drwxrwx--- 1 root vboxsf 40960 Oct 23 10:42 sf_<name>
,因此
vboxsf
组具有完全访问权限。通过将用户添加到该组,您可以获得完全访问权限。因此,您不必担心更改其权限(在Windows主机上没有任何意义),只需授予自己访问权限即可。在这种情况下,这是自动安装的共享文件夹,
Ubuntu 214153212 31893804 182259408 15% /media/sf_Ubuntu
,通过将本地用户放入
vboxsf
组,应使用该目录访问共享文件夹。如果要在用户的主目录下使用“更好”的链接,则始终可以创建符号链接。ln -s /media/sf_Ubuntu /home/m/Desktop/vbox_shared
您需要重新引导VM才能将这些更改更改为生效
如果手动安装共享文件夹,则需要使用
mount
命令上的相关选项来设置具有正确所有权的文件夹(即,将gid,uid和umask选项设置为mount
) 。这是因为主机操作系统不支持与Linux相同的权限系统,因此VirtualBox无法知道谁应该拥有文件。但是,我强烈建议仅将共享文件夹配置为自动挂载(这是VirtualBox本身在“共享文件夹”配置上的设置)。
为了避免疑问,我认为您无论如何都无法正常更改权限,在该文件系统上(如果已按常规方式安装),
tony@jabba:/media/sf_name$ ls -l tst.txt
-rwxrwx--- 1 root vboxsf 2283 Apr 4 2012 tst.txt
tony@jabba:/media/sf_name$ sudo chown tony tst.txt
[sudo] password for tony:
tony@jabba:/media/sf_name$ ls -l tst.txt
-rwxrwx--- 1 root vboxsf 2283 Apr 4 2012 tst.txt
tony@jabba:/media/sf_name$
评论
尝试此操作时,我收到消息说用户已经在组中,但是当我尝试更改共享文件夹上的文件时,要保存文件时出现错误。错误为:无法保存文件/home/m/Desktop/vbox_shared/test.tst意外错误:重命名临时文件时出错:文本文件忙。
–user654019
2012年10月23日14:40在
那是一个不同的问题,可能不是由于权限。您可以创建新文件还是修改其他文件?挂在-/ home / m / Desktop / vbox_shared?您是否手动安装了共享文件夹?这不是默认路径。
– EightBitTony
2012年10月23日14:41
似乎需要重新启动才能生效。
–特朗普2020年-正义将到来
2015年10月30日在17:17
您应该为此啤酒而喝!!!在碰到这个问题之前,我根本无法使这个工作。不敢相信这还不存在。我希望我可以不止一次投票!
–张力
16-10-19在4:51
我已经在Stack Exchange上创建了一个帐户,只是想说谢谢您,保存了我的一天
–卢卡斯·科埃略(Lucas Coelho)
20-04-13在14:31
#2 楼
为非root Linux用户启用从Ubuntu来宾对Windows主机上的共享文件夹的完全读取,写入访问权限此步骤将使您能够从Windows主机访问Windows主机上的特定目录。 Linux guest虚拟机终端。
在此示例中,从OVB角度来看,共享的名称为vshare(这是默认设置),Windows OS(主机OS)的完整目录路径为“ C:\ var \”,从来宾vm访问该文件的完整文件路径将为“ / vagrant”。最后,启用完全读/写访问的用户名称为“ you”。
# how-to add a shared folder on the host
VBoxManage sharedfolder add "host-name" -name "vshare" -hostpath "C:\var" -automount
1。安装来宾附加组件的先决条件
通过发出以下命令来安装来宾附加组件的先决条件:
sudo apt-get install -y build-essential make gcc linux-headers-$(uname -r)
linux-headers-generic make linux-source linux-generic linux-signed-generic
2。安装Guest Additions
不要使用.iso文件从那里下载并运行安装程序-它根本无法工作!!!
sudo apt-get install virtualbox-guest-dkms
3。在挂载上自动挂载共享
通过在/ etc / fstab文件的末尾添加以下行来配置要在vm boot上自动挂载的共享目录(注意“ vshare” conf和uid = 10001):
/media/sf_vshare /vagrant vboxsf bind,uid=10001,rw,umask=0000 0 0
# eof file: /etc/fstab
4。将您自己添加到vboxsf组中
# mount
sudo mount -a
sudo usermod -G vboxsf -a you
5。重新启动并验证
重新启动虚拟机并通过ssh登录以验证文件共享。
# ssh to the vm
ssh you@host-name
# check as yourself that you have access
find /vagrant
#3 楼
我的Win-Ubuntu共享文件夹遇到了同样的问题,解决问题的方法是将用户添加到vboxsf组中,编辑/ etc / group文件。希望这对您有用。在这里,您可以找到有关如何编辑文件的简短方案
(edit /etc/group)
...
...
...
pulse:x:119:
pulse-access:x:120:
utempter:x:121:
rtkit:x:122:
saned:x:123:
openquake:x:1000:
sambashare:x:124:openquake,luisa
vboxsf:x:999:openquake,luisa ##This is the line I add my user
postgres:x:125:
rabbitmq:x:126:
celery:x:500:
luisa:x:1001:
Luisa。
评论
您永远不要直接编辑/ etc / group,使用适合此作业的工具(本例中为usermod -aG
– raimue
2015年11月5日,0:18
推荐这样做的主要原因(如果不仅如此)是因为,如果您不小心在手动更新/ etc / group之类的文件时犯了一个错误,它可能会使DB无效并使您实际上处于锁定状态。
–斯潘塞·威廉姆斯
15年11月12日在20:07
#4 楼
我遇到了同样的问题,解决了安装最新版本的VirtualBox Guest Additions的问题。在我的情况下,是从4.3.8升级到4.3.10。安装完成后,/ media / sf_name文件夹不再具有“ root”作为组所有者,而是“ vboxsf”是正确的。
#5 楼
您尝试过sudo吗?$sudo chown username filename
评论
我认为这不适用于VirtualBox共享文件夹。
– EightBitTony
2012年10月23日在12:43
须藤无处不在! :P链接
– Extn3389
2012年10月23日12:46
我不确定你是否认真,但我会逗你的。挂载的共享文件夹是vboxfs类型的文件系统,它不适合chown的文件系统。
– EightBitTony
2012年10月23日12:47
对不起,我只是认为这可能有效。
– Extn3389
2012年10月23日13:18
是的,但是并没有改变所有者。在终端中运行tis命令获取文件,然后查看文件所有者后,该文件仍然属于root。
–user654019
2012年10月23日13:41
#6 楼
如果您可以控制mount命令的选项(例如,手动安装或使用/etc/fstab
),则可以在安装命令中使用-o uid=771
选项。/etc/fstab
中的条目如下所示scanresults /data/scanresults vboxsf uid=771 0 0
#7 楼
升级来宾系统后,必须再次安装虚拟盒。我认为问题是,当您在ubuntu中升级某些组件时,某些组件已更改,在安装vb-additions之后,将可以访问sf_forlder_name。我的问题就这样解决了。 Pisu的解决方案有效。评论
根据我的经验,只有在升级主机VirtualBox系统时,才需要升级Virtual Box Guest。当客户端上的任何软件更改时,都不会。您在客户端上升级了哪些软件以使其成为必需?
–安东
2014年5月18日在7:13
不,尼基是对的。如果更新来宾OS内核,则必须重新安装来宾Additions。
–斯潘塞·威廉姆斯
15年11月12日在20:08
#8 楼
就我而言,它无法解决将自己添加到vboxsf目录中的问题。我终于发现自动挂载目录的路径是问题所在:
/ mnt / host / sf_win
来宾仅存在/ mnt。但是,在组的许可下,安装确实有效。但是如果不进行sudoing,则不允许进行任何操作。
将安装点修改为/ mnt / sf_win解决了我的问题。
#9 楼
以
root
卸载共享通过
chown
和chmod
进行必要的更改重新引导并签出共享具有正确的权限
评论
您如何挂载共享文件夹?您是要让它由VirtualBox来宾utils(即/ media / sf_something)自动挂载,还是使用mount命令手动挂载?另外,您能描述一下如何在Windows的VirtualBox下配置共享吗?共享有三个选项,只读,自动挂载和永久,您已勾选了这些选项。
请发布您问题的更新-而非评论。请包括df的输出和用于手动挂载文件系统的命令。
谢谢-您将看到一个/ media / sf_Ubuntu文件系统。那是您的共享文件夹,您无需手动安装它。我建议您卸载/ home / m / Desktop的东西,然后使用/ media / sf_Ubuntu,其工作方式如下所示。
@Tony:我无法访问此文件夹。请参阅我的原始问题,其中添加了更多信息