`
phoenix007
  • 浏览: 436250 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sudo的配置

阅读更多

sudo是linux下常用的允许普通用户使用超级用户权限的工具。

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

言归正传,下面介绍如何配置sudoers

首先写sudoers的缺省配置:

#############################################################
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# User privilege specification
root    ALL=(ALL) ALL

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

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

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now
##################################################################

1. 最简单的配置,让普通用户support具有root的所有权限
执行visudo之后,可以看见缺省只有一条配置:
root    ALL=(ALL) ALL
那么你就在下边再加一条配置:
support ALL=(ALL) ALL

这样,普通用户support就能够执行root权限的所有命令

以support用户登录之后,执行:
sudo su -
然后输入support用户自己的密码,就可以切换成root用户了

2. 让普通用户support只能在某几台服务器上,执行root能执行的某些命令
首先需要配置一些Alias,这样在下面配置权限时,会方便一些,不用写大段大段的配置。Alias主要分成4种
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias

1) 配置Host_Alias:就是主机的列表
Host_Alias      HOST_FLAG = hostname1, hostname2, hostname3
2) 配置Cmnd_Alias:就是允许执行的命令的列表
Cmnd_Alias      COMMAND_FLAG = command1, command2, command3
3) 配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
5) 配置权限
配置权限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG

配置示例:
############################################################################
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification
Host_Alias      EPG = 192.168.1.1, 192.168.1.2

# User alias specification

# Cmnd alias specification
Cmnd_Alias      SQUID = /opt/vtbin/squid_refresh, /sbin/service, /bin/rm

# Defaults specification

# User privilege specification
root    ALL=(ALL) ALL
support EPG=(ALL) NOPASSWD: SQUID

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

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

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now
###############################################################

分享到:
评论

相关推荐

    Linux系统中掩耳盗铃的sudo配置

    然而,如果不正确地配置 `sudo`,可能会导致严重的安全漏洞,让非特权用户轻易获取到root权限,这被称为“掩耳盗铃”的sudo配置。这种情况在实际操作中尤其危险,因为它可能使系统管理员误以为已经实施了严格的权限...

    sudo用法详解

    【sudo和visudo详解】 ...正确配置和使用sudo是每个系统管理员必备的技能,而visudo则是确保sudo配置安全的关键。在多人共享的环境中,通过sudo进行权限管理,既能满足日常运维需求,又能有效防止不必要的安全威胁。

    sudo-1.9.5p2.tar.gz

    在升级之前,建议备份现有sudo配置,以便在遇到问题时恢复。 通过理解和掌握sudo的源码,不仅能够更好地利用这个工具,还能深入了解Unix/Linux系统的权限管理和安全机制。对于系统管理员和开发者而言,这是一项重要...

    linux sudo

    配置 Sudo 必须通过编辑 `/etc/sudoers` 文件,并且通常只有超级用户才有权限编辑此文件。为了确保文件的正确性和完整性,建议使用 `visudo` 命令进行编辑。 ##### 使用 visudo 编辑 sudoers 文件: - **锁定机制*...

    sudo软件的安装与配置

    "sudo软件的安装与配置" sudo软件是一种 Unix 操作系统下的权限管理工具,允许系统管理员授予非root用户执行特定命令的权限。下面是sudo软件的安装和配置方法: 一、安装sudo 1. 下载sudo软件包,上传到服务器上...

    ansible-sudo:Ansible角色,用于安装和配置sudo

    Ansible weareinteractive.sudo角色 weareinteractive.sudo是角色,它: 安装sudo 配置sudo 笔记: 由于Ansible Galaxy现在支持,因此该角色已从franklinkim.sudo更改为weareinteractive.sudo !安装使用ansible-...

    CentOS 7中sudo权限配置

    在CentOS 7系统中,sudo的配置通常通过编辑/etc/sudoers文件来实现,但编辑这个文件时需要非常谨慎,因为一个错误的配置可能导致系统安全问题或者系统无法使用。因此,在修改/etc/sudoers文件之前,建议使用visudo...

    7.2: sudo提权 、 Ansible配置 、 Ansible Playbook 、 Ans.docx

    sudo 提权、Ansible 配置、Ansible Playbook 实践详解 本资源摘要信息将围绕 sudo 提权、Ansible 配置、Ansible Playbook 等相关知识点进行详细的介绍和实践。 sudo 提权 sudo(superuser or another do)是 ...

    Linux用户配置sudo权限(visudo)的方法

    配置`sudo`权限是系统管理员的重要任务,以确保系统的安全性和可控性。本文将详细介绍如何使用`visudo`命令为Linux用户配置`sudo`权限。 首先,了解`sudo`的工作流程: 1. 当用户执行`sudo`命令时,系统会查找`/etc...

    03 Ceph 部署文档.docx

    本文档详细介绍了 Ceph 存储平台的部署过程,包括安装环境、配置 Ceph 源、做免密码认证、修改sudo配置、创建集群、安装软件包、初始化 mon 服务和准备 OSD 存储挂载目录等步骤。 知识点1:Ceph 部署环境 在 ...

    操作系统安全:su及sudo权限配置及控制.pptx

    本文主要关注两个关键的命令:su和sudo,它们在Linux环境中用于权限配置和控制。 首先,su命令是切换用户身份的工具,允许用户从一个账户切换到另一个账户,尤其是从普通用户切换到root用户。例如,当普通用户test...

    sudo1.9.5p2升级

    4. **管理配置文件**:`sudo` 的配置文件通常位于 `/etc/sudoers`。在升级之前,你应该备份此文件以防意外修改。升级后,检查新版本是否需要对配置文件做适应性修改。 5. **重启服务**:升级完成后,通常需要重启`...

    030101配置用户使用sudo无需密码

    #1.root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则) #2.欲切换的身份与执行者的身份相同,不需要输入密码 3./etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用...

    Linux IPMI

    为 ipmitool 配置 sudo 执行权限,以便监控用户可以执行 ipmitool 命令。以 root 用户登录,打开 sudo 配置文件: ``` visudo -f /etc/sudoers ``` 注释 Defaults requiretty 行,然后添加以下行: ``` unionmon ...

    Linux命令su、sudo、sudo su、sudo -i使用和区别.doc

    用户需要输入自己的密码,因为sudo的权限是基于用户配置的。在大多数系统中,sudo执行的命令会有时间限制,比如Ubuntu默认是15分钟,之后需要再次输入密码。`sudo`命令主要用于提升权限执行单个命令,而不会开启新的...

    权限管理-sudo权限

    当一个普通用户通过`sudo`命令执行某个操作时,该命令会检查用户的sudo权限配置文件(通常是`/etc/sudoers`),以确定该用户是否被授权以root或其他特定用户的身份执行该命令。如果用户被授权,则sudo会临时提升用户...

    Linux实用“sudo”配置选项

     然而,也有部分系统管理员允许其他用户正常使用sudo配置以运行此类重要命令并进行关键性系统操作。  也有一些系统管理员会共享root用户密码(这种作法并不推荐),这意味着普通系统用户也能够通过su命令访问root...

    Linux提权手法总结以及 Linux提权exp集合

    确保sudo配置严格,仅允许特定的命令和用户使用sudo,并定期审计sudoers文件,可以有效防止此类提权。 压缩包中的"Linux提权手法总结.pdf"可能会详细介绍这些提权方法的原理、实战技巧及防御策略。而"linux下提权...

Global site tag (gtag.js) - Google Analytics