我为妻子安装了 VMWare Player。每隔一段时间(特别是在内核更新后),VMWare Player 就需要编译到内核中。
我的配偶没有激活 su-(如果有人搞砸了操作系统,我会)。我想允许她这样做,但仅限于那个程序。
这可能吗? 可以安全地完成吗(对于操作系统而言)? 如何完成?
编辑:我尝试将以下内容添加到 visudo
guijunkette ALL=(全部) NOPASSWD: /usr/bin/vmware-modconfig
当以她的用户身份运行时,输入密码后出现以下错误:
因此,到最后,还是没有成功。
编辑:我已放弃 VMWare Player 并转而使用 VirtualBox。进行了全新安装。
答案1
笔记:如果你希望 VMWare Player 自动执行更新,我认为通过 是不可能的
sudoers
;这是因为VMWare 使用其自己的图形化 sudo 前端检查用户是否具有不受限制的 sudo 权限……跟踪显示,当您启动 VMWare Player 并检测到新内核时,GUI 更新被调用的方式如下:
/usr/lib/vmware/bin/vmware-gksu--sudo-mode --message=请输入您的密码以继续。'/usr/bin/vmware-modconfig' --icon='vmware-player' --appname='VMware' --gcc='/usr/bin/gcc' --headers='/lib/modules/3.2.0-27-generic/build/include'正如您已经尝试过的,即使简单的添加也
/usr/bin/vmware-modconfig
不起作用。
我们假设您配偶的用户名是吉夫凯特。管理 VMWare 内核模块的脚本是/usr/bin/vmware-modconfig
;根据上述说明,最好从终端明确调用它;为了让你妻子的生活更轻松,我提供了一个桌面快捷方式,这样她甚至不需要打开终端。
sudo visudo
在第 25 行左右,在 行下方
%sudo ALL=(ALL:ALL) ALL
插入:guijunkette ALL=(ALL) NOPASSWD: /usr/bin/vmware-modconfig --console --install-all
退出编辑器
重建模块后,她现在可以sudo vmware-modconfig --console --install-all
无需输入密码即可运行。
桌面快捷方式
您可以做的是,在您妻子的文件夹中创建以下桌面文件~/Desktop
,并且每当 VMWare Player 闪烁“您必须...”消息时,让她单击取消,运行此快捷方式,然后再次启动 VMware Player(成功):
[桌面条目] 名称=更新 VMWare 模块 GenericName=VMWare 更新程序 注释=更新 VMWare 模块以适应新内核(控制台模式) 执行=sudo vmware-modconfig --console --install-all 终端=true 图标=/usr/lib/vmware/share/icons/hicolor/48x48/actions/vm-upload.png 类型=应用程序 StartupNotify=true
将其粘贴到例如中/home/guijunkette/Desktop/vmwareupdater.desktop
,并记住chmod +x
它。
这是一个演示: