页次: 1
我会把虚拟机.qcow2文件cp到 /dev/shm里,然后启动虚拟机,让虚拟机在内存中运行;
执行cp命令时,我用的是user权限,所以,此时/dev/shm/目录中的qcow2文件是user拥有;
虚拟机运行以后,qcow2文件权限会变成644,所有者和组会变成root;这是正常的,因为我用的前端是virt-manager,它会把qcow2所有者变成root账户;
然后问题出现了:我如果想删除这个qcow2文件,就必须使用root权限;
我希望的是,仅使用user权限就删除这个文件 ? 除了sudo;
我自己琢磨了一下,好像这不太可能,因为文件是644,所有者和所属组都是root,没道理user权限可以删除,这推理对么?
或者,我在想,有没有一个方法,让user仅对 /dev/shm/目录下的文件拥有root权限?这听起来好像不太安全~
最近编辑记录 驿窗 (2018-11-23 22:14:53)
开源/Linux大众化,从驿窗开始~
离线
能不能删文件看的是文件夹的权限
离线
文件夹?
我使用user权限cp文件到/dev/shm目录的,如果没有启动虚拟机,我用user身份可以删除/dev/shm目录里的这个文件;
但如果虚拟机启动过,文件所有者就会变成root,而不是user,组也一样,mod是644;这时,我就无法用user权限来删除/dev/shm目录里的qcow2文件;
如果此时我用user权限cp其它文件到/dev/shm/目录,这个新cp到/dev/shm目录的文件,可以用user权限随意编辑或删除,不需要root权限;
所以,我想对于/dev/shm这个目录,user的权限应该已经足够了---读写执行三个都有;
唯一的问题是virt-manager的动作;virt-manager启动虚拟机的动作,相当于是root用户修改了这个qcow2文件的权限,使这个文件只有root可以修改/删除,user就只有读权限,不能修改/删除;而/dev/shm目录的权限,并没有变化;
而我却恰恰需要使用user权限去删除/dev/shm/这个目录里的qcow2文件~
--------
我bing过一些资料,这其实是virt-manager管理虚拟机的方式,源于qemu:
它有两种方式,一个是qemu:///system(root权限管理虚拟机),另一个是qemu:///session(user权限管理虚拟机);
上面我说的文件所有权被修改为root的情况,实际上是在qemu:///system(root权限管理虚拟机)的情况下出现的;
如果我用qemu:///session(user权限管理虚拟机),则qcow2会一直保持user有可以读写执行权限的状态;不会变成root专有;
但麻烦的是,qemu:///session(user权限管理虚拟机)情况下,虚拟机的网络功能有很多是有限制的,所以我基本上不会使用qemu:///session,而是经常使用qemu:///system(root权限管理虚拟机);
而qemu:///system(root权限管理虚拟机)带来的问题就是,qcow2文件被改成root专有的了;
头疼~
最近编辑记录 驿窗 (2018-11-23 18:16:33)
开源/Linux大众化,从驿窗开始~
离线
大家是不是都不用kvm,都在用virtualBox?
开源/Linux大众化,从驿窗开始~
离线
/dev/shm 和 /tmp、/var/tmp,带 t 权限位的。你可以在自己家里 mount 一个 tmpfs 自己用,比如我的:
tmpfs /home/lilydjwg/tmpfs tmpfs size=512m,uid=lilydjwg,gid=lilydjwg,mode=0750 0 0
离线
哈哈,仙子,你的办法管用,好开心
我添加了一个虚拟机的存储池,放在/home/peter/tmpfs;
然后把以前cp 到/dev/shm/目录的qcow2文件,改成cp 到/home/peter/tmpfs;
之后我用qemu:///system方式启动虚拟机,启动以后,我在/home/peter/tmpfs目录执行 ls -ahl,显示的qcow2文件所属用户和组,都变成了libvirt-qemu(之前都是root);然后我用user权限删除,果然一下就删除了,不需要提供root权限~
ps:不过如果想要虚拟机能运行,tmpfs目录需要设置为0755;0750的话,libvirt-qeum组无法读取里面的文件;
太感谢仙子了,这问题困扰我快一年了,我是一直将就着用的;
没有系统的学过linux,我这二把刀的苦楚啊...终于又解脱了一点~
@nopriler,
你说的有道理,我的这个删除权限问题还是要从目录权限上找,多谢~
---------
ps:我先是搜索了一大堆关于t 权限的文章,看了几篇之后才明白,不是需要我设置t权限,而是注意/dev/shm/有t 权限,我要做的,是避开这个t权限;
最近编辑记录 驿窗 (2018-11-24 11:06:16)
开源/Linux大众化,从驿窗开始~
离线
页次: 1