`

如何使用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_AliasUSER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_AliasRUNAS_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
###############################################################

其余细节可以参考sudo的中文man文档
http://www.chinalinuxpub.com/bbs/showthread.php?t=22439
分享到:
评论

相关推荐

    mac用户及赋予sudo权限.docx

    sudo权限允许用户以root(超级用户)身份运行命令。在Mac上,sudo权限的配置位于`/etc/sudoers`文件中。这个文件是只读的,所以我们不能直接编辑,而是要通过`visudo`命令来安全地修改它。 1. **打开sudoers文件**...

    linux普通用户揭示未找到命令,但是写上sudo就能用.其原理是.zip

    因此,普通用户直接运行`ifconfig`会提示找不到命令,但使用`sudo ifconfig`,通过临时获取root权限,普通用户就可以执行这个命令了。 `sudo`(Substitute User DO)是Linux的一个程序,允许用户以其他用户(通常是...

    权限管理-sudo权限

    ### 权限管理中的sudo权限详解 ...掌握sudo权限的使用和配置对于任何Linux系统的用户来说都是非常重要的。在日常使用中,我们应当遵循最小权限原则,即只给予用户完成其任务所需的最低权限,以减少潜在的安全风险。

    linux不能使用sudo命令解决方案

    Linux 系统中,sudo 命令是一种常用的权限提升命令,它允许普通用户以超级用户的身份执行命令。但是,在某些情况下,使用 sudo 命令时可能会出现 "username is not in the sudoers file" 的错误信息,这是因为当前...

    CentOS 7中sudo权限配置

    在Linux系统中,sudo是一种权限管理系统,它允许普通用户以超级用户的身份运行命令,从而提升系统安全性和可管理性。在CentOS 7系统中,sudo的配置通常通过编辑/etc/sudoers文件来实现,但编辑这个文件时需要非常...

    sudo命令及权限管理命令

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

    su的sudo以及isudo的权限

    - sudo是su的进一步发展,它允许系统管理员给予特定用户或用户组执行某些或全部命令的权限,而不需要获得整个系统的超级用户权限。与su不同,sudo为管理员提供了一种更加细致和可控的权限分配方式。 - 通过配置...

    Linux使用用户权限管理.pdf

    在Linux系统中,用户权限管理是确保系统...总结来说,Linux的用户权限管理涉及root权限的谨慎使用,sudo命令的合理授权,以及用户和用户组的有效管理。理解并掌握这些知识对于Linux系统的日常维护和安全管理至关重要。

    Linux超级用户权限控制.docx

    在Linux中,每个用户都有一个唯一的用户识别号(UID),UID为0的用户即为root,具有超级权限。root用户能够对文件、目录、进程进行读、写、执行等操作,不受普通用户权限的限制,并且可以修改其他用户和用户组的文件...

    sudo应用的详细阐述

    sudo 应用是一种在Linux和Unix系统中广泛使用的命令,它允许普通用户以超级用户(root)或其他特定用户的权限执行命令,但同时提供了细粒度的权限控制和审计功能。相较于传统的su命令,sudo更加安全,因为它不要求...

    Linux 系统中的超级权限的控制

    伪装用户是指在某些情况下,普通用户可以通过特定命令(如`su`或`sudo`)暂时获得超级用户权限来执行特定任务。这些用户在执行完特定任务后,权限会恢复为原来的级别。这种方式既提高了效率,又增强了系统的安全性。...

    sudo-1.9.5p2.tar.gz

    sudo 是一个广泛使用的Unix/Linux系统命令,用于允许普通用户以超级用户(root)权限执行命令。这个"sudo-1.9.5p2.tar.gz"是sudo软件的源码包,版本号为1.9.5p2。源码包通常用于开发者或系统管理员进行定制安装、...

    已有10年历史,sudo披露严重本地提权漏洞(CVE-2021-3156),普通用户可获得root级权限 .pdf

    Sudo允许非管理员用户以超级用户(root)的身份执行特定命令,以提高系统的便利性。然而,这个特性也可能成为安全隐患,因为一旦存在漏洞,攻击者就可能滥用它来提升权限。 漏洞的描述(CVE-2021-3156)是一个堆...

    sudo-1.8.21

    "sudo-1.8.21" 是一个用于Linux系统的命令行工具,主要功能是允许普通用户以超级用户(root)权限执行特定命令。sudo在Linux世界中扮演着至关重要的角色,它为系统管理员提供了安全控制,使得非root用户可以在必要时...

    CentOS7系统下bower 命令权限问题

    默认情况下,bower命令不允许使用sudo权限执行,因为bower命令是为普通用户设计的,而不是为超级用户设计的。 解决方法一:使用--allow-root选项 在bower命令后面添加--allow-root选项,可以使bower命令允许使用...

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

    sudo(superuser or another do)是 Linux 系统中的一种权限管理机制,允许普通用户以超级管理员或其他人的身份执行命令。sudo 的基本流程包括管理员授权和普通用户执行命令两部分。在本案例中,我们将学习如何配置 ...

    如何在Linux环境为用户添加sudo权限

    sudo命令允许普通用户以超级用户(root)的身份执行特定命令,而无需实际登录为root用户,这在许多情况下非常实用且安全。以下将详细讲解如何在Linux系统中为用户添加sudo权限,以及sudo配置文件 `/etc/sudoers` 的...

    linux用户权限管理

    - **sudo**:允许非root用户以root权限执行命令,通过sudoers文件配置。 - **ACL(Access Control Lists)**:提供更细粒度的权限控制,允许指定用户或组对特定文件或目录的特定权限。 综上所述,Linux用户权限...

    Linux 添加普通用户到 sudo 列表的方法

    在Linux系统中,sudo命令允许普通用户以超级用户(root)权限执行特定的命令,而无需实际切换到root用户。这对于系统管理和维护来说非常方便,同时也增加了安全性,因为不是所有用户都有完全的root权限。本篇文章将...

    linux系统权限管理文件特殊权限PPT学习教案.pptx

    sudo 命令可以用来赋予超级用户权限,允许普通用户执行超级用户级别的命令。sudo 命令可以提高系统安全性和可维护性。 本学习教案详细介绍了 Linux 系统权限管理文件特殊权限的概念、类型、作用和使用方法,旨在...

Global site tag (gtag.js) - Google Analytics