我正在使用红帽企业Linux 5 Linux机器。 我发现如果用户在/ etc / sudoers文件中,那么如果用户使用sudo运行命令,用户将以root权限运行这个命令(不知道root密码,用户运行sudo只需要input用户自己的密码为了用sudo运行命令)。 这是正确的理解?
在此先感谢乔治
这不是一个安全漏洞,至less不会超过su
。
sudo
只是让pipe理员在没有使用root shell的情况下进行快速root访问的方式(这可能很危险)。
sudo
只是要求用户input自己的密码,确实会给他root权限(试试$ sudo whoami
)。 但是,不是每个人都应该在/etc/sudoers
文件中。
如果你看看sudo
manpage,你会发现如何限制sudo
一些简单的命令。
你可以举例来说,只允许用户bob
执行$ sudo poweroff
而不允许他做$ sudo cat /etc/shadow
。
所以不,如果你正确的configuration和使用它不是安全漏洞。 如果您不希望用户拥有root shell,请考虑禁止$ sudo su
等$ sudo su
。
如果这是一个安全漏洞,sudo已经被取消了。 这是故意的,你可以configuration它需要用户的密码,根的密码或根本没有密码..
因为只有root可以configuration,所以没有安全漏洞。 根configuration谁可以访问它,谁必须为每个组input每个用户的密码。
此外,关于最后一部分:“因为root以外的用户可以以root权限运行”:这就是sudo程序的全部内容。
sudo是安全的 – 足够安全的一些发行版(Ubuntu)使用和默认推荐它。
这就是说,如果你给用户一揽子的sudo权限,那么它大大地消除了你在该帐户和一个root帐户之间的分离。 例如,如果您给用户timmy赋予一揽子sudo权限,则timmy帐户将变为与root帐户相同的特权。 任何闯入timmy账号的人都可以做任何事情(在大多数情况下,需要timmy的密码)。
Pro-sudo参数
反sudo参数
从本质上讲,它们只是两种不同的思想stream派,两者都足以使整个发行版本支持自己的方法。
我更熟悉非sudo方法,主要是因为我更熟悉Debian用户。 我发现sudo的灵活性让我拥有一个root帐户的简单性。 我不允许远程rootlogin(即通过SSH),我build议别人也不应该。
sudo是安全的,因为:
一个root用户或另一个启用sudo的用户(可以运行'visudo'或'$ EDITOR / etc / sudoers')必须修改/ etc / sudoers来授予权限。
您可以严格限制和指定一个人可以以root权限运行的内容,从而可以在服务器上拥有不同级别的pipe理员用户。
作为特权用户,您可以查看现有的/ etc / sudoers文件,以查看哪些用户具有权限。
您不必在一组pipe理员之间共享root密码。
对sudo命令做了什么完整的logging,提供了清晰的审计线索
我认为安全性比以root身份login更好,因为以root身份执行操作并不方便。 问责制当然更好,这是安全的一部分。
你必须限制谁会使用它。 通常情况下,您可以将其限制在可以知道root密码的人身上,尽pipe可能会更加灵活并限制特定的人员可以执行的操作。
困扰我的安全问题是没有必要为每个sudo命令input密码; 如果我从同一个terminalinput另外几个,没有太多的时间过去,它会接受没有密码的sudo。 这大概是为了避免让我不断input我的密码,但可以想象,一些坏人的用户级软件可以利用这个。 我个人不太了解风险。
sudoers不会自动以root身份访问。 他们可以作为configuration的用户访问。 向用户提供对其他非root用户的运行工具的访问权限是可能的和正确的。
任何有权运行shell或可以授予shell访问权限的用户都应该是您使用root密码信任的用户。 使用sudo,可以在没有root密码的情况下运行系统。 logging了sudo的所有用法,而以root身份运行的命令则不是这种情况。
如前所述,限制访问特定的命令是可行的。 示例sudoers有许多命令集可能需要授予特定用户,他们需要执行需要root权限的任务。 通过使用sudo,可以在不给他们root密码的情况下允许这样做。
任何人都可以运行一个脚本或命令的root privleges,他们可以改变已经有效地被授予root权限。 你需要信任这些人,或者不要给他们访问权限。
有大量需要root权限的任务。 使用sudo,您可以安全地将这些任务委派给备份操作员,网站pipe理员等。
Sudo是更安全的替代品。 如果configuration错误,或者对不可信用户的访问权限不正确,则存在安全风险(漏洞)。
sudo
命令允许一个用户以另一个用户的权限运行命令。 其他用户可以是root
用户,也可以是其他用户,但默认是root
。 它是为了这个目的而devise的,有很多configuration选项来帮助你以各种方式locking事物,并且已经被很多人审查了很多年。 对于所有的安全问题并不合适,但使用得当的话,它可能是一个非常有用的工具。 但是,如果使用不当,可能会产生比解决问题更多的问题。