上节课回顾6.1文本编辑器简介6.2vi编辑器的启动与退出6.3vi编辑器的工作模式6.4vi编辑器的基本应用第八章系统管理和维护内容8.1用户和组群管理8.1.1用户和组简介8.1.2用户种类8.1.3用户的添加与删除8.1.4组的添加与删除8.2软件包的管理8.2.1软件包简介8.2.2高级软件包管理工具APT8.2.3文本界面软件包管理工具8.2.4新立得软件包管理器第八章系统管理和维护Linux系统管理的任务是对系统中的所有资源进行有效的保护。因此,对每个文件和过程设置访问权限,用于限制不同用户的访问行为,就成为Linux系统管理的一项重要内容。在Linux下通过设置用户权限和组权限完成此项任务,可以有效地解决资源安全性问题。Linux系统维护的主要包括通过命令方式以及图形化的管理器完成软件的安装。8.1用户和组群管理在Linux系统中,所有的文件、程序或正在运行的进程都从属于一个特定的用户。每个文件和程序都具有一定的访问权限,用于限制不同用户的访问行为。作为系统管理员,管理用户和用户组是一项重要的任务,有助于防止用户越权访问与其身份不相符的文件,避免对系统造成破坏。8.1.1用户与组简介Linux系统是一个多用户、多任务的分时操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账号。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面可以帮助用户组织文件,并为用户提供安全性保护。8.1.1用户与组简介Linux系统中,每个用户都具有一个唯一的身份标识,称作为用户ID(简称UID)。Linux系统按一定的原则把用户划分为用户组,以便相关的同组用户之间能够共享文件。8.1.2用户种类分为3类:超级用户、管理用户和普通用户。通常把超级用户和管理用户成为系统用户。超级用户是一个特殊用户(UID=0),它可以访问任何程序和文件。管理用户用于运行一定的系统服务程序,支持和维护相应的系统功能。这些用户ID号位于1-999的范围内。例如ftp就是一个管理用户,用作FTP匿名用户,维护匿名用户的文件传输,同时提供匿名用户的默认主目录。8.1.2用户种类分为3类:超级用户、管理用户和普通用户。通常把超级用户和管理用户成为系统用户。访问Linux系统的每个用户都需要一个用户账号。只有利用用户名和密码注册到系统之后,才能访问系统提供的资源和服务。对于自己创建的文件,创建者拥有绝对的权限,可以赋予自己、同组用户或其他用户访问文件的权限。8.1.3用户的添加与删除1.系统文件/etc/passwd和/etc/shadow每个用户都有一个对应的记录保存在/etc/passwd和/etc/shadow中。当用户登录系统时,在按照系统的提示输入用户名和密码之后,系统将会根据用户提供的用户名检查/etc/passwd文件是否存在,然后根据用户输入的密码,利用加密算法加密后再与/etc/shadow文件中的密码字段进行比较,同时检查其他诸如密码有效期等字段。如果通过了验证,按照passwd文件指定的主目录和命令解释程序,用户即可进入自己的主目录,通过命令解释程序访问系统。8.1.3用户的添加与删除1.系统文件/etc/passwd和/etc/shadow/etc/passwd文件中,每个用户的信息各占一行,每一行包括7个字段,中间用冒号分隔。格式如下LOGNAME:PASSWORD:UID:GID:USERINFO:HOMEDIR:SHELL8.1.3用户的添加与删除LOGNAME:用户登陆名。长度不超过8个字符,可以为字母(a~z,A~Z)和数字(0~9)。在Linux系统中,用户名第一个字符必须是字母。用户名必须唯一,而且是严格区分大小写的。PASSWORD:存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有的用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux系统都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。8.1.3用户的添加与删除UID:UID是一个整数,系统内部用它来标识用户。一般情况下,它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登陆Shell等。通常用户标识号的取值范围是0~65535。0代表超级用户root的标识号,1~999由系统保留,作为管理账号,普通用户的标识号从1000开始。8.1.3用户的添加与删除GID:GID字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。USERINFO:该字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途,用做finger命令的输出。HOMEDIR:该字段是用户的起始工作目录,它是用户在登陆到系统之后所处的目录。8.1.3用户的添加与删除SHELL:用户登陆后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登陆到系统后运行的命令解释器或某个特定的程序,即Shell。系统中有一类用户称为伪用户(psuedousers),这些用户在/etc/passwd文件中也占有一条记录,但是不能登陆,因为它们的登陆Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。常见的伪用户包括bin、sys、adm、uucp、lp、nobody等。8.1.3用户的添加与删除8.1.3用户的添加与删除1.系统文件/etc/passwd和/etc/shadow/etc/shadow文件,每一行包括8个字段,中间用冒号分隔。格式如下username:passwd:lastchg:min:max:warn:inactive:expire8.1.3用户的添加与删除username:是与/etc/passwd文件中的登陆名相一致的用户账号。passwd:存放的是加密后的用户口令字,长度为13~15个字符。如果为空,则对应用户没有口令,登陆时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登陆。如果字段以“$”为起始符号,则加密的密码是非DES算法生成的。8.1.3用户的添加与删除lastchg:表示的是从某个时刻起,到用户最后一次修改口令时的天数。min:指的是两次修改口令之间所需的最小天数。max:指的是密码保持有效的最大天数。warn:表示的是从系统开始警告用户到用户密码正式失效之间的天数。inactive:表示的是用户没有登陆活动,但账号仍能保持有效的最大天数。expire:该字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登陆了。8.1.3用户的添加与删除root@Ubuntu:~#cat/etc/shadowroot:$1$PFieTQav$i1t3fN0gA.mj0H7a.tepU.:13654:0:99999:7:::daemon:*:13651:0:99999:7:::bin:*:13651:0:99999:7:::┆gdm:!:13651:0:99999:7:::student:$1$C/Q/TNbH$FEyAezCcJSRyKaKH/bYjO/:13651:0:99999:7:::8.1.3用户的添加与删除2.命令行方式下增加用户useradd选项-ccomment:指定一段注释性描述。-dhome_dir:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。-ggroup:指定用户所属的用户组。-sshell:指定用户登陆的shell-uuid:指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。8.1.3用户的添加与删除2.命令行方式下增加用户sudouseradd–u1001–d/home/jack–m–s/bin/bashjack增加成功后,还需要设置密码,才能登陆。8.1.3用户的添加与删除3.命令行下删除用户userdel命令的作用是从/etc/passwd、/etc/shadow、/etc/group这3个文件中删除用户的相关信息,同时,可以通过选项-r删除用户的主目录及其文件。sudouserdel–rjack8.1.3用户的添加与删除4.图形界面方式增加、删除用户系统|系统管理|用户和组8.1.3用户的添加与删除4.图形界面方式增加、删除用户8.1.3用户的添加与删除4.图形界面方式增加、删除用户8.1.3用户的添加与删除4.图形界面方式增加、删除用户8.1.3用户的添加与删除4.图形界面方式增加、删除用户8.1.3用户的添加与删除4.图形界面方式增加、删除用户8.1.4用户组的添加与删除Linux的组有私有组、系统组、标准组之分。私有组:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,私有组只容纳了一个用户。标准组:可以容纳多个用户,组中的用户都具有组所拥有的权利。系统组:是Linux系统自动建立的。8.1.4用户组的添加与删除一个用户可以属于多个组,用户所属的组又有基本组和附加组之分。在用户所属组中的第一个组称为基本组,基本组在/etc/passwd文件中指定;其他组为附加组,附加组在/etc/group文件中指定。属于多个组的用户所拥有的权限是它所在的组的权限之和。与用户一样,用户分组也是由一个惟一的身份来标识的,该标识叫做用户分组ID(GroupID,GID)。用户可以归属于多个用户分组。对某个文件或程序的访问是以它的UID和GID为基础的。8.1.4用户组的添加与删除root@Ubuntu:~#cat/etc/grouproot:x:0:┆student:x:1000:groupname:passwd:GID:userlist8.1.4用户组的添加与删除字段名简要说明groupname是用户组的名称,由字母或数字构成。与/etc/passwd中的登陆名一样,组名不应重复。passwd存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。GID与用户标识号类似,也是一个整数,被系统内部用来标识组。userlistuserlist代表组内用户列表,是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。8.1.4用户组的添加与删除groupadd—添加组名添加user组root@Ubuntu:~#groupadduser添加组名可以手工编辑/etc/group文件来完成组的添加。groupmod—修改组属性修改user组的GID。root@Ubuntu:~#groupadd–g1005user修改user组的名为user1。root@Ubuntu:~#groupadd–nuser1user8.1.4用户组的添加与删除gpasswd—改变组中的成员用户或改变组的密码;还可以修改组密码,而且可以添加、删除组成员。修改user1组密码。root@Ubuntu:~#gpasswduser1添加student用户到user1组。root@Ubuntu:~#gpasswd-astudentuser1从user1组删除student用户。root@Ubuntu:~#gpasswd-dstudentuser1groupdel—删除组8.1.4用户组的添加与删除图形化方式添加删除组系统|系统管理|用户和组8.1.4用户组的添加与删除图形化方式添加删除组8.1.4用户组的添加与删除图形化