用户账号分类

Linux是真实的多用户多任务的分时操作系统。
1.root用户:最高管理员。
2.本地用户:由管理员创建,权限受到一定的限制,在自己的home目录拥有完整权限。
3.系统用户:一般是不会登陆系统的,用于维持某个服务程序运行。
UID:即每个用户的身份标示,类似于每个人的身份证。
UID根据账号的功能进行分类:
超级用户 UID:0
系统用户 UID:1 - 999
本地用户 UID:1000+ rhel6 500

系统密码的配置文件

账号信息: /etc/passwd
密码信息: /etc/shadow
我们可以查看这个文件vim /etc/passwd
root:x:0:0:root:/root:/bin/bash:号隔开,分别代表:
用户名:密码占位符:UID:GID:用户描述:用户主目录:登陆后使用的shell
(shell是用户和linux之间传递信息的一个接口)
[伪用户]
Nobady
伪用户一般和系统或者程序服务相关bin,daemon,shutdown,half。
linux默认都有这些伪用户,伪用户通常不需要或无法登陆系统,可以没有宿主目录。

用户相关命令

useradd 添加用户:
-d 目录 创建用户时指定用户主目录
-m 选项 不创建用户宿主目录
-g 用户组 指定用户所属的用户组
-G 用户组 指定用户所属的附加组
-s Shell文件 指定用户的登陆Shell
-u 用户号 指定用户的用户号
id [username] 查看指定的用户id
s1.jpg
userdel 删除用户
-r 作用是把用户的主目录一起删除
usermod 改变用户配置
参数等同于useradd,修改对应的参数。
passwd [username] 给用户设置密码
正常是通过交互式配置用户密码:
passwd username
也可以通过非交互式配置:
echo 123456 | passwd --stdin zhangly

宿主目录的默认配置

当我们创建一个用户时,默认会从这个目录
/etc/skel/
拷贝一些默认的配置当新建的用户目录。
s2.jpg

密码配置文件

使用tail -1 /etc/shadow可以查看这个文件的最后一行:
s3.jpg
文件的描述格式也是用:来分割信息。从左到右分别是:
1.用户名
2.被加密后的密码
3.最近更改密码的日期(从1970010开始到现在的时间)
4.密码不能更改的天数(最近被改过之后几天后才可以再次修改。0代表不受此限制)
5.密码过期时间(即到多少天后必须再次修改)
6.密码会在过期前7天发出警告
7.宽限天数:密码过了几天后还能修改密码
8.账号过期时间
9.保留


From zero to hero