(1) /etc/passwd文件
(6个冒号,7段)
查看文件命令:cat /etc/passwd,得到
www:x:500:500::/home/www:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
users001:x:501:501::/home/users001:/bin/bash
第三个冒号前为500,是UID
UID 分段
UID=0,表示为root用户
UID=(1~500),表示为系统用户
UID=(501~60000),表示为普通用户
注:我们可以修改用户的UID号来修改用户的类型,如果把root的UID号为500,那么root就变成了普通用户,如果把user001用户的UID改为0,那么它就拥有了root用户的超能力。
系统用户作用?
1.系统用户与系统和程序服务相关
bin、daemon、shutdown、halt等,任何Linux系统默认都有这些系统用户。
mail、news、games、apache、ftp、mysql及sshd等,与linux系统的进程相关。
2. 系统用户通常不需要或无法登录系统
3. 系统用户可以没有宿主目录
(2)/etc/shadow文件
(9个段位,8个冒号)
第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的;
第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;
第三字段:上次修改passwd口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),1971年1月1日就是366;
第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;默认值是通过/etc/login.defs文件定义中获取;
第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取;
第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;
第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;
第八字段:用户过期日期;如果这个字段的值为空,帐号永久可用;
第九字段:保留字段,目前为空,以备将来Linux发展之用;
再根据实例分析:
ban:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::
第一字段:用户名(也被称之为登录名)
第二字段:被加密的密码;
第三字段:表示上次更改口令的天数(距1970年01月01日),上面的例子能说明ban用户是通过passwd 命令来更改的,更改密码的时间距1970年01月01日的天数为13072;
第四字段:禁用两次口令修改之间最小天数的功能,设置为0
第五字段:两次修改口令间隔最多的天数,在例子中都是99999天;
第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;在例子中的值是7 ,表示在用户口令将过期的前7天警告用户更改期口令;
第七字段:在口令过期之后多少天禁用此用户;在例子中,此字段两个用户的都是空的,表示禁用这个功能;
第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;