Linux中sudo的使用

简介:

SUDO:switch user


概述:使用某个用户A或某些用户以其他用户B的身份去执行某些命令,执行该命令的权限依照用户B的权限。
实现与配置:
1.其配置文件:/etc/sudoers
2.配置配置文件:
法1#vim /etc/sudoers
法2#visudoers
3.语法格式:
username|alias   host=(username)   command_list
  用户名|别名        主机=(以谁的身份)    命令列表

 
例如:jerry ALL=(root) /usr/sbin/usermod, /usr/sbin/userdel, /usr/bin/passwd
设定jerry可以在所有主机上以root权限去执行/usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/passwd这三个命令

由上可以看到,jerry可以执行/usr/bin/passwd,那么他不就可以修改root用户的密码了,为防止该行为我们可以这样设定。
jerry ALL=(root) /usr/sbin/usermod, /usr/sbin/userdel, /usr/bin/passwd, !/usr/bin/passwd root

4.使用别名:
●用户别名:
User_Alias USERMANAGER = jerry, redhat, centos, ubuntu
User_Alias POWERMANAGER = tom, gentoo, USERMANAGER


●命令别名:
Cmnd_Alias USERMANCMND = /usr/sbin/useradd,/usr/sbin/usermod,/usr/bin/passwd, !/usr/bin/passwd root

●主机别名:
Host_Alias MANHOST = ...

注:所有的Alias后面的名称中的字符必须全部使用大写字母,别名中还可以嵌套其他的别名。

5.在第一个字段处,不仅可以使用用户,也可以使用别名定义的组,如果要使用系统上通过"groupadd"添加的组,则需要在在该组前面加上"%".
例如:系统原本有一个组“mygroup”
%mygroup ALL=(root) /usr/sbin/useradd, /usr/sbin/usermod,/usr/bin/passwd, !/usr/bin/passwd root

使用别名定义:
User_Alias USERMANAGER = jerry, redhat, centos, ubuntu
Cmnd_Alias USERMANCMND = /usr/sbin/useradd,/usr/sbin/usermod,/usr/bin/passwd, !/usr/bin/passwd root


USERMANAGER ALL=(root) USERMANCMND

6.日志信息
可以通过/var/log/secure查看使用sudo执行过的命令已经执行命令的用户的详细信息。

7.当某个用户被赋予了sudo可以执行的命令时,每当在两次命令执行的相隔的时间在默认时间之外时,就会被提示必须输入用户的密码,以确保命令执行者的真实身份。但是在这个默认时间内执行则不需要键入用户的密码,为了防止其安全性,这时可以使用:

#sudo -k                #####要求下次在使用sudo执行命令时必须输入密码
#sudo -l                #####显示当前用户可以使用的sudo的所有命令

当需要为某用户设置在使用sudo命令时,不在输入密码时,可以使用这样的格式:

jerry ALL=(root) NOPASSWD: /usr/sbin/usermod, /usr/sbin/userdel, /usr/bin/passwd, !/usr/bin/passwd root
jerry ALL=(root) /usr/sbin/usermod, /usr/sbin/userdel, NOPASSWD: /usr/bin/passwd, !/usr/bin/passwd root


注:NOPASSWD只对其后的命令生效。








本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/796033,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
安全 Linux Shell
百度搜索:蓝易云【Linux基本功系列之sudo命令】
总结: sudo命令是Linux系统中的一个重要工具,允许普通用户以超级用户的权限执行命令,以提高系统安全性和管理灵活性。通过sudo,管理员可以精确控制用户的权限,并限制对系统资源的访问。合理使用sudo命令,可以提高系统的安全性和管理效率。
39 5
|
5月前
|
安全 网络协议 Shell
Linux sudo 以其他身份来执行命令
Linux sudo 以其他身份来执行命令
36 0
|
5月前
|
Linux Shell 文件存储
linux(二十一)sudo命令~
linux(二十一)sudo命令~
31 0
|
6月前
|
安全 Linux Shell
在最爱的秋天学习 linux 之 su 和 sudo
在最爱的秋天学习 linux 之 su 和 sudo
89 4
|
7月前
|
数据安全/隐私保护
39Linux - 用户/权限管理(为创建的普通用户添加sudo权限)
39Linux - 用户/权限管理(为创建的普通用户添加sudo权限)
40 0
|
4月前
|
Linux 数据安全/隐私保护
Linux中普通用户使用sudo命令提示lin is not in the sudoers file. This incident will be reported.
Linux中普通用户使用sudo命令提示lin is not in the sudoers file. This incident will be reported.
|
2月前
|
安全 Shell Linux
【Shell 命令集合 系统管理 】Linux 以超级用户(root)的身份执行特权命令 sudo命令 使用指南
【Shell 命令集合 系统管理 】Linux 以超级用户(root)的身份执行特权命令 sudo命令 使用指南
47 1
|
3月前
|
安全 Linux 数据安全/隐私保护
Linux命令 su 和 sudo 的区别
【2月更文挑战第5天】
33 0
Linux命令 su 和 sudo 的区别
|
4月前
|
Linux 开发工具
Linux——手把手教你解决sudo指令无法使用的问题
Linux——手把手教你解决sudo指令无法使用的问题
|
4月前
|
Linux Shell 数据安全/隐私保护
linux命令之sudo/su
linux命令之sudo/su
35 7