Ubuntu 22.04宿主机与QEMU-KVM中Windows 7虚拟机共享文件夹权限问题求助
Ubuntu 22.04宿主机与QEMU-KVM中Windows 7虚拟机共享文件夹权限问题求助
嘿,我来帮你彻底解决这个权限烦恼!不用怕,步骤都很简单,我一步步给你说清楚:
第一步:快速定位共享文件夹的终端路径
你说不会用cd跳转目录?没关系,Ubuntu文件管理器有个省心的功能:
- 打开文件管理器,找到你的Samba共享文件夹
- 右键点击它,选择「打开终端」——这时候终端会自动切换到这个文件夹的目录下,你不用手动敲
cd啦!
第二步:把现有文件的所有权改成你的
现在终端已经在共享文件夹里了,输入下面的命令(输入时终端不会显示密码,正常输完按回车就行):
sudo chown -R $USER:$USER .
给你解释下:
sudo:临时获取管理员权限,因为改所有权需要这个chown:修改文件/文件夹所有者的命令-R:递归处理,连文件夹里的所有子文件、子文件夹一起改$USER:$USER:第一个$USER是你的用户名,第二个是你的用户组,这样整个共享目录的内容都归你.:代表当前终端所在的文件夹(也就是你的共享文件夹)
第三步:给自己完全的读写执行权限
接着输入这条命令,确保你能对所有文件做任何操作:
chmod -R u+rwx .
解释:
chmod:修改权限的命令-R:同样递归处理所有内容u+rwx:给当前用户(你)添加读、写、执行的全部权限
第四步:设置Samba默认权限,一劳永逸!
上面的步骤能解决现有文件的问题,但以后从Windows拖新文件进来还会出问题?那我们改下Samba配置,让新文件自动归你所有:
- 输入命令打开Samba配置文件:
sudo nano /etc/samba/smb.conf
- 在文件里找到你的共享文件夹对应的配置段(大概是类似
[你的共享名]开头的部分),比如:
[Shared] path = /home/你的用户名/Shared read only = no guest ok = no
- 在这个段里添加两行:
force user = 你的用户名 force group = 你的用户名
(把「你的用户名」换成你Ubuntu里实际用的名字,比如你登录时显示的名字)
4. 按Ctrl+O保存,按Ctrl+X退出编辑器
5. 重启Samba服务让配置生效:
sudo systemctl restart smbd
这样以后从Windows 7拖到共享文件夹的文件,默认就会归你所有,再也不会弹出权限不足的提示啦!
要是你以后想手动用cd跳转目录,举个例子:如果共享文件夹在你的主目录下叫「Shared」,那命令就是cd /home/你的用户名/Shared,回车就进去了。
备注:内容来源于stack exchange,提问作者Ironhand41




