Linux学习笔记:用户及用户组
- 格式:doc
- 大小:18.47 KB
- 文档页数:15
linux中用户和用户组的关系Linux是一种开源的操作系统,拥有众多的用户和用户组。
在Linux 中,用户和用户组之间有着密切的关系,用户组为用户提供了访问和共享资源的权限管理。
本文将介绍Linux中用户和用户组的关系,并探讨其重要性和应用场景。
一、用户和用户组的概念在Linux中,用户是指使用操作系统的个体或实体,每个用户都有自己的用户名和密码。
用户组是一组具有相同权限和访问级别的用户的集合。
用户和用户组的关系可以看作是一种层级关系,用户组可以包含多个用户,而用户可以属于多个用户组。
二、用户和用户组的创建与管理在Linux系统中,可以通过命令行或者图形界面来创建和管理用户和用户组。
使用命令行,可以使用useradd命令来创建用户,例如:```useradd -m -d /home/user1 -s /bin/bash user1```这个命令会创建一个名为user1的用户,并为其指定家目录为/home/user1,默认的shell为/bin/bash。
使用groupadd命令来创建用户组,例如:```groupadd group1```这个命令会创建一个名为group1的用户组。
接下来,可以使用usermod命令将用户加入到用户组中,例如:```usermod -a -G group1 user1```这个命令会将user1用户添加到group1用户组中。
三、用户和用户组的权限管理用户和用户组的关系在权限管理中起到了重要的作用。
每个文件和目录都有其所属的用户和用户组,并且针对不同的用户和用户组可以设置不同的权限。
通过权限管理,可以控制用户对文件和目录的访问和操作。
在Linux中,每个文件和目录都有一套权限控制机制,分为所有者权限、用户组权限和其他用户权限。
所有者权限是文件或目录所有者对其自身拥有的权限,用户组权限是文件或目录所属用户组的成员对其拥有的权限,其他用户权限是其他用户对其拥有的权限。
linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础今天的笔记主要是关于Linux操作系统根底的相关学问。
那就从我⾯前的电脑开端讲起。
计算机和操作系统计算机主要包括五个部分:运算器,控制器,存储器,输⼊设备和输出设备。
通常,运算器,控制器再加上其他⼀些部件如寄存器等构成了我们通常所说的CPU(central processing unit),存储器则主要是内存。
运算器,控制器和存储器可以实现数据的处理.但是数据从何⽽来,运算之后的结果去往哪⾥?这就需要输⼊设备和输出设备(I/O设备)。
我们通常⽤到的输⼊设备包括键盘⿏标等,输出设备为屏幕,打印机等。
值得⼀提的是,计算机中有个叫做硬盘的东西,它并不是存储器,⽽是⼀个I/O设备。
在将数据读取到内存时,它是⼀个输⼊设备;⽽将结果保存到磁盘时,它就变成了⼀个输出设备。
这么多设备整合在⼀起,就成了⼀台计算机。
它可以接收我们的指令(键盘⿏标),通过运算(CPU),把结果展⽰给我们(屏幕,硬盘等)。
但是这么多硬件是如何协调作⽤,共同完成⼀个任务⽽不会我⾏我素地乱来呢?我们需要⼀个东西,它可以控制硬件有序地⼯作,各⾃执⾏⾃⼰的任务,这个东西就是操作系统(Operating System)。
操作系统是⼀个特殊的软件,它的任务就是硬件管理—控制CPU的运算,控制内存的分配,控制计算机的⼏乎⼀切。
假如⼀台电脑没有操作系统,它可能只是⼀个艺术品,或者⼀堆废铁。
⼀个完整的操作系统包括内核和⼀些辅助软件。
内核的主要任务就是进⾏硬件管理,它是⼀个操作系统最基础最底层的东西。
内核若想很好地控制硬件并使其发挥相应的功能,需要和硬件相识相知相爱,他俩可以成为完美的⼀对,全都仰仗于驱动的帮忙。
驱动是硬件的灵魂,它向操作系统提供了访问和使⽤硬件的接⼝,以便在某项任务中最⾼效地调⽤硬件。
什么是LinuxLinux就是⼀个操作系统,它可以管理整个计算机硬件,并且可以接收我们的指令,来指挥硬件完成相应的任务,并把结果反馈给我们。
linux中用户和组的关系Linux中的用户和组是操作系统中重要的概念,它们之间有着密切的关系。
本文将从用户和组的定义、用户和组的作用、用户和组的关系以及相关命令等方面来详细介绍用户和组在Linux中的关系。
一、用户和组的定义在Linux操作系统中,用户是指系统中的一个实体,可以是一个人、一个程序或一个设备。
每个用户都有一个唯一的标识符(User ID,UID),用于区分不同的用户。
组是一组相关用户的集合,它可以将多个用户组织在一起,并为这些用户提供相同的权限和资源。
每个组也有一个唯一的标识符(Group ID,GID),用于区分不同的组。
二、用户和组的作用用户和组在Linux操作系统中起着至关重要的作用,主要包括以下几个方面:1. 身份认证:每个用户都需要通过身份认证来访问系统资源,而用户和组的管理就是为了实现身份认证的目的。
2. 访问控制:用户和组可以对系统资源进行访问控制,通过为用户和组分配适当的权限,可以限制他们对特定资源的访问。
3. 资源管理:用户和组可以将系统资源进行有效的管理和分配,通过将用户组织到不同的组中,可以更好地管理和分配资源。
4. 系统安全:用户和组的管理对于系统的安全性至关重要,通过限制用户和组的权限,可以减少系统受到的攻击风险。
三、用户和组的关系在Linux中,用户和组之间存在着密切的关系,主要表现在以下几个方面:1. 用户可以属于一个或多个组:每个用户可以属于一个或多个组,这样可以实现用户之间的资源共享和权限管理。
用户可以通过将自己添加到不同的组中,来获得相应组的权限和资源。
2. 组可以包含一个或多个用户:每个组可以包含一个或多个用户,这样可以实现对用户的统一管理和权限分配。
组可以通过将不同的用户添加到组中,来实现对这些用户的管理和控制。
3. 用户和组之间存在层次关系:在Linux中,用户和组之间存在着层次关系。
每个用户都有一个主组(Primary Group),它是用户所属的默认组。
青蛙学Linux—⽤户、组、权限和⽂件属性1、⽤户和组1.1、⽤户⾓⾊在Linux下有以下三种⾓⾊⽤户:1. 超级⽤户:拥有对系统的最⾼管理权限的⽤户,默认⽤户名为root。
需要注意的是,与Windows下的超级管理员Administrator不同,root⽤户在Linux下拥有最⾼的权限,你可以使⽤root⽤户运⾏rm –rf /*命令删除整个系统,⽽Administrator⽤户不允许删除系统⽂件(其实Windows下的最⾼权限⽤户为System,只是Windows限制了使⽤System⽤户登录的⾏为)。
2. 普通⽤户:只能操作⾃⼰⽬录下的⽂件或者经过授权的⽂件,能够登录操作系统。
3. 虚拟⽤户:也叫伪⽤户,⽆法登录操作系统。
这类⽤户的存在主要是为了系统管理的⽅便,满⾜相应的系统进程对于⽂件属主(即权限)的要求。
这类⽤户指向的shell为/sbin/nologin,使⽤该shell的⽤户⽆法登录系统且⽆法通过su命令切换到该⽤户。
1.2、⽤户和组之间的关系在Linux系统下,当⼀个⽤户被创建时,系统将创建⼀个与⽤户同名的组,该⽤户为该组中的唯⼀⽤户。
当然,⼀个⽤户也可以加⼊其他的组。
⽤户和组具有以下⼏种关系:⼀对⼀:即⼀个⽤户可以存在⼀个组中,同时也是该组中的唯⼀成员⼀对多:即⼀个⽤户可以存在多个⽤户组中,那么此⽤户具有多个组的共同权限多对⼀:多个⽤户可以存在⼀个组中,这些⽤户具有和组相同的权限多对多:多个⽤户可以存在多个组中,其实就是上⾯三个对应关系的扩展1.3、⽤户和组的相关配置⽂件1.3.1、/etc/passwd该⽂件是系统的⽤户配置⽂件,是⽤户管理中最重要的⼀个⽂件。
记录了系统中每个⽤户的基本属性,对所有⽤户可读,但只有root⽤户可写。
以下来分析下该⽂件的内容(仅截取⽂件的⼀部分):⽂件中的每⾏内容以冒号分隔,每个字段表⽰的具体含义如下:①:⽤户名②:密码,但是⽤户真正的密码不是保存在这⾥,⽽是在另外⼀个⽂件③:UID,⽤户ID④:GID,⽤户所属的组的ID⑤:⽤户注释⑥:⽤户家⽬录⑦:⽤户的默认shell1.3.2、/etc/shadow该⽂件可以称为/etc/passwd的影⼦⽂件,存储的就是经过加密的⽤户密码。
论述linux的用户和组的权限管理机制1.引言1.1 概述概述部分的内容主要是对Linux的用户和组权限管理机制进行简要介绍和概括。
在Linux操作系统中,用户和组权限管理是一个重要的安全机制,用于控制对文件和系统资源的访问权限。
通过用户和组的管理,可以实现对系统资源的精细控制和权限分配。
在Linux中,每个用户都拥有一个唯一的用户标识符(User ID),用于标识用户的身份。
用户可以根据其权限的不同,拥有不同的访问权限。
同时,用户还可以根据需要归属于一个或多个用户组。
用户组是一种将多个用户归为一组管理的机制,同一组内的用户共享相同的权限。
概述部分还可以涉及到Linux的权限基本原则,即最小权限原则和分层权限原则。
最小权限原则指的是用户和进程仅拥有必要的最小权限来完成其工作,以减少潜在的安全风险。
分层权限原则则是将权限进行层级划分,高层级的用户或组拥有更高的权限,低层级的用户或组则有更低的权限,以实现权限的分级控制。
Linux的用户和组权限管理机制是开放式的,允许系统管理员根据实际需求对用户和组的权限进行灵活配置和调整。
通过合理设置权限,可以保护系统的安全性,防止恶意用户或进程对系统资源的滥用和非法访问。
通过对Linux的用户和组权限管理机制进行深入的论述和研究,可以更好地理解Linux操作系统的安全机制和权限管理原则,为系统管理员提供更好的权限设置和管理策略,从而提高系统的安全性和稳定性。
1.2 文章结构本文将围绕Linux的用户和组的权限管理机制展开论述。
首先,在引言中对Linux的用户和组权限管理提供概述,并明确本文的目的。
接下来,正文部分将分为两个主要部分,分别探讨用户权限管理机制和组权限管理机制。
在2.1 用户权限管理机制部分,我们将介绍Linux中用户的不同类型以及它们在权限管理中的作用。
这部分还将探讨用户权限的具体设置方法,包括用户的基本权限和特殊权限。
我们将解释如何创建和删除用户,以及如何为用户分配适当的权限,确保系统的安全性和稳定性。
linux⽤户和⽤户组Linux 是多⽤户多任务操作系统,换句话说,Linux 系统⽀持多个⽤户在同⼀时间内登陆,不同⽤户可以执⾏不同的任务,并且互不影响。
不同⽤户具有不问的权限,毎个⽤户在权限允许的范围内完成不间的任务,Linux 正是通过这种权限的划分与管理,实现了多⽤户多任务的运⾏机制。
因此,如果要使⽤ Linux 系统的资源,就必须向系统管理员申请⼀个账户,然后通过这个账户进⼊系统(账户和⽤户是⼀个概念)。
通过建⽴不同属性的⽤户,⼀⽅⾯可以合理地利⽤和控制系统资源,另⼀⽅⾯也可以帮助⽤户组织⽂件,提供对⽤户⽂件的安全性保护。
每个⽤户都有唯⼀的⽤户名和密码。
在登录系统时,只有正确输⼊⽤户名和密码,才能进⼊系统和⾃⼰的主⽬录。
⽤户组是具有相同特征⽤户的逻辑集合。
简单的理解,有时我们需要让多个⽤户具有相同的权限,⽐如查看、修改某⼀个⽂件的权限,⼀种⽅法是分别对多个⽤户进⾏⽂件访问授权,如果有 10 个⽤户的话,就需要授权 10 次,那如果有 100、1000 甚⾄更多的⽤户呢?显然,这种⽅法不太合理。
最好的⽅式是建⽴⼀个组,让这个组具有查看、修改此⽂件的权限,然后将所有需要访问此⽂件的⽤户放⼊这个组中。
那么,所有⽤户就具有了和组⼀样的权限,这就是⽤户组。
将⽤户分组是 Linux 系统中对⽤户进⾏管理及控制访问权限的⼀种⼿段,通过定义⽤户组,很多程序上简化了对⽤户的管理⼯作。
关于⽤户和⽤户组的命令:groupmems 更改和查看组成员useradd :新建⽤户格式:[root@localhost ~]#useradd [选项] ⽤户名选项含义-u UID⼿⼯指定⽤户的 UID,注意 UID 的范围(不要⼩于 500)。
-d 主⽬⼿⼯指定⽤户的主⽬录。
主⽬录必须写绝对路径,⽽且如果需要⼿⼯指定主⽬录,则⼀定要注意权限;录-c ⽤户⼿⼯指定/etc/passwd⽂件中各⽤户信息中第 5 个字段的描述性内容,可随意配置;说明-g 组名⼿⼯指定⽤户的初始组。
【Linux】学习笔记:(⼆)⽤户和组群账户管理⽬录前⾔在Linux系统中,⽤户账户是登录系统的唯⼀凭证,其中root⽤户是系统的最⾼管理者,该⽤户的UID是0,与⽤户和组群账户相关的配置⽂件有/etc/passwd,/etc/shadow,/etc/group和/etc/gshadow。
⼀、⽤户账户简介1、⽤户账户分类root⽤户root⽤户UID为0。
root⽤户的权限是最⾼的,普通⽤户⽆法执⾏的操作,root⽤户都能完成,所以也称之为超级⽤户系统⽤户系统⽤户的UID为1~999这类⽤户不具有登录Linux的能⼒,但却是系统运⾏不可缺少的⽤户。
普通⽤户系统⽤户的UID为1000~60000在Linux系统上进⾏普通操作,其使⽤系统的权限受限制。
2、 /etc/passwd⽂件假设以账户zhangsan登录系统时,系统⾸先会检查/etc/passwd⽂件,存在zhangsan账户,然后确定⽤户zhangsan的UID,通过UID确认⽤户⾝份,如果存在,则读取/etc/shadow⽂件中对应的密码,核实⽆误,则登录系统,读取⽤户的配置⽂件[root@centos83 home]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin..............(省略)..........sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinrngd:x:994:991:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologinzhangsan:x:1000:1000::/home/zhangsan:/bin/bash字段字段含义⽤户名在系统中⽤户名应该具有唯⼀性密码存放加密⽤户的密码,看到的是⼀个x,其实密码已经被映射到/etc/shadow⽂件中⽤户标识号(UID)每个⽤户的UID都是唯⼀的,root⽤户的UID是0,普通⽤户的UID默认从1000开始组群标识号(GID)在系统内⽤⼀个整数标识⽤户所属的主要组群ID号,每个组群ID都是唯⼀的⽤户名全称⽤户名描述,可以不设置主⽬录⽤户登录系统后⾸先进⼊的⽬录登录shell⽤户使⽤的Shell类型,Linux系统默认使⽤的Shell是/bin/bash2、 /etc/shadow⽂件/etc/shadow⽂件内容包括⽤户及被加密的密码以及其他/ect/passwd不能包括的信息,⽐如账户有效期等/etc/shadow⽂件只有root⽤户可以读取和操作,确保系统安全[root@centos83 home]# cat /etc/shadowroot:$6$Uq9EeN5GfNDLF83M$csUva0exzO/n3PIvhKv5D1Xs3Ga06G2whjfagtEtJUW1wlQbREEd6HkOjTRCTqGuZCXvg2WQ1wdyzqY.qfAzE1::0: 99999:7:::bin:*:18397:0:99999:7:::..............(省略)..........sshd:!!:18625::::::rngd:!!:18625::::::zhangsan:$6$HMTy.raoMPbhboQn$71FPRHyRycVf3AcenfNW1n7/qD7ep.x5vSeBSSxzJdWmvjoQ98oDhfA8Kz/6PlOgKe/ksj58AXeWBPOGAm/dl1 :18625:0:99999:7:::字段字段含义⼆、 ⽤户账户设置1、useradd :创建⽤户创建⽤户useradd moon创建⽤户并设置UID 为1010useradd -u 1010 moon创建⽤户并设置⽤户所属群组为rootuseradd -g root moon创建系统⽤户mysql 并设置所属组群useradd -r -g mysql mysql2、 usermod :修改⽤户账户修改⽤户pp 的登录名为moonusermod -l moon pp修改⽤户moon 账户过期时间为2028年11⽉23⽇usermod -e 11/23/2028 moon修改⽤户moon 的主⽬录到/home/oopp ,并⾃动创建⽬录usermod -d /home/oopp -m moon ⽤户名这⾥的⽤户名和/etc/passwd 中的相同加密密码密码已经加密,如果由⽤户显⽰"!!",则表⽰这个⽤户还没有设置密码,⽆法登录到系统⽤户最后⼀次更改密码的⽇期从1970年1⽉1⽇算起到最后⼀次修改密码的时间间隔天数密码允许更换前的天数如果设置为0,则禁⽤此功能。
Linux学习笔记:用户及用户组来自:标点符的《Linux学习笔记:用户及用户组》链接:/linux-user-group.html(点击尾部阅读原文前往)Linux用户只有两个等级:root及非root。
Linux中还有一部分用户,如:apache、mysql、nobody、ftp等,这些也都是非root用户,即普通用户。
Linux的权限实际是上不同用户所能访问的文件的不同产生的假象。
而这些假象的造成,还要涉及到另外一个概念:用户组一个用户至少要属于一个用户组一个用户可以属于多个用户组用户组存在的原因主要还是方便分配权限。
而用户本身和权限的差别不是很大,各个用户之间主要的不同是:是否拥有密码home目录(普通用户可以有一个以自己用户名命名的home目录,存放的地址是/home/username,root用户的home目录是:/root)shell像nobody这样用来执行Nginx的工作进程的用户,一般不分配密码和shell,甚至连home目录都没有。
为什么不分配密码?如果设置了密码,程序无法自动使用。
由于不会有人使用这个用户登录系统,所以就没有必要分配shell。
(备注:其实严格上说是有分配shell,只是分配的shell 是/sbin/nologin这个特殊的shell,没有任何其他功能,主要功能是防止你登陆。
)所有用户都可以通过查看/etc/passwd查看。
以下为我的系统中的用户信息:root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LLStack:/var/lib/avahi-autoipd:/sbin/nologinsystemd-bus-proxy:x:999:997:systemd BusProxy:/:/sbin/nologinsystemd-network:x:998:996:systemd Network Management:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:997:995:User for polkitd:/:/sbin/nologintss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologinqw:x:1000:1000:qw:/home/qw:/bin/bash文件的每一行代表着一个用户,每一行由冒号“:”分割成7个字段,其结构如下:用户名:密码:UID:GID:用户全名:home目录:shellUID:UID 0 root用户UID 1~999 是占坑用户,即一写无法登录的用户(以前是系统是1~499,最近刚改)UID 1000 以上是正常的可登录用户GID:前面说了一个用户可以属于多个用户组,但这里只有一个,表示的是专职用户组,即一个用户只有一个专职用户组,其属于其他用户组的关联关系存储在/etc/group 文件中。
其中比较特殊的是密码字段,统一由x代替了,看/etc/passwd就知道一开始Linux是将密码存在这个文件里的,由于考虑到/etc/passwd可以被所有人查看,所以将统一存储到/etc/shadow文件(只有root权限可以访问)中,具体数据如下:root:$6$yp9k7rTFRX76aFP/$RpQ0Q6SIFpKn5jA3vEmpzs MdMDqDjmKQY3qCcVyuVNa1dTOOwJqC0SWCxqsNrZgYiBf5Og94cDR97hGCfd0OX1::0:99999:7:::bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::adm:*:16659:0:99999:7:::lp:*:16659:0:99999:7:::sync:*:16659:0:99999:7:::shutdown:*:16659:0:99999:7:::halt:*:16659:0:99999:7:::mail:*:16659:0:99999:7:::operator:*:16659:0:99999:7:::games:*:16659:0:99999:7:::ftp:*:16659:0:99999:7:::nobody:*:16659:0:99999:7:::avahi-autoipd:!!:17031::::::systemd-bus-proxy:!!:17031::::::systemd-network:!!:17031::::::dbus:!!:17031::::::polkitd:!!:17031::::::tss:!!:17031::::::postfix:!!:17031::::::sshd:!!:17031::::::qw:$6$W1QYF2/.vMB7BPm/$n7GV1D07lcVDhsyGS0xUe68loRTfmFj2vT4TkELQgQGfqDxNn2fGzBYUYj4CgZMhai NSvvmhW4gubpQxBhr3H0::0:99999:7:::其结构如下:登录名:加密过的密码(*代表此用户不能用来登录):密码最近更改日期(linux时间戳):最少密码天数(0代表随时可更改):最多密码天数:过期前几天提醒用户:密码不可用期限:账户过期日期:保留位再来看看/etc/group文件:root:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:lp:x:7:mem:x:8:kmem:x:9:wheel:x:10:cdrom:x:11:mail:x:12:postfixman:x:15:dialout:x:18:floppy:x:19:tape:x:30:video:x:39:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:utmp:x:22:utempter:x:35:ssh_keys:x:999:avahi-autoipd:x:170: input:x:998:systemd-journal:x:190: systemd-bus-proxy:x:997: systemd-network:x:996: dbus:x:81:polkitd:x:995:dip:x:40:tss:x:59:postdrop:x:90:postfix:x:89:qw:x:1000:qw其结构如下:组名:用户组密码:GID:用户组内的用户名正常的使用中很少会用到用户组密码,其存储在/etc/gshadow中。
用户组文件比较特特殊的是“”用户组内的用户名”,其实就是这个组下的用户列表,每个用户之间用逗号“,”分割;本字段可以为空;如果字段为空表示用户组为GID的用户名普通用户的权限非常的低,就连在系统里安装软件的权限都没有,很多时候可以临时给普通用户以特权,就是sudo(在命令前添加sudo)。
比如:sudo cat /etc/shadow完成后需要您输入root的密码,这样就可以假借root身份了,centos默认普通用户是没有sudo权限的,这与主要以桌面版为主的Ubuntu和Fedora不同,如需给予用户root特权,就需要更改/etc/sudoers文件,修改内容。
## Sudoers allows particular users to run various commands as## the root user, without needing the root password.#### Examples are provided at the bottom of the file for collections ## of related commands, which can then be delegated out to particular## users or groups.#### This file must be edited with the 'visudo' command.## 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 - justuse %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## Installation and management of software# Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date,/usr/bin/yum## Services# Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop,/usr/bin/systemctl reload, /usr/bin/systemctl restart,/usr/bin/systemctl status, /usr/bin/systemctl enable,/usr/bin/systemctl disable## Updating the locate database# Cmnd_Alias LOCATE = /usr/bin/updatedb## Storage# Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk,/sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount## Delegating permissions# Cmnd_Alias DELEGATING = /usr/sbin/visudo,/bin/chown, /bin/chmod, /bin/chgrp## Processes# Cmnd_Alias PROCESSES = /bin/nice, /bin/kill,/usr/bin/kill, /usr/bin/killall## Drivers# Cmnd_Alias DRIVERS = /sbin/modprobe# Defaults specification## Disable 'ssh hostname sudo <cmd>', because it will show the password in clear.# You have to run 'ssh -t hostname sudo<cmd>'.#Defaults requiretty## Refuse to run if unable to disable echo on the tty. This setting should also be # changed in order to be able to use sudo without a tty. See requiretty above.#Defaults !visiblepw## Preserving HOME has security implications since many programs# use it when searching for configuration files. Note that HOME# is already set when the the env_reset option is enabled, so# this option is only effective for configurations where either# env_reset is disabled or HOME is present in theenv_keep list.# Defaults always_set_homeDefaults env_resetDefaults env_keep = 'COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS' Defaults env_keep = 'MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE'Defaults env_keep = 'LC_COLLATELC_IDENTIFICATION LC_MEASUREMENTLC_MESSAGES'Defaults env_keep = 'LC_MONETARY LC_NAMELC_NUMERIC LC_PAPER LC_TELEPHONE'Defaults env_keep = 'LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY'## Adding HOME to env_keep may enable a user to run unrestricted# commands via sudo.## Defaults env_keep = 'HOME' Defaultssecure_path = /sbin:/bin:/usr/sbin:/usr/bin## Next comes the main part: which users can run whatsoftware on ## which machines (the sudoers file can be shared between multiple ## systems).## Syntax:#### user MACHINE=COMMANDS#### The COMMANDS section may have other options added to it.#### Allow root to run any commands anywhere root ALL=(ALL) ALL## Allows members of the 'sys' group to run networking, software, ## service management apps and more.# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS ## Allows people in group wheel to run all commands%wheel ALL=(ALL) ALL## Same thing without a password# %wheel ALL=(ALL) NOPASSWD: ALL## Allows members of the users group to mount and unmount the## cdrom as root# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount/mnt/cdrom## Allows members of the users group to shutdown this system# %users localhost=/sbin/shutdown -h now## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)#includedir /etc/sudoers.d给没有用户添加sudo特权,只需参照## Allow root to run any commands anywhereroot ALL=(ALL) ALL添加如下:## Allow root to run any commands anywhereroot ALL=(ALL) ALLqw ALL=(ALL) ALL如果要给某个用户组添加sudo 特权则为:(与给用户不同的是多了一个%)## Allows people in group wheel to run all commands%wheel ALL=(ALL) ALL另外一种方式是添加不需要输入root密码即有root权限的用户,添加方法如下:qwALL=(ALL) NOPASSWD:ALL另外还可以设定到底有哪些执行权限,具体的规则如下:(具体可看sudoers配置文件详解)授权用户主机=[(切换到哪些用户或用户组)] [是否需要密码验证] 命令1,[(切换到哪些用户或用户组)] [是否需要密码验证] [命令2],[(切换到哪些用户或用户组)] [是否需要密码验证] [命令3]......另外默认情况下第一次使用sudo时,需要输入root密码,如果5分钟内再次执行sudo则无需再输入密码,超过5分钟则要重新输入。