ubuntu系统配置解决共享文件夹没权限问题方案

        本文介绍了解决Ubuntu虚拟机共享文件夹权限问题的方案。主要原因是共享文件夹默认只允许root或vboxsf组成员访问。解决方法是将当前用户加入vboxsf组:执行命令sudo usermod -aG vboxsf $(whoami)后重启系统。验证方法包括查看文件夹图标是否解锁,以及使用groups命令确认用户组包含vboxsf。文章详细解析了命令各部分含义:sudo获取权限,usermod修改用户属性,-aG选项追加组而不覆盖原有组,vboxsf是共享文件夹组,$(whoami)获取当前用户名。该方案可让普通用户无需密码即可访问共享文件夹。

概述

        接着上篇文章 “ubuntu系统安装后的首要必备配置(中)”后,继续配置虚拟机ubuntu系统。上文中配置完 “共享文件夹”后,发现一个问题就是在虚拟机ubuntu系统中,共享文件夹的图标是带锁的,如下图所示

        这就是配置完 “ 共享文件夹 ” 的访问权限问题,也就是每次打开共享文件夹 或者 共享文件的时候都需要输入密码才可以,这显示是访问共享文件夹 或 共享文件没有权限的问题。问题表现如下图所示

一、共享文件夹没权限问题的原因

        使用 VirtualBox 虚拟机和虚拟机ubuntu系统时,经常会在宿主机Windows系统 和 客户机ubuntu系统之间,通过 "共享文件夹" 进行文件夹或者文件交互。虚拟机ubuntu系统中的共享文件夹,默认情况下,只允许 root 用户或者 vboxsf 组的成员进行读写,普通用户进行读写和访问操作的时候,就会显示没权限,需要输入密码后才可以读写和访问等操作。

二、解决共享文件夹没权限问题方案

        解决方案是在不影响其原有用户组身份的情况下,以管理员权限的身份,将你的普通用户(当前登录的用户)额外加入到 vboxsf 组中。以获得了对 共享文件夹 或者 共享文件的 读写和访问的权限,也就可以不输入密码进行读写和访问了,即是实现了在虚拟机ubuntu系统中,对共享文件夹和共享文件的创建、修改和删除操作了。

        实现这一步只需要在虚拟机ubuntu系统中,右键 或者 快捷键 ”Ctrl + Alt + T“ ,打开终端(Open in Terminal),在其打开窗口中,输入命令 “ sudo usermod -aG vboxsf $(whoami) ” 回车,并输入开机密码即可,如下图所示        

        接下来是最关键的一个步骤,那就是注销并重新登录 或者 重启虚拟机ubuntu系统 才可以生效。也可以输入命令“ sudo reboot” 进行重启操作,如下图所示

        最后一步,那就是验证了。当虚拟机ubuntu系统启动后,可以通过以下两种方法验证

第一种验证方案

        在虚拟机unbuntu系统最左侧栏中,找到 Files,点击打开,找到home -> shares文件夹,看shares图标中的锁还有不,若没有锁,说明解决了 共享文件夹没权限读写或访问的问题。还可以双击打开shares文件,若没有出现需要输入密码的提示框,也说明解决了 共享文件夹没权限读写或访问的问题。如下两图所示

第二种验证方案

        在虚拟机unbuntu系统中,打开终端(Open in Terminal),在弹出的窗口中,输入并执行以下命令 “groups” 或者 “id” 来验证当前用户是否已经加入了 vboxsf 组,若出现下图中方框中的结果vboxsf组,即当前的登陆用户(普通用户)已经加入vboxsf组成功,并说明解决了 共享文件夹没权限读写或访问的问题。如下图所示

三、命令 “ sudo usermod -aG vboxsf $(whoami) ”的解析

        问题虽然解决了,但是对命令 “ sudo usermod -aG vboxsf $(whoami) ” 的解析不能放过。这一步很重要。这会让我们知其然也知其所以然,具体分解以下几部分来解析,如下内容展示

1、sudo

        功能:以超级管理员(root)权限来执行后面的命令。
        原因:使用命令 “ usermod ” 需要很高的权限,才能修改用户账户的系统信息。

2、usermod

        功能:用户修改命令(user modify),用于修改已存在用户的属性,例如:用户的登录名、根目录、所属组等。

3、-aG

        功能:说明是两个选项的组合。

        -a:是append(追加)的意思。这个选项至关重要。如果没有 -a,命令会变成 -G vboxsf,这将使用户离开所有其他附加组,并只属于 vboxsf 组,这通常是灾难性的。使用 -a 可以确保在保留用户原有所有附加组的前提下,追加一个新的组。

        -G:用于指定要将用户添加到哪个附加组。

4、vboxsf

       含义: 虚拟机ubuntu系统的共享文件夹的用户组名。

        功能:属于这个组的用户,才有权限通过虚拟机ubuntu系统访问其设置的"共享文件夹"。

5、$(whoami)

        功能:这是一个命令替换。whoami 命令会执行和输出当前登录用户的用户名。也就是 $(...)  会将括号内命令的执行结果(即你登录的当前用户名)作为一个参数,传递给前面的这个 usermod 命令。

        举例说明:如果你当前登录的用户名是 xiaowang,那么 $(whoami) 就会被替换为 xiaowang。整个命令就等价为 “ sudo usermod -aG vboxsf xiaowang ” 了。

         至此,虚拟机ubuntu系统配置中,共享文件夹或者共享文件没权限的问题方案已经展示完毕了。这是深层次的解析,大家可以一边看一边实际操作下,肯定会受益匪浅的。

        每天进步一点点,就是在进步。 加油,兄弟姐妹们!!!

        

        

        

        

        

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐