职业教育新东方网 > 职业教育 > 计算机 > Linux认证 > 备考辅导 > 综合辅导 > 文章正文

Linux学习笔记之用户登录

分享到:

2011-09-26 14:05  作者:  来源:互联网  字号:T|T

  在用户登录系统时侯,用到最主要的文档就是/etc/passwd、/etc/shadow 两个文档。

  介绍之前,我们可以查看这两个文档的基本情况:[huang@myhost/etc]$ ls -ld ./passwd -rw-r——r—— 1 root root 509 Sep 8 23:14 ./passwd

  [huang@myhost/etc]$ ls -ld ./shadow -rw—— 1 root root 287 Sep 8 23:56 ./shadow用户登录简单流程:用户在login中输入用户名和密码,系统首先会在/etc/passwd文件中查找用户名,如果文件里没有该用户名,则返回未登录状态;如果有该用户,从文件中读取用户UID、GID、用户家目录和shell.然后到/etc/shadow文件中核对该账户的密码是否与该文件中记录相匹配,匹配登录成功,用户转到shell输入下;否则转到未登录状态。从上面可以看到/etc/shadow文件普通用户是不可读的,只有root有读写权限,并且文件拥有者为root,文件所属用户组为root,这种权限设置主要就是为了保障记录有账号信息的文件安全,不能轻易被人看到。

  下面来仔细看一下这两个文件内容(部分内容省略):[huang@myhost/etc]$ vim ./passwd……

  root:x:0:0:root:/root:/bin/bash huang:x:1000:1000::/home/huang:/bin/bash……

  可以清晰的看到,每一段对应着一个用户,而每个用户对应着7个字段,下面分别介绍每个字段的具体含义:第一字段: huang 用户名第二字段: x 表示用户密码存放在文件/etc/shadow里第三字段: 1000 用户huang的UID第四字段: 1000 表示用户huang所属的用户组ID为1000第五字段: 空 这个字段为用户信息说明栏,并没有很重要的用途第六字段: /home/huang 用户huang的家目录,用户存放的文件和软件的配置的地方第七字段: /bin/bash 表示用户huang使用的shell为bash,在/bin目录下从上面7个字段的内容来分析一下root这一行:用户名为:root,密码存放在/etc/shadow文件里面,用户UID和组GID都为0,用户说明信息栏为root,家目录为/root,使用的shell为/bin/bash.

  下面我们再来看另外一个很重要的文件:/etc/shadow.为了保障系统的安全,这个文件默认权限:root读写,其他用户不可读。因此要查看该文件,必须得把权限提升到root级别。

  [huang@myhost/etc]$ sudo vim ./shadow root::15097::::::bin:x:14871::::::dbus:!:15097:0:99999:7:::huang::15225:0:99999:7:::avahi:!:15106::::::hal:!:15106:0:99999:7:::test:!:15225:0:99999:7:::从上面看到,每一行都有9个字段,跟解释/etc/passwd文件一样,来解释这个文件每个字段的具体含义:第一字段: huang 用户名第二字段: 空 密码字段,由于这台电脑为我个人电脑,我天生就是个懒人,所以我把密码给删掉了,每次输入用户名再加ENTER键就OK了,纯粹图简单而已。但是如果是服务器或者多人使用的电脑就不能这样搞了,切记!

  第三字段: 15225 记录的是最近修改密码的时间。呃? 是真是假阿? 咋看上去这明明是数字,怎么会是时间呢?解释一下,这是已经规定了的,这个数字代表的是从1970年1月1日(作为1)算起到我最近修改密码的天数,如果大家有闲情可以算。

  第四字段: 0 表示在多少天后才能修改密码,意思就是说,在这个期限内,用户是不能自己修改密码地。主要是给那些吃饱没处发泄的那些儿郎,闲的闷骚,没事把密码反复的改过来改过去,改过来改过去。

  第五字段: 99999 表示账号过期的时间,99999表示该账号在我有生有之年有是有不会过期的,你懂的!

  第六字段: 7 表示账号在过期7天之前就会给出通知第七字段: 空 表示账号失效宽限时间,意思就是说,用户在账号密码过期之后,在该字段的天数之内还能暂时的等录,如果超过了这个天数,还没有修改密码,以后就别等了!

  第八字段: 空 账号的失效日期,这个字段在有些收费服务中使用,像什么临时账号啊。格式跟第三个字段一样,都是从1970年1月1日(为第1天)算起到终止的时间总共的天数。

  第九字段: 空 该字段为保留字段,可能在某年某月某日新定义了某个新用途,俺现在就不得而知了。

  补充:在正常情况下第二个字段是非空的,而是一串看起来是毫无规律的字服串,一般情况下是将用户密码经MD5处理后的摘要值,这个比直接存储用户密码要俺全一些,但是这也不是绝对的安全,而且并不是所有的都是经果MD5处理的,有些是用其他加密算法,其安全性本质上没有多少提高。当然,系统是允许用户自己更改算法的。

(责任编辑:单月)

 

热点课讯

精彩问答

提问