gan*_*ars 9 root sudo privileges
我想在不询问 root 密码的情况下运行任何程序。因为我是唯一使用该系统的人。所以我用谷歌搜索并编辑了/etc/sudoers
.
我做了什么:
# chmod 640 /etc/sudoers
# vim /etc/sudoers
Run Code Online (Sandbox Code Playgroud)
添加如下一行:
# User privilege specification
root ALL=(ALL:ALL) ALL
sgg ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)
保存并关闭文件。重新启动系统。但没有改变/改进。我想更改任何其他线路吗?或者有什么办法吗?
编辑:
1.我将权限更改/etc/sudoers
为0440
. ls -l /etc/sudoers
结果是
-r--r----- 1 root root 772 May 4 19:43 /etc/sudoers
Run Code Online (Sandbox Code Playgroud)
2.我跑# visudo
。文件内容是
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
sgg ALL=NOPASSWD:ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)
但是当我运行时它仍然要求输入密码sudo ls
。
系统信息:Ubuntu 14.04 x86_64 3.13.0-24-generic
ter*_*don 11
首先是一些一般性的观点:
切勿/etc/sudoers
直接编辑。您应该始终使用sudo visudo
它,它允许您编辑文件,但在保存之前检查它是否有错误。的语法sudoers
很棘手,错误会使您的系统无法使用,因为您将无法再使用sudo
.
永远不要更改/etc/sudoers
. 通常,您不应更改系统文件的权限。在许多情况下,与它们相关联的程序将无法正常运行,这是不好的做法和安全漏洞。这sudo
就是首先要做的,因此您无需更改权限。
此外,如果您将 的权限设置/etc/sudoers
为 640 并且能够对其进行写入,则意味着您也将其所有者更改为您的用户。这将有效地打破它。如中所述man sudoers
:
/etc/sudoers 归 gid N 所有,应该是 1 sudoers 文件拥有错误的组所有权。如果您希望更改 sudoers 文件组所有权,请将“sudoers_gid=N”(其中“N”是拥有 sudoers 文件的组 ID)添加到 sudo.conf(5) 文件中的 sudoers 插件行。
如果您希望普通用户能够安装驱动器,更好的方法是在/etc/fstab
. 使用您的示例,您会希望此行出现在那里:
/dev/sda6 /media/sgg/D vfat users,rw,errors=remount-ro,noauto 0 0
Run Code Online (Sandbox Code Playgroud)
这将允许普通用户安装它
mount /dev/sda6
Run Code Online (Sandbox Code Playgroud)如果尽管如此,您仍然希望允许您的用户在没有密码的情况下运行任何命令,那么您要添加到/etc/sudoers
(使用sudo visudo
)的行是:
sgg ALL=NOPASSWD:ALL
Run Code Online (Sandbox Code Playgroud)
保存文件并退出visudo
并尝试运行sudo ls
,您不应该被要求输入密码。我刚刚测试并可以确认它适用于我的 LMDE。
归档时间: |
|
查看次数: |
43072 次 |
最近记录: |