admin管理员组

文章数量:1571327

1. sudo权限简介

Sudoers allows particular users to run various commands as the root user, without needing the root password.

意思是说,sudo权限管理可以让个别普通用户以管理员root的身份执行命令,而不需要root的密码。

  • sudo的操作对象是Linux系统的命令,而不是普通的文件。
  • 利用sudo权限,root可以把本来只能由超级用户root执行的命令赋予普通用户来执行。
  • sudo可以给普通用户赋予执行特殊命令的权限。
  • root先给普通用户赋予执行特殊命令的权限,普通用户才能使用sudo命令来执行特殊命令。

2. 设置sudo权限

超级用户root通过 visudo 命令来设置sudo权限,它实际上修改的是 /etc/sudoers 文件。

那么,设置sudo权限的方法就有两种:

  • visudo
  • vi /etc/sudoers

只需在 /etc/sudoers 文件内容的最下面添加授权代码,保存即可完成授权。

现粘贴出该文件中的部分重要代码:

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

如果是给某个普通用户设置sudo权限,可参考格式:

## Allow root to run any commands anywhere
root    ALL=(ALL)        ALL

用户名  Linux主机的地址=(可使用的身份,其实就是root)  授权的命令(绝对路径)

例如:授权user01用户可使用所有的命令。

user01  ALL=(ALL)       ALL

注意: 这里给user01用户授权可以以root的身份执行所有的命令,这是非常危险的。因为,这样的话,user01就可以用root的身份执行所有的特殊命令(包括vi),而文件的rwx权限对root身份是无效的。

推荐做法: 授权的命令越具体越好,授权命令越具体,授予的权限就越小,风险也就越小。如果是同时授予多条具体的命令,命令之间用逗号分隔。

例如:授权user02用户,可以重启服务器。

user02  ALL=(ALL)       /sbin/shutdown -r now
或
user02  ALL=/sbin/shutdown -r now

如果是给某个用户组设置sudo权限,可参考格式:

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

%组名  Linux主机的地址=(可使用的身份)  授权的命令(绝对路径)

3. 普通用户如何执行sudo授予的命令

查看当前用户可以执行的sudo命令列表:

sudo -l

普通用户执行sudo赋予的命令:

sudo /sbin/shutdown -r now
或
sudo shutdown -r now

也就是说,对于sudo赋予给普通用户的命令,普通用户想要执行该命令的话,必须在前面以 sudo 开头。普通用户执行该命令时,可以不用命令的绝对路径。

本文标签: 权限sudo