我可以赋予某些应用程序自己的权限(例如,不同于 root 密码的密码)吗?
我之所以要这样做,是因为像 compiz、设置管理器这样的应用程序不需要 root 权限。当我向其他人展示 Ubuntu 或让他们使用它时,这会产生问题。他们可能认为玩这样的游戏没什么问题,因为它看起来只是改变了一些效果,但事实上如果使用不当,它可能会破坏 Ubuntu。
我希望其他人只使用我的个人资料,但这样的应用程序会带来风险。
那么这可能吗?
答案1
你可以阻止用户编辑应用程序配置文件,如果你将他们的所有权转让给另一个用户,例如
sudo chown -R root:lusername ~lusername/.config/compiz-1
sudo chmod -R go-w,g+rX ~lusername/.config/compiz-1
答案2
一般来说这是可能的,但不是按照你想要的方式实现的。
瞧,当您运行应用程序时,它会在您的用户 ID 下运行。因此,您当然可以设置 compiz 以不同的用户身份运行,但这样它就不会在您的用户会话中运行,因此无法管理您的用户窗口,这将违背 compiz 的初衷。
您当然可以创建不同的用户,让这些用户“拥有”特定的应用程序,并且只有该用户可以运行它们。但是,使用内置的 Ubuntu 应用程序做到这一点需要付出巨大的努力,而且大多数应用程序都需要在您的用户会话中运行才能正常工作,这意味着如果它们在单独的 ID 下运行,它们将无法工作。
解决特定问题的最佳方法是设置一个单独的用户 ID,该 ID 没有管理员权限,仅用于演示目的。然后他们能做的最坏的事情就是破坏该特定用户的配置文件。您还可以复制配置文件,这样如果它被破坏了,您只需将其删除并重新复制模板配置文件即可。
答案3
对于一个普通的演示来说,速度不是很快,但我认为你能做的最好的事情就是为他们创建新用户(或者可能只有 1 个其他用户),并使用配置有限的 sudo 权限visudo
。请参阅sudoers
注意:更改特定应用程序的用户或权限可能会给您带来很多问题,并且无法保护它们免受 root 攻击,如果您想允许安装,您的用户需要 root 权限(sudo)。