一、用户信息文件/etc/passwd文件剖析
【查看/etc/passwd的帮助信息 man 5 passwd】
【查看系统中所有的用户数 wc -l /etc/passwd】
文件格式:
root:x:0:0:root:/root:/bin/bash 【7部分】
用户名:密码位:UID【用户的数字标识】:GID【缺省组标识号】:注释性的描述信息:宿 主目录:shell
Linux用户分类:
超级用户(root,UID=0)
普通用户(UID=500~60000) //最大值在理论上是可以更改的
伪用户/特殊用户(UID=1~499)
伪用户特点:
1、伪用户与系统和程序服务相关
如:bin、daemon、shutdown、halt等,Linux系统默认的伪用户
如:mail、news、games、apache、ftp、mysql及sshd等,与Linux 系统进程相关的伪用户
【像MySQL是在安装时自动添加到配置文件中的。】
2、伪用户通常不需要也或无法登录系统
3、可以没有宿主目录
【伪用户机制确保了系统的安全!】
用户组说明:
1、每个用户都至少属于一个用户组
【在管理系统时,每个用户都应该隶属与自己的组,这样,每个用户才会“各司其职”,拥有自己 所特有的权限,才不至于“天下大乱”】
2、每个用户组可以包括多个用户,一个用户可以同时隶属多个组
3、同一组的用户享有该组所共有的权限
其他说明:
注释性描述 例如存放用户全名、该名用户所隶属的部门等信息
宿主目录 用户登录系统后的缺省目录
命令解释器 用户使用的Shell,默认为bash
实例:手工添加用户
【在了解了/etc/passwd文件结构之后,我们不用命令useradd,就可以手工添加用户】
(1)添加 tom::502:502:test user:/home/tom:/bin/bash一行
(2)创建tom的宿主目录:mkdir /home/tom
(3)改变该目录的所有者: chown tom /home/tom
(4)编辑/etc/shadow
添加tom::16023:0:99999:7:::
(5)cp /ect/skel/*.* /home/tom
【新用户信息文件:/etc/skel,这里面保存了新用户的一些配置文件,只要将其全部拷贝到/home/tom下面,则该用户与useradd来的用户无异】
(6)passwd tom //生成tom的密码
二、用户密码保存文件/etc/shadow剖析
【查看/etc/shadow文件帮助信息: man 5 shadow】
文件格式:
xiaofang:irKpphTBcTrJy.yFrB9I.wcgN50mQOmvl.M.:16023:0:99999:7::: 用户名:加密密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:帐号闲置时间:失效时间:标志【一般不使用】
其他信息说明:
最小时间间隔:两次修改密码之间的最小天数
最大时间间隔:密码保持有效的最多天数,可以强行使用户修改密码
三、Linux密码机制
【查看root密码信息 grep root /etc/passwd /etc/shadow】
将密码回写回去:pwunconv 【商业版的UNIX并不提供这个工具】
此时/etc/shadow文件不存在了
密码转换 :pwconv
此时/etc/shadow又回来了
即:每当系统创建密码时,总是自动执行密码转换动作。
【验证用户名时检验/etc/passwd文件, 验证密码时校验:/etc/shadow】
四、用户配置文件/etc/login.defs简单分析
CREATE_HOME yes //创建用户的同时,创建宿主目录
U MASK 077 //缺省用户创建文件或目录的权限
【各种选项都会在语句上面有详细的说明】
用户配置文件/etc/default/useradd简单分析
INACTIVE=-1 //表示用户创建时默认是不被禁用的,0-默认禁用
EXPIRE= //帐号的失效时间
SHELL=/bin/shell //用户默认shell,将其改为/sbin/nologin,则新用户默认无法登录
SKEL=/etc/skel //新添加用户的默认配置文件原来保存的位置
CREATE_MAIL_SPOOL=yes //添加用户时,是否创建保存用户邮件的文件
四、登录信息
/etc/motd 用户登录之后显示的信息,可以用于内部人员的通知信息
/etc/issue 用户未登录时显示的信息,不建议使用原来的内容,可以用来显示公共信息
【附:生成加密的密文:echo “123456” | md5sum】