su和sudo之间的区别以及如何在Linux中配置sudo

Linux的系统安全得多比任何其对应的。 其中一个的方式 实现Linux安全是用户管理策略和用户权限。正常用户无权执行任何系统操作。 如果一个普通用户需要执行他需要用' su '或' Sudo '命令的任何系统范围的更改。

Linux:su v / s sudo

-本文是更适用于基于 Ubuntu发行版,但也适用于最流行的 Linux发行版。

'su'Vs'sudo'

su ”势力大家分享你的 root密码给其他用户,而“ Sudo ”能够执行无 root口令系统的命令 。“Sudo '可以让你用你自己的密码来执行系统命令即代表制度中的责任,而不 root密码。

什么是“sudo”?

' Sudo '是root二进制 的setuid,这代表授权用户的root目录执行命令和用户需要输入自己的密码,执行系统命令,然后再' Sudo '。

谁能执行“sudo”?

我们可以运行 “/ usr / sbin目录/ visudo命令 ”添加/删除谁可以执行 “sudo的 ”用户列表。
$ sudo /usr/sbin/visudo
“/ usr / sbin目录/ visudo命令 ”文件中的屏幕截图,看起来是这样的: Sudo名单看起来像下面的字符串,默认情况下:
root ALL=(ALL) ALL
注意 :您必须是 root编辑 / usr / sbin目录/ visudo命令文件。

授予sudo访问权限

在许多情况下, 系统管理员 ,特别是新的领域找到字符串“ root  ALL =(ALL)ALL”为他人这可能是潜在的非常有害的模板,并授予不受限制的访问。 编辑 “/usr/sbin/visudo”文件,像下面的模式可能真的是非常危险的,除非你相信所有列出的用户完全。
root ALL=(ALL) ALL
adam ALL=(ALL) ALL
tom ALL=(ALL) ALL
mark ALL=(ALL) ALL

sudo的参数

正确配置 “Sudo '是非常灵活的,并且需要运行可精确配置命令的数量。 配置' Sudo '行的语法是:
User_name Machine_name=(Effective_user) command
上述语法可以分为四部分:
  1. User_name:这是' Sudo '用户的名称。
  2. Machine_name :这是主机名,其中' Sudo '命令是有效的。当你有很多主机时很有用。
  3. (Effective_user):被允许执行的命令的“有效用户”。此列允许用户执行系统命令。
  4. Command :命令或一组用户可以运行的命令。
一些情况,以及它们的相应的“ Sudo '行的: Q1。你有一个用户 标记这是一个数据库管理员。 你应该给他提供了数据库服务器 (beta.database_server.com)而已,而不是在任何主机上的所有权限。 对于上述情况的' Sudo '线可以写成:
mark beta.database_server.com=(ALL) ALL
Q2。你有一个用户' tom '这是应该作为同一数据库服务器,上面解释的root以外的用户执行系统命令。 对于上述情况的' Sudo '线可以写成:
mark beta.database_server.com=(tom) ALL
Q3。你有一个Sudo用户' cat '这应该只运行命令' dog '。 为了实现上述情况,我们可以写“sudo”:
mark beta.database_server.com=(cat) dog
Q4。如果用户需要什么被授予多个命令? 如果命令的数目,用户应该运行是在 10中,我们可以一起放置所有的命令,以在他们之间的空白,如下所示:
mark beta.database_server.com=(cat) /usr/bin/command1 /usr/sbin/command2 /usr/sbin/command3 ...
如果命令这个名单变化的范围,它是从字面上无法手动键入每个命令,我们需要使用 别名 。别名!是Linux实用程序,其中长篇命令或命令列表可以被称为一个small和easy关键字。 一个 alias实施例,其可代替' Sudo '配置文件条目的使用。
User_Alias ADMINS=tom,jerry,adam
user_Alias WEBMASTER=henry,mark
WEBMASTERS WEBSERVERS=(www) APACHE
Cmnd_Alias PROC=/bin/kill,/bin/killall, /usr/bin/top
能够指定一个 系统组中,代替用户,属于该组只是后面添加 '%'如下:
%apacheadmin WEBSERVERS=(www) APACHE
Q5。怎么样,而无需输入密码执行' Sudo '命令? 我们可以不使用 'NOPASSWD'标志输入密码执行' Sudo '命令。
adam ALL=(ALL) NOPASSWD: PROCS
在这里,用户' adam '可以执行的 “PROCS” 别名 ,而无需输入密码的所有命令。 “ sudo ”相比“ su ”为您提供了一个强大的和安全的环境,灵活的负载。 此外“ sudo ”的配置很容易。 一些Linux发行版“ 命令 ”默认启用的,而今天大多数的发行版,你需要启用它作为一种 安全措施 。 要将用户(bob)添加到sudo,只需以root身份运行以下命令。
adduser bob sudo
目前为止就这样了。我会再次与另一个有趣的文章。直到然后,保持调整和连接到youcl。不要忘记在我们的评论部分向我们提供您的宝贵反馈。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏