《linuxcentos7服务器命令课件教程第3章用户与用户组》由会员分享,可在线阅读,更多相关《linuxcentos7服务器命令课件教程第3章用户与用户组(61页珍藏版)》请在金锄头文库上搜索。
1、linux-centos7-linux-centos7-服务器命服务器命令课件教程第令课件教程第3 3章用户与章用户与用户组用户组Date:7/19/2024目录3.1项目一:用户账号与用户组的创建3.1.1用户与用户组概念3.1.2与用户管理相关的系统文件3.1.3用户管理3.1.4用户组管理3.1.5知识扩展3.2项目二:文件属性的读取和修改3.2.1文件属性3.2.2修改文件属性本章小结Date:7/19/20243.1项目一:用户账号与用户组的创建服务器管理员通过公司各部门对服务器的使用需求分析得出:设计部目前有两个项目组分别称为Web组,系统开发组,都需要通过远程方式登录服务器,在服
2、务器上完成各自项目部署和测试等工作。而公司其他部门暂时不需要直接访问服务器。因此为了方便项目组员工对服务器的访问,管理员需要为每个项目组创建若干账号,在创建过程中要考虑每个项目组账号的分组管理和账号命名的统一规范。Date:7/19/20243.1项目一:用户账号与用户组的创建序号知识点详见章节1对用户与用户组概念的理解。3.1.12创建用户组的命令。3.1.43创建用户的命令。3.1.34为用户设置密码。3.1.35对用户配置文件的掌握。3.1.2Date:7/19/20243.1.1用户与用户组概念Linux是一个多用户、多任务的服务器操作系统,多用户多任务指可以在系统上建立多个用户,而多
3、个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响。Linux用户是根据角色定义的,具体分为三种角色:超级用户:拥有对系统的最高管理权限,默认是root用户。普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限,例如上面提到的www用户、ftp用户等。虚拟用户:也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。Date:7/19/20243.1.1用户与用户组概念用户和用户组的对应关系有:一对一、一对多、多对一和多对多。Linux系统中每一个用户都至少属于一个用户组,管理员可以通过对用户组的管理来设
4、置用户对系统的访问权限,从而在一定程度上保证了对系统访问的安全性。在使用useradd命令创建用户的时候,系统除创建该用户外,默认情况下还会创建一个同名的用户组,作为该用户的用户组,同时还会在/home目录下创建同名的目录作为该用户的主目录。如果一个用户属于多个组,那么记录在/etc/passwd文件中的组称为该用户的主组,其他的组称为附属组。主要组(主组):每个用户有且只有一个主要组。附属组(补充组):用户可以是零个或多个附属组成员。一般用于帮助确保用户具有对系统中文件及其他资源的访问权限。Date:7/19/20243.1.2与用户管理相关的系统文件1用户信息配置文件/etc/passwd
5、在Linux系统中,用户信息被存放在系统的/etc/passwd文件中,系统的每一个合法用户对应于该文件中的一行记录。这行记录定义了该用户的属性。由于所有的用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow配置文件中。在passwd配置文件中,每行均由7个字段构成,各个字段之间用“:”分隔,每个字段都代表该用户某方面的信息。Date:7/19/20243.1.2与用户管理相关的系统文件Date:7/19/20243.1.2与用户管理相关的系统文件在passwd配置文件中,从左到右各个字段的含义如下:用户名:用户登录系统时使用的用户名。口令:
6、存放加密的口令,被/etc/shadow文件保护。用户标识号(UID):系统内部用它来标识用户,每个用户的UID都是唯一的。用户组标识号(GID):系统内部用它来标识用户所属的组,这里的GID是主组GID。注释性描述:为了方便管理和记忆该用户而添加的信息。用户主目录:也称家目录,用户登录系统后所进入的目录。命令解释器:指示该用户使用的Shell,CentOSLinux7默认的是bash。如果指定Shell为/sbin/nologin,则代表用户无法登录系统。Date:7/19/20243.1.2与用户管理相关的系统文件2用户密码配置文件/etc/shadow为了加强系统安全性,Linux操作系
7、统提供了专门的密码管理文件。该文件对一般用户不可读,只有root用户才能够读取。在/etc/shadow文件中,一行对应一个用户的密码信息,每行均由9个字段构成,各个字段之间用“:”分隔。Date:7/19/20243.1.2与用户管理相关的系统文件在shadow配置文件中,从左到右各个字段的含义如下:用户名:用户账户名。密码:用户的加密密码。最后一次修改的时间:从1970年1月1日起,到用户最后一次更改密码的天数。最小时间间隔:从1970年1月1日起,到用户可以更改密码的天数,(0表示随时可以变更)。最大时间间隔:从1970年1月1日起,到必须更改密码的天数,否则密码将过期,(99999表示
8、永远不过期)。警告时间:在密码过期之前多少天提醒用户更新,默认值是7天。不活动时间:在用户密码过期之后到禁用账户的天数。失效时间:从1970年1月1日起,到账户被禁用的天数。标志:保留位。Date:7/19/20243.1.2与用户管理相关的系统文件3用户组配置文件/etc/group将用户进行分组是Linux系统对用户进行管理及控制访问权限的一种手段。一个组中可以有多个用户,一个用户也可以属于多个组。系统中所有的组信息存放于/etc/group文件,其中一行对应一个用户组的信息,每行均由4个字段构成,各个字段之间用“:”分隔。Date:7/19/20243.1.2与用户管理相关的系统文件/e
9、tc/group文件中各字段的含义从左到右分别是:组名:组的名称。组口令:用户组的口令,用x表示口令是被/etc/gshadow文件保护的。组标识号(GID):系统内部用它来标识用户组,每个用户组的GID都是唯一的。组成员:该组的成员。Date:7/19/20243.1.2与用户管理相关的系统文件4用户组密码配置文件/etc/gshadow该文件用于定义用户组口令、组管理员等信息,该文件只有root用户可读。Date:7/19/20243.1.2与用户管理相关的系统文件/etc/gshadow文件中各字段的含义从左到右分别是:组名:组的名称。组口令:用户组的口令,保存已加密的口令。组的管理员帐
10、号:组的管理员帐号,管理员有权对该组添加、删除帐号。组成员:该组的成员,多个用户用“,”分开。Date:7/19/20243.1.3用户管理1用useradd命令创建用户创建或添加新用户要用useradd命令来实现。命令格式:useradd选项 用户名选项功能说明-d指定用户主目录-g指定用户组-m若主目录不存在,则创建-M不创建主目录-s指定登录时使用的Shell类型,默认为/bin/bash-c设置对该账号的注释说明文字-r创建系统账号(用户ID小于1000,从999起按照递减的顺序创建),默认不创建对应的主目录 -u手工指定新用户的ID值,该值必须唯一,且大于999。Date:7/19/
11、20243.1.3用户管理例3.1创建用户tom。#useraddtom在使用useradd命令创建用户tom,由于没有为tom指定用户组和主目录,所以系统会创建同名用户组tom作为tom用户的用户组,同时在/home目录下创建同名tom目录作为tom的主目录,并且在/var/spool/mail和/var/mail下创建与tom同名的文件,作为tom用户的邮件日志文件和备份。Date:7/19/20243.1.3用户管理例3.2创建一个名为zhangqi的用户,设置主目录为:/var/zhangqi,作为root组的成员,加注释:101school,指定用户Shell为:/bin/sh。#u
12、seraddd/var/zhangqigrootc101schools/bin/shzhangqi创建完成后,可以查看/etc/passwd的最后一行。Date:7/19/20243.1.3用户管理2用usermod命令修改用户属性对于已经创建好的用户,可以使用usermod命令来修改和设置账户的各项属性,包括用户名、用户主目录、用户所属组、使用Shell类型等。命令格式:usermod选项 用户名Date:7/19/20243.1.3用户管理例3.3修改用户zhangqi为zhangqiming。#usermod-lzhangqimingzhangqi注意原用户名和新用户名的顺序。例3.4修
13、改zhangqiming的主目录为/var/zhangqiming。#usermod-d/var/zhangqimingzhangqiming注意如果新的主目录不存在则需要先创建该主目录。Date:7/19/20243.1.3用户管理例3.5修改zhangqiming的注释信息为neusoft。#usermod-cneusoftzhangqiming操作完成后,查看passwd文件zhangqiming用户,可以发现相关信息都已经做出了修改,因此可以发现uesrmod命令是对passwd文件的修改。Date:7/19/20243.1.3用户管理3用userdel命令删除用户在Linux操作系统
14、当中,可以在userdel命令后直接加用户名,删除指定的用户。若使用选项-r,则在删除该用户的同时,将该用户对应的主目录一起删除。命令格式:userdel-r用户名例3.6删除zhangqiming用户及其主目录以及该用户的相关文档。#userdel-rzhangqiming删除zhangqiming用户后,查看passwd文件,发现该文件中已经不存在zhangqiming用户的信息。Date:7/19/20243.1.3用户管理4用passwd命令管理用户登录密码用户必须设置密码之后才能登录系统。root用户有权设置指定用户的密码普通用户只能设置或修改自己的密码。passwd不加用户名,可以
15、设置当前用户的密码。命令格式:passwd选项用户名称passwd还可以选项管理用户的密码。选项功能说明-l锁定用户密码-u解锁用户密码-S查询用户密码状态-d删除用户密码Date:7/19/20243.1.3用户管理例3.7root管理员创建bob用户,并为其设置密码为“123456”,然后查看/etc/shadow文件中bob用户的密码。然后将bob的密码锁定,使bob无法登录系统,查看/etc/shadow文件的变化,再解锁bob的密码,恢复bob对系统的访问权,再次查看/etc/shadow文件的变化。Date:7/19/20243.1.3用户管理例3.8查询bob用户的密码状态,加锁
16、后再查询bob用户的密码。若用户密码的当前状态是解锁状态,则结果是“Passwordset,SHA512crypt”。其中“SHA512crypt”指的是密码加密方式。若用户密码被锁定,则查询用户密码状态的结果是“Passwordlocked.”。Date:7/19/20243.1.4用户组管理1用groupadd命令创建用户组用户组是用户的集合,通常将用户进行分类归组,便于进行访问控制。用户与用户组属于多对多的关系,一个用户可以同时属于多个用户组,一个用户组可以包含多个不同的用户。命令格式:groupadd选项用户组名称常用选项是-r,功能是创建系统用户组。例3.9创建用户组student。
17、#groupaddstudentDate:7/19/20243.1.4用户组管理2用groupmod命令修改用户组属性对于已经创建好的用户组,可以使用groupmod命令来修改其属性。命令格式:groupmod选项组名例3.10修改用户组student为teacher。#groupmod-nteacherstudent选项功能说明-n修改组名-g修改组标识号GIDDate:7/19/20243.1.4用户组管理3用groupdel命令删除用户组在Linux系统当中,可以在groupdel命令后直接加用户组名,删除指定的用户组。命令格式:groupdel组名在删除用户组时,被删除的用户组不能是某
18、个用户的主组,否则无法删除。若必需删除,则应先删除该用户,然后再删除用户组。Date:7/19/20243.1.4用户组管理4用gpasswd命令维护组中成员gpasswd命令可用于把一个用户添加到组、把一个用户从组中删除、把一个用户设为组管理员。命令格式:gpasswd选项用户名组名选项功能说明-a添加用户到组。-d将用户从组中删除。-A设置用户为组管理员。Date:7/19/20243.1.4用户组管理例3.11将lili用户添加到tescher组。#gpasswd-aliliteacher例3.12将lili设置为teacher组的管理员。用户组管理员具有可以向该组添加用户和移除用户的权
19、限。作为组的管理员也可以使用gpasswd命令给组设置口令,只有设置了组口令,其他用户才可以通过newgrp命令切换成该组的成员身份,否则只有本组成员才能使用该组身份。#gpasswd-Aliliteacher例3.13将lili从teacher组中删除。#gpasswd-dliliteacherDate:7/19/20243.1.5知识扩展1查看用户信息的id命令id命令用于显示用户当前的UID,GID以及所属群组的组列表。命令格式:id选项用户名称直接执行id命令不带选项表示显示当前用户的ID信息,否则只需要在id命令后面直接加上要查询的用户名即可。选项功能说明-g显示用户所属群组的ID-
20、G显示用户所属附加群组的ID-u显示用户IDDate:7/19/20243.1.5知识扩展例3.14查看lili用户的ID信息。通过命令执行结果可以清楚地看到lili用户UID和GID信息。Date:7/19/20243.1.5知识扩展2输出指定用户所在组的groups命令命令格式:groups选项用户名例如显示用户lili所在的组。选项功能说明-help显示命令帮助信息 -version 显示版本号Date:7/19/20243.1.5知识扩展3查看当前登录用户whoami命令whoami命令用于显示登录者自身的用户名称,本指令相当于执行“idun”指令,whoami显示当前用户更详细的登录
21、信息。这一系列相关的还有w,who,whoami。Date:7/19/20243.1.5知识扩展4查看当前用户的w命令系统管理员在任何时刻都可以查看用户的行为,在终端提示符下输入w命令。第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登录用户总数及系统平均负载信息。Date:7/19/20243.1.5知识扩展5查看登录用户who命令系统管理员若想知道某一时刻有哪些用户登录到系统,可以使用系统提供的who命令,该命令可以查看当前登录系统的用户及其他相关系统信息。6查看登录用户历史last命令系统管理员可以随时查看用户登录的历史行为。Date:7/19/20243.1.5知识扩
22、展7用于修改用户口令有效期限的chage命令。密码时效是通过chage命令来管理的。命令格式:chage选项用户名选项功能说明-m密码可更改的最小天数。为零时代表任何时候都可以更改密码-W用户密码到期前,提前收到警告信息的天数-M密码保持有效的最大天数-E账号到期的日期。过了这天,此账号将不可用-d上一次更改的日期-i停滞时期。如果一个密码已过期这些天,那么此账号将不可用-l列出当前的设置。由非特权用户来确定他们的密码或账号何时过期Date:7/19/20243.1.5知识扩展例3.15查看root用户的密码信息。Date:7/19/20243.1.5知识扩展8修改用户注释信息的chfn命令c
23、hfn命令可以修改用户的注释信息。命令格式:chfn选项用户名选项功能说明-f设置真实姓名。 -h设置家中的电话号码。 -o设置办公室的地址。 -p设置办公室的电话号码。 Date:7/19/20243.1.5知识扩展9修改用户Shell类型的chsh命令命令格式:chsh选项用户名例3.16查看系统安装的Shell。Date:7/19/20243.1.5知识扩展例3.17将tom用户的Shell修改为/bin/csh。本例还可以执行#chsh-s/bin/cshtom命令来完成。如果只执行chsh命令那么修改的是当前用户的Shell。使用chsh命令修改用户Shell其实修改的就是/etc/
24、passwd文件里和该用户名相对应的那一行所定义的Shell字段。Date:7/19/20243.1项目一:用户账号与用户组的创建操作过程:#groupadddgroups01#useradd-gdgroups01dguser0101#passwddguser0101#useradd-gdgroups01dguser0102#passwddguser0102#groupadddgroups02#useradd-gdgroups02dguser0201#passwddguser0201#useradd-gdgroups02dguser0202#passwddguser0202#tail-4/et
25、c/passwdDate:7/19/20243.2项目二:文件属性的读取和修改设计部Web项目组近期招聘了两名在校大学生到项目组实习,并为他们做了关于Linux基础应用方面的培训。两人为了尽快熟悉Linux系统,共享学习心得打算在系统的/tmp目录下创建一个名为ourfile文件,用于分享学习收获。因此两用户需要可以随时读取和修改ourfile文件的内容。序号知识点详见章节1切换用户命令3.2.22对文件访问权限的理解3.2.13文件访问权限的修改命令3.2.2Date:7/19/20243.2.1文件属性每一行代表对应文件或目录的详细信息。从左到右具体的含义是文件属性、文件数、拥有者、所属的
26、组、文件大小、建立月份、建立日期、建立年份或时间、以及文件名。其中“建立年份或时间”字段,如果文件是今年建立的,则显示具体时间,如果是往年建立的,则显示年份。Date:7/19/20243.2.1文件属性文件属性由10个字母组成,其中第一个字母表示文件类型,后九个字母分为三组,表示文件的访问权限。文件属性的第一个字母是类型标识,用来说明文件的类型。在Linux操作系统中,共有七种文件类型,分别是:d(directory)目录文件。l(link)符号链接。s(socket)套接字文件。b(block)块设备文件,二进制文件。c(character)字符设备文件。p(pipe)命名管道文件。-普通
27、文件,或者更准确地说,不属于以上几种类型的文件。Date:7/19/20243.2.1文件属性用户对文件的操作权限分为读、写和执行三种,分别用r、w、x表示。若用户没有某个权限,则在相应权限位用“-”占位,代表无此权限。若文件具有x属性,是可执行的文件。具有x属性的文件一般是二进制程序文件或可执行的脚本文件。若目录具有x属性,则表示允许打开该目录中的文件,并且可用cd命令进入该目录。只有root用户和文件拥有者才可以修改文件访问权限。Date:7/19/20243.2.2修改文件属性1修改文件访问权限的chmod命令(1)绝对权限方法文件的九位权限除了可用r、w、x来表示外,还可用一个3位的十
28、进制数字来表示。比如644,其百位上的数字代表文件拥有者的权限,十位上的数字代表所属用户组的权限,个位上的数字代表其他用户对该文件的权限。这种采用数字来表示权限的方法,称为绝对权限表示法也称为数字权限表示法。由于用户的权限是用rwx来表示的,没有的权限对应位置上用“-”表示,有权限的位置可用1表示,没有权限的位置用0来表示,这样就会形成一个3位的二进制编码,然后将该二进制数转换成对应的十进制数,这样就得到一个07的数,从而就可以实现十进制数来表示用户对文件的权限。Date:7/19/20243.2.2修改文件属性1修改文件访问权限的chmod命令(1)绝对权限方法命令格式:chmod选项绝对权
29、限值要修改的文件或目录名称chmod命令常用的选项是-R,其功能是可以递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的权限。例3.18修改当前目录下test文件的访问权限使所有用户对该文件均有读写权限。#chmod666testDate:7/19/20243.2.2修改文件属性1修改文件访问权限的chmod命令(2)相对权限方法使用相对权限方法修改文件权限,命令格式:chmod修改对象运算符用户权限要修改的文件或目录名称其中修改对象位置上可以是u(文件拥有者)、g(同组用户)、o(其他用户)、a(全体用户)的任意组合。运算符位置上可以是+(添加)、-(删除)、=(只赋值)中的任意一
30、个。用户权限上写的是r、w、x的任意组合。例如,对文件test的组用户添加写权限,则执行命令:chmodg+waaa。Date:7/19/20243.2.2修改文件属性1修改文件访问权限的chmod命令(2)相对权限方法例3.19修改当前目录下test文件的访问权限使所有用户对该文件均有读写权限。#chmoda+rwtest或者#chmodugo+rwtest例3.20增加组用户对当前目录下file文件的写权限,取消其他用户对file文件的读权限。#chmodg+wfile#chmodo-rfile如果修改前file文件的权限是644,那么修改后file文件权限是660。Date:7/19/2
31、0243.2.2修改文件属性2修改文件所有者的chown命令文件或目录的创建者,一般是该文件或目录的拥有者,对文件具有最高的使用权。root用户可以将一个文件或目录的拥有权转让给其他用户,使其他用户成为该文件或目录的拥有者。通过chown命令还可以修改文件所属的组。命令格式:chown选项新所有者.新用户组要修改的文件或目录名称chown命令常用的选项是-R,其功能是可以递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的所属关系。Date:7/19/20243.2.2修改文件属性2修改文件所有者的chown命令例3.21将当前目录下的file文件的拥有者修改为tom,所属组改为tom
32、组。#chowntom.tomfile或者#chowntom:tomfile例3.22将当前目录下的file文件的所属组改为tom组。#chown.tomfile或者#chown:tomfile注意“.”或“:”的作用。Date:7/19/20243.2.2修改文件属性3提升用户权限(1)使用su命令切换用户在su命令后加用户名称,可以切换系统当前用户身份。在用户切换的时候,从root用户向普通用户可以直接进行切换,反之则需要root账号密码。这是因为root用户是系统中权限最高的用户,可以切换到任意身份不需要密码。普通用户之间切换需要密码验证。在切换用户身份时,通常需要增加“-”选项,例如#
33、su-tom命令表示切换到tom用户。“-”选项表示:切换用户时,使环境变量(home,Shell,user,logname,path等)和欲切换的用户相同,不使用该选项则取得的只是用户的临时权限。Date:7/19/20243.2.2修改文件属性3提升用户权限(2)使用sudo命令提升权限root用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在/etc/sudoers文件中,即完成对该用户的授权(此时该用户称为“sudoer”)。sudoer用户需要取得特殊权限时,可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户
34、本人),回答后系统即会将该命令的进程以超级用户的权限运行,对于普通用户来讲不需要知道root用户的密码,这样可以提高系统的安全性。Date:7/19/20243.2.2修改文件属性3提升用户权限例3.23root用户需要创建一个普通用户teacherli具有管理员权限,并执行系统的日常维护工作,则可以把teacherli用户设为sudoer。具体方法如下:第1步:查看是否已经安装了sudo#rpmqa|grepsudosudo-1.8.6p7-16.el7.x86_64如果没有安装sudo,可以在系统光盘中找到sudo的rpm包进行安装:#rpmivh/media/Packages/sudo-
35、1.8.6p7-16.el7.x86_64第2步:编辑/etc/sudoers文件在文件的最后插入:teacherliALL=(ALL)ALL保存退出。此后,以teacherli登录系统,就可以以sudo命令的方式进行系统的管理了。Date:7/19/20243.2.2修改文件属性3提升用户权限例:teacherli向系统添加用户lihuaDate:7/19/20243.2.2修改文件属性3提升用户权限用户teacherli做为一个普通用户账号,是没有权限执行useradd命令向系统添加用户的,但是做为一个sudoer则可以通过使用$sudouseraddlihua然后在系统提示“sudopa
36、sswordforteacherli:”时输入teacherli的口令确认后即可。如果需要指定某个用户只能执行指定的命令,则可以在/etc/sudoers文件中按照如下格式插入一行:用户账户名可执行的命令列表例如,让john用户只具有执行添加用户组的命令权限。johnlocalhost=/usr/sbin/goupaddDate:7/19/20243.2项目二:文件属性的读取和修改操作过程:以dguser0102账号登录系统$touch/tmp/ourfile/此时若其他用户修改文件ourfile,则系统会报“文件只读”,而不能完成修改功能。$chmod666/tmp/ourfile/修改ou
37、rfile文件的访问权限。Date:7/19/2024本章小结本章通过两个案例介绍了用户与用户组管理和文件属性的读取与修改方法。用户与用户组管理介绍了相关概念、相关的系统文件、用户管理命令以及用户组管理命令。涉及到的系统文件有:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow。涉及到的命令有:useradd、usermod、userdel、passwd、groupadd、groupmod、groupdel、gpasswd、id、groups、whoami、w、who、last、chfn、chsh。此外,本章还介绍了文件属性的查看和修改方法,涉及到的命令有:chmod、chown、su、sudo。Thank you谢谢结束结束