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中用户及组的基本概念,以及如何创建管理用户、组 ,有需要了解的朋友可一起来看看,Linux中创建管理用户、用户组命令linux操作系统。
使用Linux时,需要以一个用户的身份登陆,从而限制一个使用者能够访问的资源;而组则是用来方便组织管理用户。
用户与组•每个用户拥有一个UserID•每个用户属于一个主组,属于一个或多个附属组•每个组拥有一个GroupID•每个进程以一个用户身份运行,并受该用户可访问的资源限制•每个可登陆用户有一个指定的SHELL系统中的文件都有一个所属用户及所属组,用户、组信息保存在以下三个文件中:/etc/passwd 用户信息/etc/shadow 用户密码/edc/group 组信息命令id用以显示当前用户的信息,命令passwd可以修改当前用户的密码;以下命令可以显示登陆用户信息:whoami 显示当前用户who 显示当前登陆的用户信息w 显示登陆用户的详细信息命令useradd添加一个用户:useradd 用户名-d 指定用户家目录-s 指定用户登陆shell-u 指定用户uid-g 指定用户所属主组-G 指定用户所属附属组命令usermod修改一个用户的信息:usermod 参数用户名-l 修改用户名-u 修改uid-g 修改用户主组-G 修改用户附属组-L 锁定用户-U 解锁用户例1:# useradd -d /usr/sam -m sam此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录),电脑资料《Linux中创建管理用户、用户组命令linux操作系统》。
例2:# useradd -s /bin/sh -g group -G adm,root gem此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
Linux新建⽤户和组命令⽤户的⾓⾊是通过UID和GID识别的。
UID⽤户ID:相当于各为的⾝份证,在系统中是唯⼀的GID组ID:相当于各为的家庭或者你们的学校。
1、新建⽤户及设置密码命令如下:useradd 【参数】 ⽤户名-g 属组-u 设置uid-m 创建家⽬录-M 没有家⽬录-G 指定属于多个组-s 指定登录shell-d 指定家⽬录-c 注释-D 改变它默认的属性-e 指定的⽇期是帐号失效的⽇期,在xshell中可以man⼀下useradd。
实例如下:useradd -c "admin" -m abc解释:创建⼀个abc普通⽤户,并加备注“admin”和⾃动建⽴家⽬录。
2、使⽤ passwd 命令为新建⽤户设置密码和修改⽤户密码:passwd 参数 ⽤户名-l:锁定已经命名的账户名称-u:解开账户锁定状态-x, --maximum=DAYS:密码使⽤最⼤时间(天)-n, --minimum=DAYS:密码使⽤最⼩时间(天)-d:删除使⽤者的密码-S:检查指定使⽤者的密码认证种类--stdin:⾮交互式修改/设置密码,弊端是操作⽇志能查密码,⽤history -c ⼲掉。
实例:passwd ⽤户名echo 123345|passwd --stdin ⽤户名注意:当我们删除⼀个⽤户的密码时,登录时就⽆需密码。
3、修改⽤户:usermod 参数 ⽤户名-c:修改⽤户帐号的备注⽂字。
-d:修改⽤户登⼊时的⽬录。
-e:修改帐号的有效期限。
-f: 改在密码过期后多少天即关闭该帐号。
-g:修改⽤户所属的群组。
-G:修改⽤户所属的附加群组。
-l:修改⽤户帐号名称。
-L:锁定⽤户密码,使密码⽆效。
-s:修改⽤户登⼊后所使⽤的shell。
-u:修改⽤户ID。
-U:解除密码锁定。
常⽤的参数包括-c, -d, -m, -g, -G, -s, -u以及-o等,与useradd命令中的选项⼀样,可以为⽤户指定新的资源值。
linux讲义_用户和组管理命令练习用户和组管理基本用户环境主目录: 用户登录后所在的目录,名称与用户名相同,在/etc/passwd 文件的最后一个域中指定。
/etc/skel: 其中的目录及文件在新建用户时自动拷贝到用户主目录下。
几个重要文件用户定义文件: /etc/passwd 组定义文件: /etc/group 口令文件: /etc/shadow一、用户和组文件1. 用户账号文件——passwdpasswd 文件用于定义系统的用户账号,该文件位于“/etc ”目录下。
由于所有用户都对passwd 有读权限,所以该文件中只定义用户账号,而不保存口令。
passwd 文件中每行定义一个用户账号,一行中又划分为多个字段定义用户账号的不同属性,各字段间用“:”分隔。
passwd 文件的各字段如表6-1所示。
表6-1 passwd 文件按字段划分 account passwordUID GID GECOS directory shell root x 0 0 root /root /bin/bash binx1bin/bin/sbin/nologinpasswd 文件中各字段的含义如表6-2所示,其中少数字段的内容是可以为空的,但仍需使用“:”进行占位来表示该字段。
字段命名account 用户账号名称,用户登录时所使用的用户名password 用户口令,出于安全性考虑,现在已经不使用该字段保存口令,而用字母“x ”来填充该字段,真正的的密码保存在shadow 文件中 UID 用户号,惟一表示某用户的数宇GID 用户所属的私有组号,该数字对应group 文件中的GID GECOS 可选的用户信息说明字段,通常用于保存用户全名的信息directory 用户的宿主目录,用户成功登录后的默认目录 shell 用户所使用的shell ,如该字段为空则使用“/bin/sh ”2. 用户口令文件——shadowshadow 文件位于“/etc ”目录中,用于存放用户口令等重要信息,所以该文件只有root 用户可以读取。
Linux中⽤户与⽤户组管理1.基础知识Linux作为⼀种多⽤户的操作系统(服务器系统),允许多个⽤户同时登陆到系统上,并响应每个⽤户的请求。
任何需要使⽤操作系统的⽤户,都需要⼀个系统账号,账号分为:管理员账号与普通⽤户账号。
在Linux中,操作系统根据UID来判断⽤!根据UID来判断⽤户!⽽不是⽤户名!只要id为0就是管理员,哪怕有多个id为0 的账号系统在新建账号时,会根据账号类型,⾃动分配递增账号的UID与GID (⽤户⾝份编号,组编号),也可⾃⾏分配。
通常情况下,应当保证UID与GID 唯⼀且不重复。
1.1 组的类别在Linux中,每个⽤户必须有⼀个主组。
当创建账号时,系统会⾃动创建⼀个同名组作为该账户的主组。
⽤户必须属于⼀个且只有⼀个主组。
⽤户可以属于零个或者多个附加组。
1.2 ⽤户与组的配置⽂件在Linux中,万物皆⽂件,所以⽤户与组也以配置⽂件的形式保存在系统中,以下为⽤户和组的主要配置⽂件详解:- /etc/passwd:⽤户及其属性信息(名称、 UID、主组ID等)- /etc/group:组及其属性信息- /etc/shadow:⽤户密码及其相关属性- /etc/gshadow:组密码及其相关属性passwd⽂件格式如下图:依次含义为:登录⽤户名密码UIDGID全名或注释⽤户主⽬录⽤户默认使⽤shellgroup⽂件格式如下图:依次含义为:群组名称群组密码(通常不需要设定,密码被记录在/etc/gshadow)GID:群组ID附加组(以,来分割,该账户没有附加组所以为空)shadow⽂件格式如下图:依次含义为:登录⽤户名密码(通常使⽤shad512加密)从1970年1⽉1⽇起计算到现在为⽌密码最近⼀次被更改的时间密码再过⼏天就可以被修改(0表⽰随时可改)密码⼏天后必须变更(99999表⽰永不过期)密码过期前多久提⽰⽤户密码过期多久后账户将被锁定多少天后账户将失效(从1970-1-1算起)gshadow⽂件格式如下图:依次含义为:群组名称群组密码组管理员列表当前⽤户的附加组2.⽤户账号管理在Linux,管理员在默认情况下为root账户,UID=0。
LINUX用户和用户组配置文件详解/etc/passwd 用户基础配置文件/etc/shadow 用户影子文件,最关键的信息是密码/etc/login.defs 是设置用户帐号限制的文件。
该文件里的配置对root用户无效。
用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份;做为一个合格的系统管理员应该对用户和用户组配置文件透彻了解才行;一、用户(User)相关;谈到用户,就不得不谈用户管理,用户配置文件,以及用户查询和管理的控制工具;用户管理主要通过修改用户配置文件完成;用户管理控制工具最终目的也是为了修改用户配置文件。
什么是用户查询和管理控制工具呢?用户查询和控制工具是查询、添加、修改和删除用户等系统管理工具,比如查询用户的id和finger命令,添加用户的usera dd 或adduser 、userdel 用户的删除、设置密码的passwd命令、修改用户usermod 等等;我们需要知道的是通过用户查询和控制工具所进行的动作的最终目的也是修改用户配置文件;所以我们进行用户管理的时候,直接修改用户配置文件一样可以达到用户管理的目的;通过上面的解说,我们能实实在在的感觉到用户(Us er)配置文件的重要性;其实用户和用户组在系统管理中是不可分割的,但为了说明问题,我们还是得把用户(User)的配置文件单列出来解说,其中包括/et c/passwd 和/etc/shadow 文件;在这之中,你还能了解UID的重要性;通过本标题,您可以了解或掌握的内容有:了解/etc/ passwd和/etc/shadow;什么UID ;与用户相关的系统配置文件主要有/etc/passwd 和/et c/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等;/etc/passwd 和/ etc/shadow 文件是互补的;我们可以通过对比两个文件来差看他们的区别;1、关于/etc/passwd 和UID;/etc/passwd 是系统识别用户的一个文件,做个不恰当的比喻,/etc/passwd 是一个花名册,系统所有的用户都在这里有登录记载;当我们以beinan 这个账号登录时,系统首先会查阅/etc/passwd 文件,看是否有beinan 这个账号,然后确定beinan的UID,通过UID 来确认用户和身份,如果存在则读取/etc/sha dow 影子文件中所对应的beinan的密码;如果密码核实无误则登录系统,读取用户的配置文件;1)/etc/passwd 的内容理解:在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割,比如下面是我的系统中的/etc/passwd 的两行;beinan:x:500:500:beinan sun:/home/beinan:/bin/ba shlinuxsir:x:505:502:linuxsir open,linuxsir office,1389 8667715:/home/linuxsir:/bin/bashbeinan:x:500:500:beinan sun:/home/beinan:/bin/ba shlinuxsir:x:501:502::/home/linuxsir:/bin/bash第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分别是beinan 和linuxsir;第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;第三字段:UID ;请参看本文的UID的解说;第四字段:GID;请参看本文的GID的解说;第五字段:用户名全称,这是可选的,可以不设置,在beinan这个用户中,用户的全称是beinan sun ;而linuxsir 这个用户是没有设置全称;第六字段:用户的家目录所在位置;beinan 这个用户是/home/beinan ,而linuxsir 这个用户是/home/linu xsir ;第七字段:用户所用SHELL 的类型,beinan和linu xsir 都用的是bash ;所以设置为/bin/bash ;2)关于UID 的理解:UID 是用户的ID 值,在系统中每个用户的UID的值是唯一的,更确切的说每个用户都要对应一个唯一的UID ,系统管理员应该确保这一规则。
Centos之--用户和用户组展开全文一、理解Linux的单用户多任务,多用户多任务概念;Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;1、Linux 的单用户多任务;单用户多任务;比如我们以beinan 登录系统,进入系统后,我要打开gedit 来写文档,但在写文档的过程中,我感觉少点音乐,所以又打开xmms 来点音乐;当然听点音乐还不行,MSN 还得打开,想知道几个弟兄现在正在做什么,这样一样,我在用beinan 用户登录时,执行了gedit 、xmms以及msn等,当然还有输入法fcitx ;这样说来就有点简单了,一个beinan用户,为了完成工作,执行了几个任务;当然beinan这个用户,其它的人还能以远程登录过来,也能做其它的工作.2、Linux 的多用户、多任务;有时可能是很多用户同时用同一个系统,但并不所有的用户都一定都要做同一件事,所以这就有多用户多任务之说;举个例子,比如 服务器,上面有FTP 用户、系统管理员、web 用户、常规普通用户等,在同一时刻,可能有的弟兄正在访问论坛;有的可能在上传软件包管理子站,比如luma 或Yuking 兄在管理他们的主页系统和FTP ;在与此同时,可能还会有系统管理员在维护系统;浏览主页的用的是nobody 用户,大家都用同一个,而上传软件包用的是FTP用户;管理员的对系统的维护或查看,可能用的是普通帐号或超级权限root帐号;不同用户所具有的权限也不同,要完成不同的任务得需要不同的用户,也可以说不同的用户,可能完成的工作也不一样;值得注意的是:多用户多任务并不是大家同时挤到一接在一台机器的的键盘和显示器前来操作机器,多用户可能通过远程登录来进行,比如对服务器的远程控制,只要有用户权限任何人都是可以上去操作或访问的;3、用户的角色区分;用户在系统中是分角色的,在Linux 系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID 唯一的特性;root 用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;4、多用户操作系统的安全;多用户系统从事实来说对系统管理更为方便.从安全角度来说,多用户管理的系统更为安全,比如beinan用户下的某个文件不想让其它用户看到,只是设置一下文件的权限,只有beinan一个用户可读可写可编辑就行了,这样一来只有beinan一个用户可以对其私有文件进行操作,Linux 在多用户下表现最佳,Linux能很好的保护每个用户的安全,但我们也得学会Linux 才是,再安全的系统,如果没有安全意识的管理员或管理技术,这样的系统也不是安全的.从服务器角度来说,多用户的下的系统安全性也是最为重要的,我们常用的Windows 操作系统,它在系纺权限管理的能力只能说是一般般,根本没有没有办法和Linux或Unix 类系统相比;二、用户(user)和用户组(group)概念;1、用户(user)的概念;通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user).比如我们的同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,这从计算机安全角度来说是符合操作规则的;当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;2、用户组(group)的概念;用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;举例:我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组,然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的;用户和用户组的对应关系是:一对一、多对一、一对多或多对多;一对一:某个用户可以是某个组的唯一成员;多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组;一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员;多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解;三、用户(user)和用户组(group)相关的配置文件、命令或目录;1、与用户(user)和用户组(group)相关的配置文件;1)与用户(user)相关的配置文件;/etc/passwd 注:用户(user)的配置文件;/etc/shadow 注:用户(user)影子口令文件;2)与用户组(group)相关的配置文件;/etc/group 注:用户组(group)配置文件;/etc/gshadow 注:用户组(group)的影子文件;2、管理用户(user)和用户组(group)的相关工具或命令;1)管理用户(user)的工具或命令;useradd 注:添加用户adduser 注:添加用户passwd 注:为用户设置密码usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;pwcov 注:同步用户从/etc/passwd 到/etc/shadowpwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和/etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;finger 注:查看用户信息工具id 注:查看用户的UID、GID及所归属的用户组chfn 注:更改用户信息工具su 注:用户切换工具sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;sudoedit 注:和sudo 功能差不多;2)管理用户组(group)的工具或命令;groupadd 注:添加用户组;groupdel 注:删除用户组;groupmod 注:修改用户组信息groups 注:显示用户所属的用户组grpckgrpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;3、/etc/skel 目录;/etc/skel目录一般是存放用户启动文件的目录,这个目录是由root 权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file 格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;[root@localhost beinan]# ls -la /etc/skel/总用量 92drwxr-xr-x 3 root root 4096 8月 11 23:32 .drwxr-xr-x 115 root root 12288 10月 14 13:44 ..-rw-r--r-- 1 root root 24 5月 11 00:15 .bash_logout-rw-r--r-- 1 root root 191 5月 11 00:15 .bash_profile-rw-r--r-- 1 root root 124 5月 11 00:15 .bashrc-rw-r--r-- 1 root root 5619 2005-03-08 .canna-rw-r--r-- 1 root root 438 5月 18 15:23 .emacs-rw-r--r-- 1 root root 120 5月 23 05:18 .gtkrcdrwxr-xr-x 3 root root 4096 8月 11 23:16 .kde-rw-r--r-- 1 root root 658 2005-01-17 .zshrc/etc/skel 目录下的文件,一般是我们用useradd 和adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主;4、/etc/login.defs 配置文件;/etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;比如Fedora 的 /etc/logins.defs 文件内容;# *REQUIRED*# Directory where mailboxes reside, _or_ name of file, relative to the# home directory. If you _do_ define both, MAIL_DIR takes precedence.# QMAIL_DIR is for Qmail##QMAIL_DIR MaildirMAIL_DIR /var/spool/mail 注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;#MAIL_FILE .mail# Password aging controls:## PASS_MAX_DAYS Maximum number of days a password may be used.# PASS_MIN_DAYS Minimum number of days allowed between password changes.# PASS_MIN_LEN Minimum acceptable password length.# PASS_WARN_AGE Number of days warning given before a password expires.#PASS_MAX_DAYS 99999 注:用户的密码不过期最多的天数;PASS_MIN_DAYS 0 注:密码修改之间最小的天数;PASS_MIN_LEN 5 注:密码最小长度;PASS_WARN_AGE 7 注:## Min/max values for automatic uid selection in useradd#UID_MIN 500 注:最小UID为500 ,也就是说添加用户时,UID 是从500开始的;UID_MAX 60000 注:最大UID为60000;## Min/max values for automatic gid selection in groupadd #GID_MIN 500 注:GID 是从500开始;GID_MAX 60000## If defined, this command is run when removing a user.# It should remove any at/cron/print jobs etc. owned by# the user to be removed (passed as the first argument).##USERDEL_CMD /usr/sbin/userdel_local## If useradd should create home directories for users by default# On RH systems, we do. This option is ORed with the -m flag on# useradd command line.#CREATE_HOME yes 注:是否创用户家目录,要求创建;5、/etc/default/useradd 文件;通过useradd 添加用户时的规则文件;# useradd defaults fileGROUP=100HOME=/home 注:把用户的家目录建在/home中;INACTIVE=-1 注:是否启用帐号过期停权,-1表示不启用;EXPIRE= 注:帐号终止日期,不设置表示不启用;SHELL=/bin/bash 注:所用SHELL的类型;SKEL=/etc/skel 注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;。
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分钟则要重新输入。