第六章 用户帐号管理.doc_第1页
第六章 用户帐号管理.doc_第2页
第六章 用户帐号管理.doc_第3页
第六章 用户帐号管理.doc_第4页
第六章 用户帐号管理.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章 用户账号管理一、 用户账号数据文件- /etc/passwd和/etc/shadow在进行用户账号管理前,必须先具备与“root”同一等级的权限账号(也就是与root属于同一组的所有成员)root是Linux中权限最高的账号,它可以在系统中执行任何的设置。通常不建议使用root登陆到系统上,可以用普通用户登陆,如要切换,可用“su-”命令来进行切换变更。Linux中的所有账号数据全部记录在/etc/password文件中,以下是/etc/password内容范例:rootlinux1 /root# cat /etc/passwordrootlocalhost # more /etc/passwdrootlocalhost # less /etc/passwd 以上三种查看效果都一样root:x:0:0: root: /root:/bin/bashbin: x: 1:1: bin: /bin:.在/etc/password文件中,每一行都代表一个用户账号数据,而每一用户的数据中都是以“:”来区分不同的字段记录,其中包含的字段有7种,都说明着不同意义:字段1字段2字段3字段4字段5字段6字段7登陆名称密码UIDGID用户信息主目录登录ShellRootX00Root/root/bin/bashApacheX4848Apache/war/www/bin/falseMysqlX2727MySql Server/var/lib/mysql/bin/bash登陆名称:就是用户账号,它是由root或具有相等权限的管理员所指定,每个用户在登陆系统时都必须指定的登录名称。密码:是加密过的密码(Encrypted Password),通常都是以一个“x”来表示,若是显示“*”则表示此账号被听用。注意:不要在此文件中修改密码,否则会直接显示变更后的密码,安全性差。UID:(User ID)在Linux中的每个账号都有一个唯一的识别号码,最多可达65536。其中root的UID为0。编号500之前的UID都提供系统服务使用的。管理员新增的第一个账号UID为500,依次类推GID: 在Linux中的每个组都有一个唯一的识别号码,这些组的内容包含于/etc/group文件中,root所在的组的GID为0。管理员新增的第一个账号GID为500,依次类推用户信息:账号附加信息。主目录:用户在登录后会直接进入的目录。主目录都会指定在/home/$USERNNAME目录。例如用户ag的主目录就是在/home/ag,而唯一例外的是,root管理员的主目录位于/root目录。登录Shell:用户在登录时使用的shell,默认使用的shell为/bin/bash。l 在图形界面中,内置了一个名为“Red Hat User Manager”图形化工具,可以提供许多用户账号信息以及与管理有关的设置,l 要使用此工具,选择“K菜单”/“程序”/“系统”/“User Manager”选项,系统就会打开“Red Hat User Manager”图形化工具窗口,选择账号名称,再单击上方的工具栏中的“Properties”按钮。1) 在/etc/password文件中新增账号直接在/etc/password文件中编辑,适合用于大量账号时使用。例如:要创建一个名为john的账号,他的UID为600,GID也是600,用户主目录位于/home/john,而用户的shell为/bin/bash,创建如下:在/etc/password文件中新增以下的一行记录:john:x:600:600: :/home/john: /bin/bash在/etc/password文件新增记录后,接下来创建用户的主目录,创建后用“ls”命令检查,创建如下:rootlinux1 /root# mkdir /home/johnrootlinux1 /root# ls /homejack john totti ag利用“chown”命令以修改目录存取权限。rootlinux1 /root# chown john /home/john 用户登录后,利用passwd命令以修改密码:rootlinux1 /john$ passwd2) 在/etc/shadow文件/etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由/etc/passwd 而产生的,这两个文件是应该是对应互补的;shadow内容包括用户及被加密的密码以及其它/etc/passwd 不能包括的信息,比如用户的有效期限等;/etc/password的默认权限是644,而etc/shadow的默认权限是600,所以只有 root可以读取及写入,增加系统的安全性。在etc/shadow文件中,密码是以MD5的算法来加密,即使root也无法看到其内容,但是root 可以将密码变更或停用某个账户。权限如下:rootlinux1 /root# cat /etc/shadow-r- 1 root root 1.5K 10月 16 09:49 /etc/shadow二、 组账号数据文件- /etc/group和/etc/gshadow在帐号管理时应为“组”为管理的基本单位,不要将资源的存取权限授予用户,而是要授予组。然后资源有相同的需求的用户编入同一个组中,这样每个组成员都可以拥有该项资源的存取权限,节省维护时间。在Linux中,所有组帐号数据全部记录在/etc/group文件中,l /etc/group 内容具体分析/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:group_name:passwd:GID:user_list在/etc/group 中的每条记录分四个字段:第一字段:用户组名称;第二字段:用户组密码;第三字段:GID第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;我们举个例子:root:x:0:root,linuxsir 注:用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root、linuxsir以及GID为0的其它用户(可以通过/etc/passwd查看);beinan:x:500:linuxsir 注:用户组beinan,x是密码段,表示没有设置密码,GID是500,beinan用户组下包括linuxsir用户及GID为500的用户(可以通过/etc/passwd查看);linuxsir:x:502:linuxsir 注:用户组linuxsir,x是密码段,表示没有设置密码,GID是502,linuxsir用户组下包用户linuxsir及GID为502的用户(可以通过/etc/passwd查看);helloer:x:503: 注:用户组helloer,x是密码段,表示没有设置密码,GID是503,helloer用户组下包括GID为503的用户,可以通过/etc/passwd查看;而/etc/passwd 对应的相关的记录为:root:x:0:0:root:/root:/bin/bashbeinan:x:500:500:beinan sun:/home/beinan:/bin/bashlinuxsir:x:505:502:linuxsir open,linuxsir office/home/linuxsir:/bin/bashhelloer:x:502:503:/home/helloer:/bin/bash由此可以看出helloer用户组包括 helloer用户;所以我们查看一个用户组所拥有的用户,可以通过对比/etc/passwd和/etc/group来得到;l /etc/gshadow 解说/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码;/etc/gshadow 格式如下,每个用户组独占一行;groupname: password: admin,admin,.: member,member,.第一字段:用户组第二字段:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;第三字段:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用,号分割;第四字段:组成员,如果有多个成员,用,号分割;三、 使用useradd或adduser命令新增用户账号由于编辑/etc/passwd来新增用户帐号,但修改烦琐,并且若存在/etc/shadow文件即会使所有的编辑失效。利用useradd或adduser命令来新增用户帐号:rootlinux1 /root# ls l /user/sbin/useradd /user/sbin/adduserlrwxrwxrwx1root root 7 11月17 07:53/user/sbin/adduser -useradd-rwxr-xr-x1 root root 52236 8月27 18:19/user/sbin/useraddadduser命令只是useradd命令的一个链接,二者功能相同。在使用新增帐号命令时候,要先使用“finger”命令来检查欲新增的帐号是否已存在,避免因重复而失败。“finger”命令用来显示用户信息。rootlinux1 /root# finger johnfinger:alice:no such user. -说明可以创建帐号,没人使用。rootlinux1 /root# /useradd john或rootlinux1 /root# /useradd d /home/alice u 550 g 501 s /bin/bash alice使用上面的方法是在useradd命令中使用参数来设置帐号内容,参数如下:参数说明-c将备注文字加入passwd的备注栏中-d指定用户登录时的主目录,这个目录必须在帐号前已存在-e指定帐号的有效期限-f指定在密码过期后多久即关闭该帐户-g指定用户所属的组,这个组ID必须先定义在/etc/group文件中-s指定用户登录后所使用的shell-u指定用户IDl 还可以在图形界面中,内置了一个名为“Red Hat User Manager”图形化工具,来新增用户帐号,l 单击上方工具栏中的“New User”按钮,在出现的“Create New User”进行设置。在新增用户帐号后,管理员有能需要更改帐号的内容,可以利用“usermod”命令来进行帐号内容的修改,使用方法及参数与,如下表:参数说明-c修改用户帐户的备注文字-d修改用户登录时的起始目录-e修改用户帐号的有效期限-f修改在密码过期后多久即关闭该帐户-g修改用户所属的组-l修改用户帐户的名称-s修改用户登录后所使用的shell-u修改用户ID四、 使用passwd管理密码注意:刚才利用useradd或adduser命令来创建新帐号,但目前并无法使用,因为与帐号对应的密码还未指定。指定用户的密码使用的命令是-passwd。无论管理员和普通用户都可以进行变更。唯一不同的是:管理可以指定任何用户的密码,而普通用户仅仅只能指定自己本身的帐号。jacklinux1 /jack$ passwdchanging password for jack(current) UNIX password: - 输入目前所使用的密码New UNIX password: - 输入新的密码Retype new UNIX password: - 再次输入新的密码Passwd: all authentication tokens updated successfully 参数使用:1 -d 删除密码 (Delete)该参数使用可以删除原来帐号使用的密码,也就是说该帐号登录时,系统并不会要求输入密码。rootlinux1 /root# passwd d tottiChanging password for user tottiRemoving password for user tottiPasswd: Success注意:也可以利用/etc/passwd和etc/shadow文件来删除用户密码,只需将密码字段中的“x”或“! !”清除即可。2 -l 锁定帐号 (Lock)为了避免该帐号被不当使用,可以暂时将该帐号锁定,等需要再开。rootlinux1 /root# passwd l tottiChanging password for user tottiLocking password for user tottiPasswd: Success注意:也可以利用/etc/passwd文件中,在欲锁定的账号名前加上“#”或“*”3 -u 打开锁定帐号 (Unlock)当账号处于锁定状态,使用该参数解除锁定,但注意的是,当该账号的密码为空的话,则解除锁定的命令是无效的,必须要加上“f”参数来进行强制打开此账号。rootlinux1 /root# passwd u tottiChanging password for user tottiUnlocking password for user tottiWarning: unlocked password for totti is the empty string.Use the f flag to force the creation of a passwordless account.Passwd: Unsafe operation - 打开失败rootlinux1 /root# passwd -u -f tottiChanging password for user tottiUnlocking password for user tottiPasswd: Success4 -S 显示帐号密码信息显示账号使用的密码信息,了解此账号的密码是否为空、关闭或有设置密码等。rootlinux1 /root# passwd S totti五、 使用groupadd命令新增组账号新增组账号的方法和创建用户账号的方法一样,只要直接输入命令以及组名称即可。若要指定组识别码(GID),可以使用参数“-g”,若没有指定任何参数系统会自行由编号500开始依序分派给新增的组使用。例如,指定其识别码为600的范例:rootlinux1 /root# /usr/sbin/groupadd g 600 testgroupadd: gid 600 is not unique - 组识别码重复注意:可以使用参数“-o”来取代原有的组识别码 需要更改账号的内容,利用“groupmod”命令来进行组账号内容的修改,参数如下表:参数说明-g设置组识别码-o重复使用组识别码-n设置组名称例如:将tom组识别码变更为620,同时将组名称更改为sam:rootlinux1 /root# /usr/sbin/groupmod g 620 n sam tom六、 删除用户及组账号删除用户账号不仅仅是单纯的删除账号而已,还要将有关账号的使用的目录空间也要一并删除,才能完全清除账号数据。通常删除用户账号时,以下需要注意的事项,以totti 为例: 在/etc/passwd文件中删除用户的记录totti: x:502:502 : : /home/totti: /bin/bash 在/etc/shadow文件中删除用户的记录totti:$dajflDd489idka892lkjdljfafdaDd.:11614:0:99999:7:14523584 在/etc/group中将用户的记录删除totti: x : 502: 删除用户的主目录(/home/totti)rootlinux1 /root# rm fr /home/totti参数“-f”(force)是用来强制删除文件或目录,而参数“-r”(Recursive),是指将目录下的所有文件及子目录一同处理。 删除用户的电子邮件。信箱里存放有太多的数据,不删除造成资源的浪费,通常一般用户的电子邮件存储在/var/spool/mail的目录下。rootlinux1 /root# rm /var/spool/mail/totti在创建账号时,系统会自动创建该账号隶属的组,但是在删除用户账号时,系统并不会自动删除组,删除组账号如下:rootlinux1 /root# /usr/sbin/groupdel totti注意:如果该组的任何成员在登录系统中,则无法删除删除组账号。七、 管理帐号常用的命令1、 显示自身的用户名称 - whoamirootlinux1 /root# whoamirootrootlinux1 /root# id unroot2、 显示目前所有登录用户信息 - w执行“w”命令可以显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论