《Linux系统与网络管理08-用户管理.ppt》由会员分享,可在线阅读,更多相关《Linux系统与网络管理08-用户管理.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1Linux系统与网络管理第八章 用户管理2用户o用户n新用户在Linux系统内要有一个帐号和工作环境。n帐号包含了用户名、口令和UID、GID。o用户名用户名是用户用于登录Linux系统使用的名字,该名字在同一系统上必须唯一,用户名存在/etc/passwd中。o口令口令对应于用户名的登录密码,存在/etc/shadow中。oUID和和GID决定了该帐号所具有的权限,不同的帐号可以使用同样的UID和GID,则这些帐号具有相同的权限。3用户n工作环境包括:用户的家目录、用户使用的shell、用户的登录脚本、登入欢迎信息等等。o用户家目录用户家目录:用户登录成功后所在的目录。里面存放与用户有关的
2、配置文件。用户对家目录具备所有的操作权限。在/etc/passwd中设定。o用户使用的用户使用的shell:也是由/etc/passwd来指定。o用户登录的脚本用户登录的脚本:存放于用户的家目录下,默认是从模板/etc/skel目录进行复制(如.bashrc、.bash_profile等等)o登入欢迎信息登入欢迎信息:存放在/etc/motd文件中。4用户数据库/etc/passwdo/etc/passwd文件n该文件是所有用户都可读,但只有超级用户可写。n该文件中的每一行用于描述系统中的一个帐号,依次由以下几个字段组成,字段之间用冒号分隔:用户名:口令:用户名:口令:UID:GID:注释信息
3、:家目录:注释信息:家目录:shell注意:即使该字段为空白,也要用冒号分隔。n口令域是一个“x”,表示密码文件存在于/etc/shadow中,早期的passwd文件直接包含了口令,如果将旧系统的passwd文件移植到新系统,可以使用pwconv命令,把口令从passwd中移到shadow。5用户数据库/etc/passwdn一般说来,用户的登录名不应该超过八个字符登录名不应该超过八个字符。因为不同的unix操作系统在处理长用户名的时候其方法是不一样的。n登录的shell不必一定是shell,任何可执行程序任何可执行程序都可以都可以。npasswd文件是普通的文本文件,因此可以手工修改文件中的
4、用户信息。手动修改passwd最好使用vipw命令,避免多人同时修改passwd文件而导致文件被破坏。6用户数据库/etc/shadowo/etc/shadow文件n将口令从passwd分离到shadow文件是出于安全性的考虑,一定程度上减少了对口令文件字典攻击的可能性。nshadow文件只有超级用户有读取权限。nshadow文件中每一行包含以下几个部分:o登录名。o加密过的口令。o从1970年1月1日起计算,该口令修改后已经过去了多少天。7用户数据库/etc/shadowo需要再过多少天才能修改这个口令。o需要再过多少天这个口令必须被修改。o需要在这个口令失效之前多少天对用户发出提示警告。o
5、口令失效多少天之后禁用这个账户。o从1970年1月1日起计算多少天,该帐号将被禁用。o保留域。o每个用户的数据占用一行,彼此用冒号冒号隔开。如下面的例子:8用户数据库/etc/groupo/etc/group文件n在/etc/passwd中包含每个用户缺省的GID,在/etc/group文件中,这个GID被映射到该用户分组的名称以及同一分组中的其他成员。ngroup文件中每一行的格式如下所示:用户分组名:加过密的分组口令:用户分组名:加过密的分组口令:GID:成员清单:成员清单o缺省是不带分组口令的,一般情况下组口令是禁用的。如果设置了组口令,则组口令存在于/etc/gshadow中。o每一个
6、数据域还是以冒号冒号隔开的o成员清单以逗号逗号分隔的9用户管理增加用户o增加用户nuseradd命令o语法:useradd 选项选项 用户名用户名o默认情况下(不接任何选项),用/etc/defaults/useradd文件指定的缺省值来指定帐号的属性。o常见选项:n-u uid 用户的UID值。数字不可为负值。n-g defaultgroup 指定该用户登录使用的群组。n-c comment 该用户的注释说明。n-d home_dir 指定用户的家目录。n-m 用户家目录不在则自动创建。10用户管理增加用户n-k skel_dir 指定用户模板目录,默认是/etc/skel。n-s shel
7、l 指定用户使用的shell。n-e expire_date 帐号终止日期。日期的指定格式为YYYY-MM-DD n-f inactive_days 帐号过期几日后永久停权。值为0时帐号则立刻被停权。值为-1时则关闭此功能,预设值为-1o修改用户属性nusermod命令o语法:usermod 选项选项 用户名用户名o常见选项和上面所述useradd一样。11用户管理修改用户属性nuseradd命令o该命令也可以用来修改用户的默认属性。(即修改/etc/defaults/useradd文件)o语法:useradd -D 选项选项o常见选项:n-b home_dir 修改默认的用户家目录n-e e
8、xpire_date 修改默认帐号的终止时间n-f inactive_days 修改默认帐号过期后几天停权n-g defaultgroup 修改默认帐号的组n-s shell 修改默认帐号的shell12用户管理修改用户属性nchage命令o功能:用于改变用户口令的期限o语法:chage 选项选项 用户名用户名o默认情况下(不接任何选项),是通过交互式的提示进行各项的设定。o常用选项:n-m mindays:口令最小有效时间n-M maxdays:口令最长有效时间n-w warn:口令失效前几天开始警告n-I inactive:口令失效后几天禁用该用户n-E expiredate:指定帐号禁用
9、的时间,可以直接用数字表示从1970年1月1日以来的天数,也可以指定日期,如11/14/08或2008/11/1413用户管理删除用户o删除用户nuserdel命令o功能:用于删除一个用户o语法:userdel -r 用户名用户名o选项-r可以用于清除用户的家目录。o注意:注意:删除用户时如果保留了该用户在系统上的文件,则需要把该用户遗留的文件收集到一个专用目录,并设置好访问权限,否则会带来安全隐患。因为再创建新用户时,会使得新用户使用了已删除用户的UID,可以访问到任何没有删除的、属于已删除用户的文件。14用户管理增加组、删除组o增加组ngroupadd命令o功能:用于添加一个新组o语法:g
10、roupadd 选项选项 组名组名o常用选项:n-g gid:指定增加组的gido删除组ngroupdel命令o功能:用于删除一个组o语法:groupdel 组名组名15用户管理修改组属性o修改组属性ngpasswd命令o功能:group的管理工具,主要用于组成员的编辑。o语法:gpasswd 选项选项 组名组名o默认情况下(不接任何选项)是设置组的口令,前面已经提过,组口令在现在的系统中没什么作用了。o常用选项:n-a user:添加一个用户到指定组中n-d user:从指定组中删除一个用户ngroupmod命令o功能:用于修改组的GID和组名16用户管理修改组属性o语法:groupmod
11、选项选项 组名组名o常用选项:n-g gid:修改指定组的GIDn-n group_name:修改指定组的组名nusermod命令o该命令也可以用来编辑组的成员。o用法为:usermod -G 组组1,组组2,.用户用户名名o说明:这样可以使用户加入到指定的组中,列表中未列出的组若包含该用户,则自动将该用户从该组中移出。17用户管理修改组属性思考:思考:假设假设/etc/group中包含如下信息:中包含如下信息:NBA:x:501:Iverson,KobeRockets:x:502:McGrady,ArtestCBA:x:503:Yao,Yi1)现在要求在)现在要求在NBA组中增加用户组中增加
12、用户Yao,Yi,在,在Rockets组中增加用组中增加用户户Yao,用两种方法实现(,用两种方法实现(gpasswd和和usermod)。)。2)把)把CBA的的GID改为改为666,CBA组名改为组名改为China答案:答案:1)方法一:)方法一:gpasswd -a Yao NBA gpasswd -a Yi NBA gpasswd -a Yao Rockets 方法二:方法二:usermod -G NBA,Rockets,CBA Yao usermod -G NBA,CBA Yi2)groupmod-g 666 CBA groupmod -n China CBA18用户的环境o用户的环
13、境n系统环境文件系统环境文件:/etc/profile和/etc/bashrc,由系统管理员维护;n用户环境文件用户环境文件:家目录下的.bash_profile和.bashrc,由用户自己进行维护。n大多数环境变量即便是系统环境文件中已设置了,可以到用户环境文件中重新设置。n查看当前变量的设置用不带选项的set命令。n查看在当前环境下定义的,已经输出了的设置,用env命令。19用户的安全性o口令的安全n选择强口令o不使用正常的英文单词或用户名字o使用字母(大小写混合)和数字o使用特殊符号n使用口令时限的功能,定期修改口令oroot帐号的安全n尽可能不要给普通用户root帐号,如果普通用户需要
14、执行某些超级用户才能执行的命令,可以采用以下两种方式:o设置SUID或SGIDo使用sudo20用户的安全性n尽量不要用root帐号直接进行远程登录(telnet),应用普通用户登录后,用su切换到超级用户。o尽量不要创建匿名帐号(无口令)o设置好umasknumask是通过8进制数666减去后所描述的权限,默认为022,即缺省权限为644。n系统的umask在系统环境文件系统环境文件设置,用户可以用户环境用户环境文件文件重新设置。o设置警告信息(day信息)n修改/etc/motd文件,警告入侵者21登录进Linuxo使用gettyngetty程序是传统的用于启动登录进程的程序。o它设置终端
15、的线速率(波特率),并发出登录的提示符。o它使用mingetty程序,一个用于虚拟控制台的最小的getty程序。nmingetty程序用于设置终端的特征,允许login程序打出提示符,然后接收用户名和口令。nmingetty由init运行,一旦init启动,它就读取/etc/inittab,根据配置产生所有运行级别所需要的mingetty。nmingetty调用login,登录成功后,login又调用一个shell。22登录进Linuxo登录缺省值n登录缺省值在/etc/login.defs里定义。nlogin.defs文件里主要包含以下的设置:o用户邮件的位置o口令最小时间、最大时间、警告时间o口令的最小长度oUID的最小值和最大值oGID的最小值和最大值23登录进Linuxo使用终端登录n登录成功后,用户可以使用stty命令改变当前串行线的配置。o当前终端的设置可以不带选项的stty列出o用stty a 查看所有的设置o查看当前是哪个终端用tty命令n网络终端使用pts/x系统o终端数据库n存在于/usr/share/terminfo目录下
限制150内