您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 第5章 Linux用户管理
第5章Linux用户管理第5章Linux用户管理5.1权限控制机制5.2用户的管理5.3组的管理5.4用户管理器习题第5章Linux用户管理5.1权限控制机制Linux系统是个多用户系统,能做到不同的用户能同时访问不同的文件,因此一定要有文件权限控制机制。Linux系统的权限控制机制和Windows的权限控制机制有着很大的差别。Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或文件主),同时文件还被指定的用户组所拥有,这个用户组称为文件所属组。一个用户可以是不同组的成员,这可以由管理员控制。文件的权限由权限标志来决定,权限标志决定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。第5章Linux用户管理5.1.1用户和权限1.基本概念(1)文件主Linux为每个文件都分配了一个所有者,称为文件主,并赋予文件主唯一的注册名。对文件的控制取决于文件主或超级用户(root)。文件的所属关系是可以改变的,你可以将文件或目录的所有权转让给其他用户,但只有文件主或root才有权改变文件的所属关系。可以用chown命令更改某个文件或目录的所有权。例如,超级用户把自己的一个文件复制给用户user1,为了让用户user1能够访问这个文件,超级用户(root)应该把这个文件的属主设为user1,否则,用户user1无法访问这个文件。如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的控制权。第5章Linux用户管理(2)用户组Linux下,每个文件又属于一个用户组。当创建一个文件或目录时,系统会赋予它一个用户组关系,chgrp命令可以改变文件的组关系。(3)访问权限Linux系统中的每个文件和目录都有访问权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。第5章Linux用户管理2.访问权限Linux系统中规定了3种不同类型的用户:文件主(user)、同组用户(group)、可以访问系统的其他用户(others)。访问权限规定3种访问文件或目录的方式:读(r)、写(w)、可执行或查找(x)。第5章Linux用户管理(1)文件访问权限读权限(r)表示只允许指定用户读取相应文件的内容,禁止对它做任何的更改操作。写权限(w)表示允许指定用户打开并修改文件。执行权限(x)表示允许指定用户将该文件作为一个程序执行。第5章Linux用户管理(2)目录访问权限在ls命令后加上-d选项,可以了解目录文件的使用权限。读权限(r)表示可以列出存储在该目录下的文件,即读目录内容。写权限(w)表示允许你从目录中删除或创建新的文件或目录。执行权限(x)表示允许你在目录中查找,并能用cd命令将工作目录切换到该目录。用chmod命令可改变文件或目录的访问权限。第5章Linux用户管理5.1.2权限控制命令1.chmod命令功能:chmod命令用于改变或设置文件或目录的访问权限。格式:chmod[选项]模式文件或目录名说明:只有文件主或超级用户root才有权用chmod改变文件或目录的访问权限。选项参数:-c:若文件或目录权限确实已经更改,才显示其更改动作。-f:若文件或目录权限无法被更改也不要显示错误信息。-v:显示权限变更的详细资料。-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递归式的方式逐个变更)。第5章Linux用户管理设定文件权限时,在模式中常用以下的字母代表用户或用户组:u(user)表示文件的所有者。g(group)表示文件的所属组。o(others)表示其他用户。a(all)代表所有用户(即u+g+o)。权限用以下字符表示:r表示读权限;w表示写权限;x表示执行权限。最后要指明是增加(+)还是取消(-)权限,或是只赋予权限(=)。第5章Linux用户管理例1:将文件ex1的权限改为所有用户对其都有执行权限。$chmoda+xex1例2:将文件ex1的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。$chmodu=r,ug=xex1第5章Linux用户管理在以上设置权限时,可以使用数值来绝对赋予权限。用三位二进制数表示其rwx权限,000~111对应设置位,r为100、w为010、x为001,转换为十进制,读、写、执行权限依次对应4、2、1。权限的组合等于相应数字相加的和。例如:所有者的文件权限为rwx时,二进制数表示为111,用十进制数7表示;组用户的文件权限为rw-时,二进制数表示为110,用十进制数6表示;其他用户的文件权限为r-x时,二进制数表示为101,用十进制数5表示。假设要求上述用户对文件“file1”具有上述权限,使用的命令是$chmod765file1。第5章Linux用户管理例3:$chmod664chap1.txt等同于$chmodu=rw,g=rw,o=rchap1.txt。例4:将目录wn1及其下面的所有子目录和文件的权限改为所有用户对其都有读、写权限。$chmod–Ra+rw-wn1第5章Linux用户管理2.chown命令功能:改变某个文件或目录的拥有者和所属的组。格式:chown[选项]用户或组文件名说明:只有文件主和超级用户才可以使用该命令。同时改变文件主和文件所属的组时,用户名和用户组名由冒号分开。在文件名中可以包含通配符。参数选项:-R递归式地改变指定目录及其所有子目录、文件的文件主。第5章Linux用户管理例1:将目录/usr/mengqc及其下面的所有文件、子目录的文件主改变成liu。$chown-Rliu/usr/mengqc例2:把文件的拥有者改为longkey用户,同时文件的所属组改为root组。#chownlongkey:rootchap1.txt第5章Linux用户管理3.chgrp命令功能:改变文件或目录的所属组。格式:chgrp[选项]组名文件名说明:如果用户不是该文件的文件主或超级用户,则不能改变该文件或目录的所属组。chown可以同时改变文件拥有者和所属组,chgrp只具有改变所属组的功能。参数选项:-R递归式地改变指定目录及其下面的所有子目录和文件的用户组。第5章Linux用户管理例1:将文件“chap1.txt”的所属组设为root组。$chgrprootchap1.txt例2:将/usr/mengqc及其子目录下的所有文件的用户组改为mengxin。$chgrp-Rmengxin/usr/mengqc第5章Linux用户管理4.umask命令功能:用来设置新建文件权限的掩码。格式:umask[模式]说明:模式为新建文件权限的掩码值。文件访问权限可以通过chmod命令来修改。当用户创建一个新文件后,如果不使用chmod修改权限,则这个文件的权限是什么呢?这个文件的权限由系统默认权限和默认权限掩码共同确定,它等于系统默认权限减去默认权限掩码。Linux系统中目录的默认权限是777,文件的默认权限是666。因此,有以下公式:新目录的权限=777-默认权限掩码新文件的权限=666-默认权限掩码注意:基于安全原因,Linux系统不允许文件的默认权限有执行权。不带任何参数的umask命令显示当前的默认权限掩码值。第5章Linux用户管理例1:显示当前的默认权限掩码值。$umask022例2:显示新创建文件的权限。$cattest$ls–ltest-rw-r--r--1rootroot73月812:57test以上说明如果用户创建新的文件,文件的权限应为666-022=644(即rw-r--r--)。第5章Linux用户管理5.2用户的管理Linux是一个多任务、多用户的操作系统,要能做到不同的用户能同时访问不同的文件,允许不同的用户从本地登录或远程登录,这时用户必须拥有一个合法的账号,Linux系统正是通过账号来实现对用户的访问进行控制的,因此,需要对用户与组进行有效的管理。第5章Linux用户管理5.2.1Linux操作系统下的用户1.用户Linux下的用户可以分为三类:超级用户、系统用户和普通用户。超级用户的用户名为root,它具有一切权限,只有进行系统维护(例如建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。系统用户是Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,如bin、daemon、adm、lp等用户。而普通用户是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。每个用户都有一个数值,称为UID。超级用户的UID为0,系统用户的UID一般为1~499,普通用户的UID为500~60000之间的值。第5章Linux用户管理2.账号系统文件Linux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd、/etc/shadow、/etc/group这几个。我们可以使用vi或其他编辑器来更改它们,也可以使用专门的命令来更改它们。账号的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作,不管以哪种形式管理账号,了解这几个文件的内容十分必要。第5章Linux用户管理(1)/etc/passwd文件/etc/passwd文件是账号管理中最重要的一个文件,它是一个纯文本文件。每一个注册用户在该文件都有一个对应的记录行,这一记录行记录了此用户的必要信息。例1:显示/etc/passwd文件。#cat/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:第5章Linux用户管理从passwd文件中可以看到,第一行是root用户,紧接的是系统用户,普通用户通常在文件的尾部。passwd文件中的每一行由7个字段的数据组成,字段之间用“:”分隔,其格式如下:账号名称:密码:UID:GID:个人资料:主目录:Shell第5章Linux用户管理说明如下:账号名称:用户登录Linux系统时使用的名称。密码:这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码经过了shadow的保护。UID:用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户。GID:用户所在组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID。个人资料:可以记录用户的个人信息,如姓名、电话等信息(上例中test用户本项为空)。主目录:通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。Shell:定义用户登录后使用的Shell,默认是bash。第5章Linux用户管理(2)/etc/shadow任何用户对passwd文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件/etc/shadow。密码如果经过shadow保护,在/etc/passwd文件中,每一记录行的密码字段会变成“x”,并且在/etc目录下存在文件shadow。只有超级用户能够读取shadow的内容。第5章Linux用户管理例2:查看shadow文件的内容。#cat/etc/shadowroot::12123:0:99999:7:::bin:*:12123:0:99999:7:::......test::12123:0:99999:7:::第5章Linux用户管理和passwd文件类似,shadow文件中的每行由9个字段组成,格式如下:用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段shadow文件中,密码字段为“*”表示用户被禁止登录,为“!!”表示密码未设置,为“!”表示用户被锁定。第5章Linux用户管理(3)pwconv和pwunconv安装Linux系统时,系统缺省采用shadow来保护密码。 如果安装Linux时未启用shadow,可以使用pwconv命令启用shadow。注意用
本文标题:第5章 Linux用户管理
链接地址:https://www.777doc.com/doc-3354604 .html