资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第四章 用户管理和密码管理,UNIX/Linux,系统的用户和组,与用户和组管理相关的文件,用户管理命令,组管理命令,密码管理机制与管理命令,其它与用户身份和位置相关的命令,4.1 UNIX系统的用户,对,UNIX/Linux,系统的管理与使用是以用户,(user),为主体的。自然人要想使用系统,必须以某个已在系统中存在的用户身份登录,且通过密码验证后,才能进入系统,并按权限使用。对于系统中已经存在的用户,可以在图形或字符界面下登录,也可通过网络远程登录。,Unix/Linux,系统中有两类用户:超级用户和一般用户。超级用户有至高无上的权力,可做任何事情;一般用户只能在给定的权限范围内进行工作,不得越权行事。,用户又按实际的需要分成不同的组,(group),。同组用户按规定和目的享有某些共同的权限。,4.1.1用户与uid,在,UNIX/Linux,系统中每个用户都有一个用户名,(user name),,系统还给每个用户分配了一个用户标识,(uid,:,user identification),。用户,uid,是系统辨识用户的唯一标识,而用户名则是用户的外部表示。通过特殊办法可以让不同名的用户具有相同的,uid,,但建议不要这样做,因为这样会带来潜在问题。,用户信息存放在文件,/etc/passwd,中。用户标识,可用命令,id,来查询。,4.1.2 用户组,系统在创建用户时,为每个用户安排了一个归属组,(group),。,系统中的每个组都有一个组名,(group name),和一个组标识,(gid,:,group identification),。一个组是具有某种联系或关系的用户集合。比方说在某种业务方面,需要把操作某些数据文件或数据库的用户放在一个组中,以实现数据共享或共同操作。,用户组信息存放在文件,/etc/group,中。用户的组标识,也可用命令,id,来查询。,4.2 与用户管理相关的文件,与用户管理相关的文件有:,/etc/passwd,/etc/shadow,/etc/group,/etc/login.defs,/etc/default/useradd,用于对用户设置和登录项目进行控制。,4.2.1 /etc/passwd,/etc/passwd,是系统用户数据库文件,它包括系统内所有已经注册用户的信息。该文件是一个文本文件,它的每一行描述一个用户的信息,为由“,:”,分隔的七个字段。,结构为:,username:password:uid:gid:comment:dir:shell,/etc/passwd结构说明,username:password:uid:gid:comment:dir:shell,username,:用户名,必须以字符开始,不要使用大写字母。,password,:密码。,uid,:用户标识号。不同的,UNIX,系统,该项的取值范围可能不同,在,Red Hat Linux,系统中该项的取值范围在,/etc/login.defs,文件中定义。一般用户,uid,满足条件:,UID_MINuidUID_MAX,。,gid,:组标识号,说明同,uid,。,comment,:说明域。一般包括用户详细说明信息,比如用户命名,住址,电话号等。此项内容中不能包含冒号,但可以为空。,dir,:用户家目录,$HOME,,即用户登录成功后的工作目录,或当前目录。,shell,:用户登录成功后所使用的,shell,程序,也可是用户实用程序。当为空时取系统默认的,/bin/sh,。,伪用户,在,/etc/passwd,内有很多用户,事实上它包含了系统内的所有用户。,用户有很多类型,设置用户也有不同目的。有的是真实用户,可以用来登录系统,而有的则不能,但可以它的身份完成指定的任务。这种不能用于登录的用户被称为伪用户。,比如:,daemon,用于系统服务进程;,bin,拥有可执行的用户命令文件;,uucp,被,uucp,使用;,lp,被,lp,或,lpd,子系统使用。,4.2.2 /etc/shadow,/etc/shadow,是影子密码文件。当系统启用影子密码时用于存放系统内用户的加密后的密码和用户登录控制信息。其结构为:,username:password:lastchanged:minimum:maximum:,username,:与,passwd,内容对应的用户名。,password,:加密后密码。若为空表示无密码,当开头的两个字符为“,!”,表示用户被上锁,现在不可使用。,lastchanged,:从某天,(19700101),到上次修改密码时间的间隔天数。,minimum,:必须修改密码的天数间隔。,maximum,:新密码的最长有效天数。,4.2.3 /etc/group,/etc/group,是组定义文件。它是一个文本文件,每行描述一个组。结构为:,groupname:password:gid:userlist,groupname,:组名。,password,:组密码。如果此域为空,则不需要密码。可用,gpasswd,设置此密码,并由,newgrp,等命令使用。,gid,:组标识号。,userlist,:组成员元,为以逗号分隔的用户名。,4.2.4 /etc/login.defs,/etc/login.defs,文件定义了与用户创建和密码管理相关的参数。其内容如下:,MAIL_DIR/var/spool/mail#mail,目录,PASS_MAX_DAYS 99999#,密码可用的最大天数,PASS_MIN_DAYS0#,两次修改密码之间的最小天数,PASS_MIN_LEN5#,密码最小长度,PASS_WARN_AGE 7#,密码到期前给出警告的天数,UID_MIN 500#,自动选择时的最小,UID,UID_MAX60000#,自动选择时的最大,UID,GID_MIN500#,自动选择时的最小,GID,GID_MAX 60000#,自动选择时的最磊,GID,CREATE_HOMEyes#,在创建用户时,创建家目录,4.2.5其它文件,在不同,UNIX/Linux,系统的实现中,所使用配置与管理文件可能是不同的。相关的文件有创建用户的默认信息文件,/etc/default/useradd,和目录,/dev/skel,、组影子密码文件,/etc/gshadow,及其它相关的配置文件。,/etc/default/useradd,是创建用户的默认属性参考值,而,/dev/skel,是一个框架目录,当新用户创建后要将其内的文件和目录复制到新用户的家目录,并重新设置用户主、用户组和权限,以作为新用户从不同界面登录的默认配置。,4.3 用户管理命令,用户管理命令,用户删除(userdel),密码管理,4.3.1用户管理命令,用于用户管理的命令有useradd用于用户创建,usermod用于用户属性修改和userdel用户删除。,1. 增加用户(useradd),功能:创建新用户,用法:,useradd -c comment -d home_dir -e expire_date -f inactive_days-g group -G group1,,,group2,,, -m -k skel_dir|-M -n-o -r -s shell -u uid user,useradd D -g default_group -b default_home -e default_expire_date-f default_inactive -s default_shell,useradd参数,-c comment,:新用户注释信息。不含“,:”,和回车的长度,512,的字符串,-d home_dir,:新用户家目录。,-D,:显示新创建用户时的参数默认值,或为新用户设置新的参数默认值,-e expire_date,:以,MM/DD/YYYY,格式设置帐号到期日,-f inactive_days,:密码到期后,直到帐号永久停止使用时所经过的天数,默认为,-1,,表示不启用该选项,-g group,:设置新用户所属的基本组,-G group1,,,group2,,,:将新用户添加到由逗号分隔的组列表中,一个用户可同时归属多个组,-m,:创建用户家目录,并将框架目录的默认配置文件复制到该目录中,-M,:创建新用户,但不创建用户家目录,-n,:关闭创建新用户时,组名与用户名相同的,Redhat Linux,特点,-o,:允许使用,-u uid,指定一个与已经存在用户相同的,uid,。即允许不同名的用户具有相同的,uid,-r,:此为,Redhat Linux,新增选项,用于创建系统用户,-s shell,:指定用户登录,shell,,若不指定则采用系统默认,shell:/bin/bash,-u uid,:为用户指定,uid,。若不指定系统将自动分配一个。若,uid,已经被使用,则必须与,-o,配合使用,关于创建用户的说明,若不带选项运行,useradd,,比如,useradd newuser,,则使用缺省方式创建,newuser,。若在创建用户时没有创建家目录,则为保证,newuser,创建后可以登录还必须手工创建,newuser,的家目录,并修改家目录归属关系和存取权限。,创建用户时,是否创建用户家目录,取决于,/etc/login.defs,中变量,CREATE_HOME,的值。也可使用,-m,参数强制创建。,若未指定密码,则在一切准备好后,还必须经超级用户为新建用户设置或修改密码后才能正常登录和使用。,创建用户示例,1),以缺省方式创建用户,#useradd test1,2),以非缺省方式创建用户,#useradd d /usr/mytest m mytest,#,创建一个名为,mytest,的用户,且为其创建家目录,/usr/mytest,,而非默认的,/home/mytest,2. 用户删除(userdel),功能:删除用户,用法:,userdel -r user,参数:选项,-r,的作用是,在删除用户时也同时删除用户的家目录。,关于用户删除有以下说明,对于系统中不再使用的用户帐号,应尽早的删除它,因为多余用户的存在可能是安全的隐患。,在有的高级别的,UNIX,系统里,用户一旦创建,是不能从系统中删除的,用户的,uid,也不能被再重新使用,但可以通过过期或锁定的办法将它闲置起来;,对于已经登录的用户或有属于该用户程序在运行的用户来说,删除可能失败;,一般情况下删除用户时只删除,/etc/passwd,,,/etc/shadow,,,/etc/group,及相关文件中的与该用户相关的内容,而不删除用户的家目录,因为用户家目录中可能存放重要数据。对用户家目录的删除应由用户或经确认后由管理员来进行;,若要在删除用户时同时删除用户家目录,可使用,-r,选项。,3. 用户修改usermod,功能:修改用户属性,用法:,usermod -c comment -d dir -m -e expire_date -f inactive_days-g group -G group1,,,group2,,, -l newname -s shell-u uid -o -L|-U name,参数:,usermod,的多数选项与,useradd,相同,新的选项有:,-l newname,:设置新用户名,将用户名由原来的,user,变为,newname,;,-L,:将用户密码上锁,不能与,-U,同时使用;,-U,:将用户密码解锁,不能与,-L,同时使用。,4.3.2组管理命令,用于组管理的命令有groupadd、groupmod和groupdel分别用于组的创建、修改和删除。,1. 组创建(groupadd),功能:创建组,用法:,groupadd -g gid -o -r -f group,参数:,-f,:,Red Hat Linux,的特有选项,使得当创建一个已经存在的组时,不报告错误而直接退出。,-g gid,:指定新创建组,gid,,,gid,必须满足条件:,GID_MINgidGID_MAX,-o,:允许使用,-g gid,指定一个与已经存在组相同的,gid,-r,:创建系统组,(0gid /dev/null 2&1,4.5.6 设置组密码(gpasswd),功能:,每个组都可以有自己的管理者、组员和密码。,gpasswd,用于为一个组设置管理者、组员和密码等。,用法:,gpasswd -r|-R group,gpasswd -a|-d user group,参数说明:,管理者可分别使用,-a,或,-d,向组中增加成员或从组删除成员。组管理者也可以使用,-r,来删除组密码。用,-R,来取消使用,newgrp,对组的访问权。,说明:,当一个组设有组密码时,组成员可以不使用组密码而使用,newgrp,命令,但是非组成员在使用,newgrp,时要使用组密码。,4.5.7 组检查(grpck),功能:对系统认证信息库的进行检查和维护。,用法为:,grpck -r group gshadow ,参数及说明:,在默认情况下,,grpck,的执行过程中文件,/etc/group,和,/etc/gshadow,的内容将被检查,检查内容包括文件格式是否正确,组名是否唯一,组成员和管理者是否有效等。如果在检查过程中发现错误,则将提示用户删除文件中错误的行。检查过程中遇到的其它警告错误用户可以使用,groupmod,命令进行修改。,用户可以通过指定,group gshadow,来改变,grpck,的处理文件,这样可以使,grpchk,不直接处理,/etc/group,和,/etc/gshadow,文件。用户也可通过,-r,来以只读方式进行模拟处理。,4.5.8,不退出系统而改变用户组,(newgrp),功能:,使用户在不退出系统的情况下改变自己的组身份,即以新的组工作。,用法:,newgrp newgroup,说明:,su,命令可以使用户在不退出系统的情况下,而改变自己的身份,以其它用户身份工作。,newgrp,命令可以使用户在不退出系统的情况下改变自己的组身份,即以新的组工作。完成任务后,用户可以签退的办法返回至原来的自己。,若不指定,newgroup,,则仍使用原来的组标识。,4.5.9,向系统中已登录的所用户发信息,(wall),功能:,向注册到系统中工作的所用户发送广播信息,所发信息将被显示在每个用户的终端上。,用法:,wall message ,说明:,wall,可以将其后的内容,即它的变量或参数,作为信息发送。当不带变量运行时,,wall,将使用标准输入。在使用标准输入时,广播信息应以,Ctrl_D,结束。,系统允许的发送的信息最多为,20,行。当用户使用文件内容作为信息发送时,可以使用输入改道。,Wall,的工作可能会受终端接收信息状态的影响,接收信息被禁止的终端将不能收到广播信息。但是不论如何,当超级用户使用,wall,时,每个终端都将收到广播信息,同名用户也可以收到同名用户发送的信息。,
展开阅读全文