赋予普通用户某个命令的超级管理员权限

1.切换用户命令  su 用户

2.赋予普通用户某个命令的超级管理员权限 :以root身份执行visudo后,在打开的文本中添加一行                              user all=all) 命令的绝对路径(注释:第一个all 指管理者的主机的IP地址,意思是,只有在指定的IP地址下才有sudo这个权限,第二个all指,可以切换成任意身份,这个可以直接省略)
e.g:user all=all) /sbin/shutdown -r now  也可以是 user all=/sbin/shutdown -r now
如果为用户组添加权限的话  %组名 all=all) /sbin/shutdown -r now 

3.普通用户可以执行sudo -l查看可以执行的超级管理员命令
4.普通用户执行超级命令的时候必须要加 sudo 命令的绝对路径,然后提示你输入本
例如 sudo /sbin/shutdown -r now

扩展:在赋予普通用户以某些sudo命令时是存在风险的。
假如赋予:

user1 ALL=/usr/sbin/useradd #赋予user1添加用户的权限
user1 ALL=/usr/bin/passwd   #赋予user1更改密码的权限 
user1 ALL=/bin/vi           #赋予user1使用vi更改任意文件的权限(包括/etc/shadow阔怕!)

这样会造成严重后果, 在运行该权限时,能更改root密码,这样超级管理员都无法登陆了。另外vi可以编辑所有重要的配置文件信息。更是十分危险。

关于修改密码我们可以针对修root密码做防范:\

user1 ALL=/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
可以更改任意字母的用户密码, 用户名不能为空(如果空,则代表更改当前用户密码,而此时身份为root),用户名不能为root

你可能感兴趣的:(linux)