超级用户:root uid=0
系统用户:不需要登陆系统,服务于应用程序,维护系统的运行
普通用户:可以登录的用户 uid>=1000(Linux6版本uid>=500)
1)/etc/passwd:保存用户信息的文件
举例:查看开头第一行
用户名:密码占位符:uid:gid:描述信息:家目录:登录shell
2)/etc/shadow:保存用户密码相关信息的文件
举例:倒序查看最后一行
1)用户名
2)加密后的密码
3)上一次密码修改时间(单位是天,是距离1970年1月1日多少天)
4)密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改
5)密码最大生存周期 单位:天,密码使用的最长时间
6)密码到期前几天开始警告
7)密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天
8)账户过期时间
9)保留列
3)/etc/group:保存组信息的文件
举例:查看开头的第一行
组名:密码占位符:gid:用户列表
4)/etc/gshadow:保存组密码相关信息的文件
举例:查看最后一行
组名:加密后的密码:组管理员:组成员
对用户的操作:增加,删除,修改,查看,设置密码
查看user1用户的id
id user1
查看当前用户是谁
whoami
查看指定用户的信息
id lp
添加用户时指定选项man useradd
-c 注释性的描述信息
-d 指定用户家目录
默认情况下:root的家目录是/root
普通用户的家目录是/home
-g 指定用户的主要组,前提:组是必须存在的
-G 指定用户的附加组,前提:组是必须存在的
-s 指定用户的登录shell
-u 指定用户uid
-M 不建立家目录
-e 指定用户过期时间,日期
-f 指定用户过期时间,天数
添加用户niulang
useradd niulang
切换到niulang用户,然后退出
su - niulang
exit
查看niulang用户的id
id niulang
查看当前shell(echo可以用来打印变量)
echo $SHELL
要求区分的两种shell
/bin/bash:可登录shell,如果用户的shell是这个,那么该用户可以登录到系统中
/sbin/nologin:非登录shell,如果用户的shell是这个,那么该用户是不允许登录到系统的
举例:修改zhinv用户的shell为非登录shell
useradd -M -s /sbin/nologin zhinv
id zhinv
su - zhinv
删除的时候不会删除用户的家目录和邮箱
userdel wangwu
能添加,但是会有提示消息
useradd wangwu
-r 可以干净的删除一个用户
userdel -r wangwu
超级用户:既可以修改自己的密码,又可以修改别人的密码,并且不需要提供当前密码
普通用户:只能修改自己的密码,要求严格,并且需要提供当前密码
修改指定用户的密码
passwd niulang
-G 修改用户的附属组
-g 修改用户的主要组
-a 一般和-G联合使用,追加附属组
-u 修改用户的uid
-d 修改用户的家目录
-s 修改用户的shell
举例:指定niulang的附属组为zhinv 修改niulang的附属组为xique
用户和组的关系:组中可以没有用户,也可以有一个或者多个用户。用户只有一个主要组,可以同时属于多个组,但是除了主组以外的其他组称为附属组
组的分类:
主组:用户的默认组,也就是gid所标识的组
附属组:secondary group、supplementary group
添加组时,-g可以指定gid是多少
-g 修改组id -n 修改组名
1)指定组的管理员列表
2)向组中添加成员
3)给组设置密码
4)切换组
5)将用户从组中删除