Linux中的用户可分为三大类:超级用户,系统用户和普通用户
- 超级用户:又称为系统管理员,root用户和普通用户。
- 系统用户:与系统服务相关的用户,通常在安装的相关软件包时自动创建,一般不需要改变其默认设置。
- 普通用户:是在系统安装后由超级用户所创建的,普通用户的权限相当有限,只能对其拥有权限的文件和目录进行操作,只能管理自己启动的进程。
用户的账号信息文件/etc/passwd
/etc/passed文件为用户数据库文件,保存除密码之外的用户账号信息。所有用户都可以查看/etc/passwd文件的内容。
passed文件中每一行代表一个用户账号,而每个用户账号的信息又用“:”划分为7个字段来表示用户的属性信息。passwd文件中各个字段从左到右依次分为:用户名,密码,UID,GID,用户全名,家目录和登录Shell。其中,密码字段的内容总是以“X”来填充,加密后的密码保存在/etc/shadow文件中。
用户密码信息文件/etc/shadow
/etc/shadow文件是根据/etc/passwd文件而产生的,只有超级用户才能查看其内容。为进一步提高安全性,在shadow文件中保留的是采用SHA512安全散列算法加密的密码。由于SHA算法是一种单向算法,理论上认为密码无法破解
shadow文件中各字段的含义
- 用户名,其排列顺序与/etc/passwd文件保持一致
- 加密密码。如果是“!!“,则表示这个账号无密码,不能登录。部分系统用户账号无密码
- 从1970年1月1日起到上次修改密码的日期的间隔天数。对于无密码的账号而言,是指从1970年1月一日起到创建该用户账号的间隔天数
- 密码上次修改后,要隔多少天才能再次修改。若为0,则表示没有时间限制
- 密码自上次修改过后,多少天之内必须再次修改。若为9999,则表示用户密码未设置为必须修改
- 若密码已设置时间限制,则在过期多少天前向用户发送警告信息,默认为7天
- 若密码设置为必须修改,而到达期限后未修改,系统将推迟关闭账号的天数
- 从1970年1月1日起到用户账号到期的间隔天数
- 保留字段未使用
用户管理密码
1,useradd
格式:useradd [选项] 用户名
功能:创建用户账号,只有超级用户才能使用此命令
选项:
- -c 全名 指定用户的全称,即用户的描述信息
- -d 家目录 指定用户的家目录
- -e 有效期限 指定用户账号的有限期限
- -f 缓冲天数 指定密码过期后多久将关闭此账号
- -g GID|组名 指定用户所属的的初始值
- -G GID|组名 指定用户所属的附加组
- -s 登录Shell 指定用户的登录Shell
- -u UID 指定用户UID
2,passwd
格式:passwd [选项] [用户]
功能:设置或修改密码以及密码属性
选项:
- -d 用户名 删除用户的密码,则该用户账号无须密码即可登录系统
- -l 用户名 暂时锁定指定的用户账号
- -u 用户名 解除指定用户的账号锁定
- -S 用户名 显示指定用户账号的状态