我想gedit file.txt
使用 sudo 以 root身份执行命令,例如:
sudo gedit file.txt
Run Code Online (Sandbox Code Playgroud)
应该问我 root 密码。
目前,输入sudo gedit file.txt
结果为:
[sudo] password for currently_logged_in_user:
Run Code Online (Sandbox Code Playgroud)
输入密码后,结果如下:
currently_logged_in_user is not in the sudoers file.
This incident will be reported.
Run Code Online (Sandbox Code Playgroud)
所以我不得不su root gedit file.txt
改用,这很不方便。
sudo 并不像您想象的那样工作。
您可以配置 sudo 以允许 root 访问命令,例如 gedit,但不能指定文件。因此,如果您授予用户对 gedit 的 root 访问权限,则该用户可以编辑任何系统文件。
例如,对于用户 joe
joe ALL = /usr/bin/gedit
Run Code Online (Sandbox Code Playgroud)
将授予对 gedit 的 root 访问权限,但用户随后可以访问和编辑任何文件。
此外,默认情况下,Ubuntu 的 root 帐户是锁定的,sudo 使用调用用户密码而不是 root 密码。然而,Sudo 是高度可配置的,因此您不必访问 root,您可以使用 -u 标志指定备用用户。然后,您可以将 sudo 配置为使用目标密码、root 或其他方式。你必须设置一个root密码。
有关详细信息,请参阅http://www.gratisoft.us/sudo/sudoers.man.html和https://help.ubuntu.com/community/RootSudo
我认为您会希望更改相关文件的所有权,以便该文件归 root:some_group 所有,将用户添加到 some_group 并允许组编辑。
示例 -在 /var/www 中工作时如何避免使用 sudo?
因此 gedit 不会以 root 身份运行,并且用户可以使用组权限编辑文件。
如果您需要更精细的粒度控制,请使用 acl。
如果您真的希望限制使用,请使用 apparmor。
归档时间: |
|
查看次数: |
370 次 |
最近记录: |