版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章Linux用户管理
5.1权限控制机制
5.2用户的管理
5.3组
的
管
理
5.4用户管理器
习题第5章Linux用户管理5.1权限控制机制5.1权限控制机制
Linux系统是个多用户系统,能做到不同的用户能同时访问不同的文件,因此一定要有文件权限控制机制。Linux系统的权限控制机制和Windows的权限控制机制有着很大的差别。Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或文件主),同时文件还被指定的用户组所拥有,这个用户组称为文件所属组。一个用户可以是不同组的成员,这可以由管理员控制。文件的权限由权限标志来决定,权限标志决定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。
5.1权限控制机制Lin5.1.1用户和权限
1.基本概念(1)文件主Linux为每个文件都分配了一个所有者,称为文件主,并赋予文件主唯一的注册名。对文件的控制取决于文件主或超级用户(root)。a.文件的所属关系是可以改变的,你可以将文件或目录的所有权转让给其他用户,b.但只有文件主或root才有权改变文件的所属关系。可以用chown命令更改某个文件或目录的所有权。5.1.1用户和权限1.基本概念(2)用户组Linux下,每个文件又属于一个用户组。当创建一个文件或目录时,系统会赋予它一个用户组关系,chgrp命令可以改变文件的组关系。(3)访问权限
Linux系统中的每个文件和目录都有访问权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
(2)用户组2.访问权限
Linux系统中规定了3种不同类型的用户:文件主(user)、同组用户(group)、可以访问系统的其他用户(others)。访问权限规定3种访问文件或目录的方式:读(r)、写(w)、可执行或查找(x)。
2.访问权限(1)文件访问权限读权限(r)表示只允许指定用户读取相应文件的内容,禁止对它做任何的更改操作。写权限(w)表示允许指定用户打开并修改文件。执行权限(x)表示允许指定用户将该文件作为一个程序执行。
(1)文件访问权限(2)目录访问权限在ls命令后加上-d选项,可以了解目录文件的使用权限。读权限(r)表示可以列出存储在该目录下的文件,即读目录内容。写权限(w)表示允许你从目录中删除或创建新的文件或目录。执行权限(x)表示允许你在目录中查找,并能用cd命令将工作目录切换到该目录。用chmod命令可改变文件或目录的访问权限。
(2)目录访问权限5.1.2权限控制命令
1.chmod命令功能:chmod命令用于改变或设置文件或目录的访问权限。格式:chmod[选项]模式
文件或目录名说明:只有文件主或超级用户root才有权用chmod改变文件或目录的访问权限。选项参数:-c:若文件或目录权限确实已经更改,才显示其更改动作。-f:若文件或目录权限无法被更改也不要显示错误信息。-v:显示权限变更的详细资料。-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递归式的方式逐个变更)。5.1.2权限控制命令1.chmod命令设定文件权限时,在模式中常用以下的字母代表用户或用户组:u(user)表示文件的所有者。g(group)表示文件的所属组。o(others)表示其他用户。a(all)代表所有用户(即u+g+o)。权限用以下字符表示:r表示读权限;w表示写权限;x表示执行权限。最后要指明是增加(+)还是取消(-)权限,或是只赋予权限(=)。
设定文件权限时,在模式中常用以下的字母代表用户或用户组:例1:将文件ex1的权限改为所有用户对其都有执行权限。$chmoda+xex1例2:将文件ex1的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。$chmodu=r,ug=xex1例1:将文件ex1的权限改为所有用户对其都有执行权限。使用数值来绝对赋予权限用三位二进制数表示其rwx权限,000~111对应设置位,r为100、w为010、x为001,转换为十进制,读、写、执行权限依次对应4、2、1。权限的组合等于相应数字相加的和。使用数值来绝对赋予权限例3:$chmod664chap1.txt等同于$chmodu=rw,g=rw,o=rchap1.txt。例4:将目录wn1及其下面的所有子目录和文件的权限改为所有用户对其都有读、写权限。$chmod–Ra+rw-wn1例3:$chmod664chap1.txt等同于$2.chown命令功能:改变某个文件或目录的拥有者和所属的组。格式:chown[选项]用户或组文件名说明:只有文件主和超级用户才可以使用该命令。同时改变文件主和文件所属的组时,用户名和用户组名由冒号分开。在文件名中可以包含通配符。参数选项:
-R递归式地改变指定目录及其所有子目录、文件的文件主。
2.chown命令例1:将目录/usr/mengqc及其下面的所有文件、子目录的文件主改变成liu。$chown-Rliu/usr/mengqc例2:把文件的拥有者改为longkey用户,同时文件的所属组改为root组。#chownlongkey:rootchap1.txt例1:将目录/usr/mengqc及其下面的所有文件、子目录3.chgrp命令功能:改变文件或目录的所属组。格式:chgrp[选项]组名文件名说明:如果用户不是该文件的文件主或超级用户,则不能改变该文件或目录的所属组。chown可以同时改变文件拥有者和所属组,chgrp只具有改变所属组的功能。参数选项:
-R递归式地改变指定目录及其下面的所有子目录和文件的用户组。
3.chgrp命令例1:将文件“chap1.txt”的所属组设为root组。$chgrprootchap1.txt例2:将/usr/mengqc及其子目录下的所有文件的用户组改为mengxin。$chgrp-Rmengxin/usr/mengqc例1:将文件“chap1.txt”的所属组设为root组。4.umask命令功能:用来设置新建文件权限的掩码。格式:umask[模式]说明:模式为新建文件权限的掩码值。新目录的权限=777-默认权限掩码新文件的权限=666-默认权限掩码注意:基于安全原因,Linux系统不允许文件的默认权限有执行权。不带任何参数的umask命令显示当前的默认权限掩码值。4.umask命令功能:用来设置新建文件权限的掩码。例子例1:显示当前的默认权限掩码值。$umask022例2:显示新创建文件的权限。$cat>test$ls–ltest-rw-r--r--1rootroot73月
812:57test以上说明如果用户创建新的文件,文件的权限应为666-022=644(即rw-r--r--)。
例子例1:显示当前的默认权限掩码值。5.2用户的管理
Linux是一个多任务、多用户的操作系统,要能做到不同的用户能同时访问不同的文件,允许不同的用户从本地登录或远程登录,这时用户必须拥有一个合法的账号,Linux系统正是通过账号来实现对用户的访问进行控制的,因此,需要对用户与组进行有效的管理。
5.2用户的管理Linux是5.2.1Linux操作系统下的用户
1.用户
Linux下的用户可以分为三类:超级用户、系统用户和普通用户。超级用户的用户名为root,它具有一切权限,只有进行系统维护(例如建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。系统用户是Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,如bin、daemon、adm、lp等用户。而普通用户是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。每个用户都有一个数值,称为UID。超级用户的UID为0,系统用户的UID一般为1~499,普通用户的UID为500~60000之间的值。
5.2.1Linux操作系统下的用户1.用户2.账号系统文件
Linux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd、/etc/shadow、/etc/group这几个。我们可以使用vi或其他编辑器来更改它们,也可以使用专门的命令来更改它们。账号的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作,不管以哪种形式管理账号,了解这几个文件的内容十分必要。2.账号系统文件(1)/etc/passwd文件/etc/passwd文件是账号管理中最重要的一个文件,它是一个纯文本文件。每一个注册用户在该文件都有一个对应的记录行,这一记录行记录了此用户的必要信息。例1:显示/etc/passwd文件。#cat/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:(1)/etc/passwd文件从passwd文件中可以看到,第一行是root用户,紧接的是系统用户,普通用户通常在文件的尾部。passwd文件中的每一行由7个字段的数据组成,字段之间用“:”分隔,其格式如下:账号名称:密码:UID:GID:个人资料:主目录:Shell从passwd文件中可以看到,第一行是root用户说明如下:账号名称:用户登录Linux系统时使用的名称。密码:这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码经过了shadow的保护。UID:用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户。GID:用户所在组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID。个人资料:可以记录用户的个人信息,如姓名、电话等信息(上例中test用户本项为空)。主目录:通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。Shell:定义用户登录后使用的Shell,默认是bash。
说明如下:(2)/etc/shadow
任何用户对passwd文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件/etc/shadow。密码如果经过shadow保护,在/etc/passwd文件中,每一记录行的密码字段会变成“x”,并且在/etc目录下存在文件shadow。只有超级用户能够读取shadow的内容。
(2)/etc/shadow例2:查看shadow文件的内容。#cat/etc/shadowroot::12123:0:99999:7:::bin:*:12123:0:99999:7:::......test::12123:0:99999:7:::例2:查看shadow文件的内容。和passwd文件类似,shadow文件中的每行由9个字段组成,格式如下:用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段
shadow文件中,密码字段为“*”表示用户被禁止登录,为“!!”表示密码未设置,为“!”表示用户被锁定。
和passwd文件类似,shadow文件中的每行由9个字段组(3)pwconv和pwunconv
安装Linux系统时,系统缺省采用shadow来保护密码。
如果安装Linux时未启用shadow,可以使用pwconv命令启用shadow。注意用root用户登录来执行该命令,执行的结果是/etc/passwd文件中的密码字段被改为“x”,同时产生/etc/shadow文件。相反,如果要取消shadow功能,可使用pwunconv命令。
(3)pwconv和pwunconv5.2.2命令行方式管理用户
在对用户与组进行管理时,可以采用两种方式,即命令行(Shell)方式和图形界面(GUI)方式,命令行方式下的用户与组的管理,包括用户的添加、删除及修改等。
5.2.2命令行方式管理用户在对用户与组1.添加用户账号超级用户root可以通过在系统提示符下运行useradd或adduser命令来创建用户
账号。命令格式:useradd[选项]用户名useradd命令有很多的可选参数,具体说明如下:-u:设置用户ID(UID),用户ID和账号一样必须是唯一的。-g:指定用户所属的用户组(组必须存在),参数可以是组名称或组ID(GID)。-d:建立用户目录,参数即所建的用户目录(通常与用户账号相同)。-s:设置用户环境,即设置用户的Shell环境。-e:设置用户账号的使用期限。
1.添加用户账号例:分析useradd命令中选项的意义。#useradd–u550–g100–d/home/user1–s/bin/bash–e08/02/06user1其参数的意义如下:-u参数:设置用户的UID为550。-g参数:指定用户所属的用户组,但该用户组必须已经存在。参数采用组名或GID皆可,如-g100与-gusers的意思相同,都是把用户加入到users用户组中,其中users用户组的GID为100。-d参数:建立用户目录,如–d/home/user1就是替用户建立位于/home目录下的用户目录,目录名称为user1。-s参数:指定用户环境,如–s/bin/bash指定bash为该用户的Shell。当然也可指定其他Shell供用户使用。
-e参数:设置账号的期限,格式为“月/日/年”如–e08/02/06为2006年8月2日。
例:分析useradd命令中选项的意义。2.修改用户属性(1)passwd命令功能:设置修改用户的密码属性。格式:passwd用户名说明:修改用户的密码需要两次输入密码确认。密码是保证系统安全的一个重要措施,在设置密码时,不要使用过于简单的密码。密码的长度应在8位或8位以上,由数字和英文组合而成。用户的密码也可以自己更改,这时使用不带用户名的passwd命令。2.修改用户属性(2)chsh命令功能:修改用户的Shell设置。格式:chsh用户名说明:如果用户的默认Shell不合适,可以把它改成任何已经加入到/etc/Shells文件中的Shell。使用chsh命令改变用户的Shell,指定的Shell一定要在/etc/Shells中存在,否则会导致用户无法登录。也可以使用下面要介绍的命令usermod来改变用户的Shell设置。
(2)chsh命令(3)usermod命令功能:改变用户的属性。格式:usermod[选项]用户名参数选项:-ddir:改变用户的主目录,如果同时使用“-m”选项,原来主目录的内容会移动到新的主目录。-gGID或组名:修改用户的所属基本组。-lname:更改账户的名称,必须在该用户未登录的情况下才能使用。-m:把主目录的所有内容移动到新的目录。-p密码:修改用户的密码。-sShell:修改用户的登录Shell。-uUID:改变用户的UID为新的值,改变用户的UID时主目录下所有该用户所拥有的文件或子目录将自动更改UID,但对于主目录之外的文件和目录只能用chown命令手工进行设置。(3)usermod命令例:修改user2的UID为新的值600、所属组为wyq。#usermod–u600–gwyquser2例:修改user2的UID为新的值600、所属组为wyq。3.删除用户账号若不再允许用户登录系统时,可以将用户账号删除。使用userdel命令删除账号。命令格式为:userdel[选项]用户名参数选项:-r表示在删除账号的同时,将用户主目录及其内部文件同时删除。若不加选项-r,则表示只删除登录账号而保留相关目录。
3.删除用户账号4.锁定用户账号在系统中,有时需要临时禁止某个用户账号登录而不删除。可以采用以下两种方式之一:1)使用passwd命令锁定用户账号。命令格式为:passwd-l用户名。例:锁定用户账号user1登录。#passwd-luser1
查看Linux系统中管理用户账号的系统文件/etc/passwd,可看到其密码域的第一个字符前加了符号“!!”(若系统有密码保护则文件为/etc/shadow,可参考5.2.1)。
4.锁定用户账号2)在/etc/passwd文件中将该用户的passwd域的第一个字符前加一个*号或#号。恢复时,使用带“-u”参数的passwd命令。例:恢复user1用户账号登录。#passwd-uuser1Changingpasswordforuseruser1Unlockingpasswordforuseruser1passwd:Success2)在/etc/passwd文件中将该用户的passwd域的5.3组
的
管
理
5.3.1Linux的组
Linux的组有私有组、系统组、标准组之分。建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。而标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。系统组是Linux系统自动建立的。一个用户可以属于多个组,用户所属的组又有基本组和附加组之分。在用户所属组中的第一个组称为基本组,基本组在/etc/passwd文件中指定;其他组为附加组,附加组在/etc/group文件中指定。属于多个组的用户所拥有的权限是它所在的组的权限之和。
5.3组的管理5.3.1Linux的组Linux系统关于组的信息存放在文件/etc/group中。例:显示文件/etc/group内容。#cat/etc/grouproot:x:0:root,testbin:x:1:root,bin,daemon......test:x:500:group1:x:1000:user1:x:501:Linux系统关于组的信息存放在文件/etc/group中。group文件中的每一行记录了一个组的信息,每行包括4个字段,字段之间用“:”分隔。格式为组名:组的密码:GID:组成员。字段说明:组名:组的名称,如root、bin等。组的密码:设置加入组的密码,一般情况下不使用组密码,该字段通常没用。GID:组的标识符,为数值,类似UID。组成员:组所包含的用户,用户之间用“,”分隔。
group文件中的每一行记录了一个组的信息,每行包括4个字段5.3.2用户组的添加、修改、删除
1.添加组可以手工编辑/etc/group文件来完成组的添加,也可以用命令groupadd来添加组,命令格式:groupadd组名例:添加组group1。#groupaddgroup15.3.2用户组的添加、修改、删除1.添加组2.修改组属性使用groupmod命令来修改组名或GID。
在groupmod-g命令后加上组的新ID号和组名来修改GID。在groupmod-n命令后加上新组名和原组名来修改组名。
2.修改组属性3.删除组使用groupdel命令来删除组。格式:groupdel组名说明:组被删除后,应使用chown命令将被删除用户组的目录与文件变为它隶属的用户组。要改变组中的成员用户或改变组的密码使用gpasswd命令。格式:gpasswd[参数][用户名]组名不带参数时,即修改组密码。参数选项:-a:将用户加入到组中。-d:将用户从组中删除。3.删除组例:将用户user1加入到组group1中。#gpasswd-auser1group1例:将用户user1从组group1中删除。#gpasswd-duser1group1例:将用户user1加入到组group1中。5.4用户管理器
用户管理器是一个图形界面形式的管理工具,利用用户管理器可以方便地管理用户和用户组。根用户root可以选择“主菜单”→“系统设置”→“用户和组群”(或者在Shell提示符下键入redhat-config-users),就打开“RedHat用户管理器”窗口,如图5.1所示。
5.4用户管理器用户管理器是一个图形界面图5.1RedHat用户管理器窗口
图5.1RedHat用户管理器窗口1.创建用户账号在用户管理器窗口中单击“添加用户”按钮,打开“创建新用户”对话框,如图5.2所示。1.创建用户账号图5.2“创建新用户”对话框
图5.2“创建新用户”对话框2.修改用户属性若要修改用户属性,首先在用户管理器窗口中选择一个已存在的用户账号,然后单击“属性”按钮,则出现“用户属性”窗口,如图5.3所示。在窗口中有“用户数据”、“账号信息”、“口令信息”和“组群”四个选项卡。用户可以选择相应的选项卡进行相关属性的修改。
2.修改用户属性图5.3“用户属性”窗口
图5.3“用户属性”窗口3.修改用户组属性在图5.1的“组群”选项卡中,选择一个已存在的用户组,并单击“属性”按钮打开“组群属性”窗口,如图5.4所示。在该窗口中修改设置用户组的属性,将需加入本组的用户分别打上对号即可。
3.修改用户组属性图5.4修改用户组属性
图5.4修改用户组属性一、选择题1.改变文件或目录的访问权限使用______命令。A.chmodB.chownC.usermod D.chsh2.
锁定用户账号使用______命令。A.passwd–uB.passwd-l C.usermodD.userdel3.向某一用户发出信息而不影响其他用户,通常使用______命令。A.telnet B.wall C.writeD.mesg一、选择题1.改变文件或目录的访问权限使用______命令。二、填空题1.删除用户使用
命令。2.删除用户组使用
命令。3.为了安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件
。4.设置修改用户的密码用
命令。二、填空题1.删除用户使用命令。三、简答题1./etc/passwd文件中的其中一行为“a123:x:501:501::/home/a123:/bin/bash”,请解释各字段的含义。2.分别用命令行方式和图形化方式为系统创建两个用户,并使其属于同一组。3.创建一用户,不使用密码便可登录系统。4.用命令行方式删除创建的用户user1。三、简答题1./etc/passwd文件中的其中一行为“a1第5章Linux用户管理
5.1权限控制机制
5.2用户的管理
5.3组
的
管
理
5.4用户管理器
习题第5章Linux用户管理5.1权限控制机制5.1权限控制机制
Linux系统是个多用户系统,能做到不同的用户能同时访问不同的文件,因此一定要有文件权限控制机制。Linux系统的权限控制机制和Windows的权限控制机制有着很大的差别。Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或文件主),同时文件还被指定的用户组所拥有,这个用户组称为文件所属组。一个用户可以是不同组的成员,这可以由管理员控制。文件的权限由权限标志来决定,权限标志决定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。
5.1权限控制机制Lin5.1.1用户和权限
1.基本概念(1)文件主Linux为每个文件都分配了一个所有者,称为文件主,并赋予文件主唯一的注册名。对文件的控制取决于文件主或超级用户(root)。a.文件的所属关系是可以改变的,你可以将文件或目录的所有权转让给其他用户,b.但只有文件主或root才有权改变文件的所属关系。可以用chown命令更改某个文件或目录的所有权。5.1.1用户和权限1.基本概念(2)用户组Linux下,每个文件又属于一个用户组。当创建一个文件或目录时,系统会赋予它一个用户组关系,chgrp命令可以改变文件的组关系。(3)访问权限
Linux系统中的每个文件和目录都有访问权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
(2)用户组2.访问权限
Linux系统中规定了3种不同类型的用户:文件主(user)、同组用户(group)、可以访问系统的其他用户(others)。访问权限规定3种访问文件或目录的方式:读(r)、写(w)、可执行或查找(x)。
2.访问权限(1)文件访问权限读权限(r)表示只允许指定用户读取相应文件的内容,禁止对它做任何的更改操作。写权限(w)表示允许指定用户打开并修改文件。执行权限(x)表示允许指定用户将该文件作为一个程序执行。
(1)文件访问权限(2)目录访问权限在ls命令后加上-d选项,可以了解目录文件的使用权限。读权限(r)表示可以列出存储在该目录下的文件,即读目录内容。写权限(w)表示允许你从目录中删除或创建新的文件或目录。执行权限(x)表示允许你在目录中查找,并能用cd命令将工作目录切换到该目录。用chmod命令可改变文件或目录的访问权限。
(2)目录访问权限5.1.2权限控制命令
1.chmod命令功能:chmod命令用于改变或设置文件或目录的访问权限。格式:chmod[选项]模式
文件或目录名说明:只有文件主或超级用户root才有权用chmod改变文件或目录的访问权限。选项参数:-c:若文件或目录权限确实已经更改,才显示其更改动作。-f:若文件或目录权限无法被更改也不要显示错误信息。-v:显示权限变更的详细资料。-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递归式的方式逐个变更)。5.1.2权限控制命令1.chmod命令设定文件权限时,在模式中常用以下的字母代表用户或用户组:u(user)表示文件的所有者。g(group)表示文件的所属组。o(others)表示其他用户。a(all)代表所有用户(即u+g+o)。权限用以下字符表示:r表示读权限;w表示写权限;x表示执行权限。最后要指明是增加(+)还是取消(-)权限,或是只赋予权限(=)。
设定文件权限时,在模式中常用以下的字母代表用户或用户组:例1:将文件ex1的权限改为所有用户对其都有执行权限。$chmoda+xex1例2:将文件ex1的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。$chmodu=r,ug=xex1例1:将文件ex1的权限改为所有用户对其都有执行权限。使用数值来绝对赋予权限用三位二进制数表示其rwx权限,000~111对应设置位,r为100、w为010、x为001,转换为十进制,读、写、执行权限依次对应4、2、1。权限的组合等于相应数字相加的和。使用数值来绝对赋予权限例3:$chmod664chap1.txt等同于$chmodu=rw,g=rw,o=rchap1.txt。例4:将目录wn1及其下面的所有子目录和文件的权限改为所有用户对其都有读、写权限。$chmod–Ra+rw-wn1例3:$chmod664chap1.txt等同于$2.chown命令功能:改变某个文件或目录的拥有者和所属的组。格式:chown[选项]用户或组文件名说明:只有文件主和超级用户才可以使用该命令。同时改变文件主和文件所属的组时,用户名和用户组名由冒号分开。在文件名中可以包含通配符。参数选项:
-R递归式地改变指定目录及其所有子目录、文件的文件主。
2.chown命令例1:将目录/usr/mengqc及其下面的所有文件、子目录的文件主改变成liu。$chown-Rliu/usr/mengqc例2:把文件的拥有者改为longkey用户,同时文件的所属组改为root组。#chownlongkey:rootchap1.txt例1:将目录/usr/mengqc及其下面的所有文件、子目录3.chgrp命令功能:改变文件或目录的所属组。格式:chgrp[选项]组名文件名说明:如果用户不是该文件的文件主或超级用户,则不能改变该文件或目录的所属组。chown可以同时改变文件拥有者和所属组,chgrp只具有改变所属组的功能。参数选项:
-R递归式地改变指定目录及其下面的所有子目录和文件的用户组。
3.chgrp命令例1:将文件“chap1.txt”的所属组设为root组。$chgrprootchap1.txt例2:将/usr/mengqc及其子目录下的所有文件的用户组改为mengxin。$chgrp-Rmengxin/usr/mengqc例1:将文件“chap1.txt”的所属组设为root组。4.umask命令功能:用来设置新建文件权限的掩码。格式:umask[模式]说明:模式为新建文件权限的掩码值。新目录的权限=777-默认权限掩码新文件的权限=666-默认权限掩码注意:基于安全原因,Linux系统不允许文件的默认权限有执行权。不带任何参数的umask命令显示当前的默认权限掩码值。4.umask命令功能:用来设置新建文件权限的掩码。例子例1:显示当前的默认权限掩码值。$umask022例2:显示新创建文件的权限。$cat>test$ls–ltest-rw-r--r--1rootroot73月
812:57test以上说明如果用户创建新的文件,文件的权限应为666-022=644(即rw-r--r--)。
例子例1:显示当前的默认权限掩码值。5.2用户的管理
Linux是一个多任务、多用户的操作系统,要能做到不同的用户能同时访问不同的文件,允许不同的用户从本地登录或远程登录,这时用户必须拥有一个合法的账号,Linux系统正是通过账号来实现对用户的访问进行控制的,因此,需要对用户与组进行有效的管理。
5.2用户的管理Linux是5.2.1Linux操作系统下的用户
1.用户
Linux下的用户可以分为三类:超级用户、系统用户和普通用户。超级用户的用户名为root,它具有一切权限,只有进行系统维护(例如建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。系统用户是Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,如bin、daemon、adm、lp等用户。而普通用户是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。每个用户都有一个数值,称为UID。超级用户的UID为0,系统用户的UID一般为1~499,普通用户的UID为500~60000之间的值。
5.2.1Linux操作系统下的用户1.用户2.账号系统文件
Linux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd、/etc/shadow、/etc/group这几个。我们可以使用vi或其他编辑器来更改它们,也可以使用专门的命令来更改它们。账号的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作,不管以哪种形式管理账号,了解这几个文件的内容十分必要。2.账号系统文件(1)/etc/passwd文件/etc/passwd文件是账号管理中最重要的一个文件,它是一个纯文本文件。每一个注册用户在该文件都有一个对应的记录行,这一记录行记录了此用户的必要信息。例1:显示/etc/passwd文件。#cat/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:(1)/etc/passwd文件从passwd文件中可以看到,第一行是root用户,紧接的是系统用户,普通用户通常在文件的尾部。passwd文件中的每一行由7个字段的数据组成,字段之间用“:”分隔,其格式如下:账号名称:密码:UID:GID:个人资料:主目录:Shell从passwd文件中可以看到,第一行是root用户说明如下:账号名称:用户登录Linux系统时使用的名称。密码:这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码经过了shadow的保护。UID:用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户。GID:用户所在组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID。个人资料:可以记录用户的个人信息,如姓名、电话等信息(上例中test用户本项为空)。主目录:通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。Shell:定义用户登录后使用的Shell,默认是bash。
说明如下:(2)/etc/shadow
任何用户对passwd文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件/etc/shadow。密码如果经过shadow保护,在/etc/passwd文件中,每一记录行的密码字段会变成“x”,并且在/etc目录下存在文件shadow。只有超级用户能够读取shadow的内容。
(2)/etc/shadow例2:查看shadow文件的内容。#cat/etc/shadowroot::12123:0:99999:7:::bin:*:12123:0:99999:7:::......test::12123:0:99999:7:::例2:查看shadow文件的内容。和passwd文件类似,shadow文件中的每行由9个字段组成,格式如下:用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段
shadow文件中,密码字段为“*”表示用户被禁止登录,为“!!”表示密码未设置,为“!”表示用户被锁定。
和passwd文件类似,shadow文件中的每行由9个字段组(3)pwconv和pwunconv
安装Linux系统时,系统缺省采用shadow来保护密码。
如果安装Linux时未启用shadow,可以使用pwconv命令启用shadow。注意用root用户登录来执行该命令,执行的结果是/etc/passwd文件中的密码字段被改为“x”,同时产生/etc/shadow文件。相反,如果要取消shadow功能,可使用pwunconv命令。
(3)pwconv和pwunconv5.2.2命令行方式管理用户
在对用户与组进行管理时,可以采用两种方式,即命令行(Shell)方式和图形界面(GUI)方式,命令行方式下的用户与组的管理,包括用户的添加、删除及修改等。
5.2.2命令行方式管理用户在对用户与组1.添加用户账号超级用户root可以通过在系统提示符下运行useradd或adduser命令来创建用户
账号。命令格式:useradd[选项]用户名useradd命令有很多的可选参数,具体说明如下:-u:设置用户ID(UID),用户ID和账号一样必须是唯一的。-g:指定用户所属的用户组(组必须存在),参数可以是组名称或组ID(GID)。-d:建立用户目录,参数即所建的用户目录(通常与用户账号相同)。-s:设置用户环境,即设置用户的Shell环境。-e:设置用户账号的使用期限。
1.添加用户账号例:分析useradd命令中选项的意义。#useradd–u550–g100–d/home/user1–s/bin/bash–e08/02/06user1其参数的意义如下:-u参数:设置用户的UID为550。-g参数:指定用户所属的用户组,但该用户组必须已经存在。参数采用组名或GID皆可,如-g100与-gusers的意思相同,都是把用户加入到users用户组中,其中users用户组的GID为100。-d参数:建立用户目录,如–d/home/user1就是替用户建立位于/home目录下的用户目录,目录名称为user1。-s参数:指定用户环境,如–s/bin/bash指定bash为该用户的Shell。当然也可指定其他Shell供用户使用。
-e参数:设置账号的期限,格式为“月/日/年”如–e08/02/06为2006年8月2日。
例:分析useradd命令中选项的意义。2.修改用户属性(1)passwd命令功能:设置修改用户的密码属性。格式:passwd用户名说明:修改用户的密码需要两次输入密码确认。密码是保证系统安全的一个重要措施,在设置密码时,不要使用过于简单的密码。密码的长度应在8位或8位以上,由数字和英文组合而成。用户的密码也可以自己更改,这时使用不带用户名的passwd命令。2.修改用户属性(2)chsh命令功能:修改用户的Shell设置。格式:chsh用户名说明:如果用户的默认Shell不合适,可以把它改成任何已经加入到/etc/Shells文件中的Shell。使用chsh命令改变用户的Shell,指定的Shell一定要在/etc/Shells中存在,否则会导致用户无法登录。也可以使用下面要介绍的命令usermod来改变用户的Shell设置。
(2)chsh命令(3)usermod命令功能:改变用户的属性。格式:usermod[选项]用户名参数选项:-ddir:改变用户的主目录,如果同时使用“-m”选项,原来主目录的内容会移动到新的主目录。-gGID或组名:修改用户的所属基本组。-lname:更改账户的名称,必须在该用户未登录的情况下才能使用。-m:把主目录的所有内容移动到新的目录。-p密码:修改用户的密码。-sShell:修改用户的登录Shell。-uUID:改变用户的UID为新的值,改变用户的UID时主目录下所有该用户所拥有的文件或子目录将自动更改UID,但对于主目录之外的文件和目录只能用chown命令手工进行设置。(3)usermod命令例:修改user2的UID为新的值600、所属组为wyq。#usermod–u600–gwyquser2例:修改user2的UID为新的值600、所属组为wyq。3.删除用户账号若不再允许用户登录系统时,可以将用户账号删除。使用userdel命令删除账号。命令格式为:userdel[选项]用户名参数选项:-r表示在删除账号的同时,将用户主目录及其内部文件同时删除。若不加选项-r,则表示只删除登录账号而保留相关目录。
3.删除用户账号4.锁定用户账号在系统中,有时需要临时禁止某个用户账号登录而不删除。可以采用以下两种方式之一:1)使用passwd命令锁定用户账号。命令格式为:passwd-l用户名。例:锁定用户账号user1登录。#passwd-luser1
查看Linux系统中管理用户账号的系统文件/etc/passwd,可看到其密码域的第一个字符前加了符号“!!”(若系统有密码保护则文件为/etc/shadow,可参考5.2.1)。
4.锁定用户账号2)在/etc/passwd文件中将该用户的passwd域的第一个字符前加一个*号或#号。恢复时,使用带“-u”参数的passwd命令。例:恢复user1用户账号登录。#passwd-uuser1Changingpasswordforuseruser1Unlockingpasswordforuseruser1passwd:Success2)在/etc/passwd文件中将该用户的passwd域的5.3组
的
管
理
5.3.1Linux的组
Linux的组有私有组、系统组、标准组之分。建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。而标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。系统组是Linux系统自动建立的。一个用户可以属于多个组,用户所属的组又有基本组和附加组之分。在用户所属组中的第一个组称为基本组,基本组在/etc/passwd文件中指定;其他组为附加组,附加组在/etc/group文件中指定。属于多个组的用户所拥有的权限是它所在的组的权限之和。
5.3组的管理5.3.1Linux的组Linux系统关于组的信息存放在文件/etc/group中。例:显示文件/etc/group内容。#cat/etc/grouproot:x:0:root,testbin:x:1:root,bin,daemon......test:x:500:group1:x:1000:user1:x:501:Linux系统关于组的信息存放在文件/etc/group中。gro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中考数学高频考点一轮复习:因式分解(含解析)
- 医学影像组学特征的统计假设检验与效能评估
- 安全培训物理管理解析
- 系统上线保障方案
- 护理交接班度考核试题(含答案解析)(二)
- 性格与职业规划
- 医学影像AI的长期随访验证
- 面试中职业规划回答模板
- 主题教育活动演讲稿-1
- 急诊成人社区获得性肺炎临床实践指南总结2026
- 四川蒙顶山理真茶业有限公司公开招聘2名任务制员工笔试历年常考点试题专练附带答案详解2套试卷
- 广东深圳市华睿欣能投资控股集团有限公司2026届校园招聘笔试备考题库及答案解析
- 2026浙江省创新投资集团有限公司招聘备考题库含答案详解(能力提升)
- 2026年春节后复工复产“开工第一课”安全生产培训课件
- 2026年部编版新教材道德与法治小学三年级下册教学计划(含进度表)
- 探秘黄河-中国的河流(第三课时)设计
- 【初中语文】九年级语文春季开学第一课(新教材统编版)
- 2026年ESG专项知识考试题目
- 第五章重力测量课件
- xx公司成立十周年晚会暨颁奖庆典课件
- 中医护理耳穴压豆陈家琦课件
评论
0/150
提交评论