Linux之sudo及其配置文件/etc/sudoers

简介: 一、sudo介绍sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:§ sudo能够限制用户只在某台主机上运行某些命令。§ sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。§ sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为

一、sudo介绍
sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。

它的特性主要有这样几点:

§ sudo能够限制用户只在某台主机上运行某些命令。

§ sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。

§ sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。

§ sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0411。

二、配置文件/etc/sudoers
它的主要配置文件是sudoers,linux下通常在/etc目录下,如果是solaris,缺省不装sudo的,编译安装后通常在安装目录的 etc目录下,不过不管sudoers文件在哪儿,sudo都提供了一个编辑该文件的命令:visudo来对该文件进行修改。强烈推荐使用该命令修改 sudoers,因为它会帮你校验文件配置是否正确,如果不正确,在保存退出时就会提示你哪段配置出错的。

三、配置support
1,最基础的配置:

root ALL=(ALL) ALL
大概位于98行上下,其所代表的含义分别是:

用户帐号,也就是我们想要配置的让哪个系统帐号可以使用sudo命令

允许用户从哪些地方连接到这台主机,linux作为服务器,管理员是有可能从别的主机远程连接过来的

允许切换的身份,

允许执行的命令

照葫芦画瓢,在下面增加一行

root   ALL=(ALL)   ALL
jiaxu   ALL=(ALL)   ALL
当用户jiaxu使用sudo执行的时候,就可以像root那样为所欲为了。

2,根据用户组及无密码的配置:

Allows people in group wheel to run all commands

%wheel    ALL=(ALL)    ALL

Same thing without a password

%hr    ALL=(ALL)    NOPASSWD: ALL

跟第一种配置方式相比,也就在前面多了一个“%”,用来表示用户组。最前面的“#”表示注释, 把"#"去掉即可生效; 而后面的"NOPASSWD:"即表示不需要输入密码就可以执行命令

设置了某个用户组具有sudo权限之后,只需要使用usermod命令把相应的卖手机游戏账号平台用户添加到该用户组就可以了:

usermod -a -G hr jiaxu
3,有限制的命令操作:

%hr ALL=(root) /usr/bin/passwd
允许hr用户组的用户以root权限修改其他用户的密码。

当用户以"sudo passwd"或者"sudo passwd root"方式运行命令的时候,可以直接把root用户的密码改掉,这真是太危险了,必须要把这两条命令禁止调,在命令前面加上"!"来表示不可执行的命令,如下所是:

%hr ALL=(root) !/usr/bin/passwd, !/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
4,通过别名问题来设置,有命令别名,账户别名,主机别名等,具体参考sudoers文件提供的例子:

Host Aliases ## Groups of machines. You may prefer to use hostnames (perhaps using ## wildcards for entire domains) or IP addresses instead. # Host_Alias FILESERVERS = fs1, fs2 # Host_Alias MAILSERVERS = smtp, smtp2 ## User Aliases ## These aren't often necessary, as you can use regular groups ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname ## rather than USERALIAS # User_Alias ADMINS = jsmith, mikem ## Command Aliases ## These are groups of related commands... ## Networking # Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

5,在sudoers文件的最后面有如下几行,利用include引入/etc/sudoers.d目录下的配置文件

Read drop-in files from /etc/sudoers.d (the # here does not mean a comment) #includedir /etc/sudoers.d

sudo与su的联合使用

目录
相关文章
|
3月前
|
存储 Ubuntu Linux
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
|
29天前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
37 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
3月前
|
存储 安全 Linux
在Linux中,`/etc/passwd` 和 `/etc/shadow` 文件分别有什么作用?
在Linux中,`/etc/passwd` 和 `/etc/shadow` 文件分别有什么作用?
|
3月前
|
安全 Linux 数据安全/隐私保护
驾驭Linux的权力:Root与Sudo
在 Linux 系统中,权限管理至关重要,Root 用户与 Sudo 命令为核心组件。Root 作为超级用户,拥有最高权限,可执行任意命令,但也带来较高安全风险,建议仅在必要时使用。Sudo 则允许系统管理员授予普通用户临时的 Root 权限以执行特定命令,提升了系统的安全性和管理灵活性。通过合理配置 Sudoers 文件,可以实现对用户权限的精细化管理。综合运用 Root 和 Sudo 可确保系统的安全稳定运行。
69 1
|
3月前
|
存储 安全 Linux
Linux权限之谜:一步步教你如何解锁sudo权限并窥视/etc/shadow的神秘面纱!
【8月更文挑战第22天】在Linux中,`sudo`命令让授权用户能以其他用户(通常是root)身份运行命令。关键的安全文件`/etc/shadow`存储用户密码哈希,仅root可读。要使用`sudo`,需确保账户被列入`sudoers`文件中。系统管理员可通过`visudo`编辑此文件来赋予用户权限,例如添加`username ALL=(ALL) NOPASSWD: ALL`行。获得`sudo`权限后,可运行`sudo cat /etc/shadow`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
84 2
|
3月前
|
存储 域名解析 网络协议
在Linux中,/usr和/etc目录的用途有什么?
在Linux中,/usr和/etc目录的用途有什么?
|
3月前
|
存储 安全 Linux
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
|
3月前
|
网络协议 Ubuntu Linux
在Linux中,设置DNS需要修改哪个配置文件?
在Linux中,设置DNS需要修改哪个配置文件?
|
3月前
|
Linux 开发工具 数据安全/隐私保护
在Linux中,如何添加和管理用户账户以及如何设置sudo权限?
在Linux中,如何添加和管理用户账户以及如何设置sudo权限?
|
Linux 数据安全/隐私保护
Linux系统之普通用户sudo提权配置
Linux系统之普通用户sudo提权配置
321 0
下一篇
无影云桌面