-
基于帐号的访问控制
1.用户帐号简介
(1)用户帐号 UID
作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限
唯一标识:UID(编号从0开始的编号,默认最大60000)
----超级用户root ( 0 ) 系统用户( 1--999 ) 普通用户( 1000 )
管理员root的UID:永远为0
普通用户的UID:默认从1000开始
组帐号 GID --- (用来区分权限,不用于登录)
作用: 方便管理用户
唯一标识:GID(编号从0开始的编号,默认最大60000)
原则:Linux一个用户必须至少属于一个组
----基本组(私有组):一般情况与用户同名,一个用户必须有基本组,基本组只能有一个
----附加组(从属组):一个用户可以有多个附加组,也可以没有附加组
2.存放用户数据文件位置
(1)存放用户基本信息的配置文件
/etc/passwd/ 存储所用用户的基本信息的配置文件,每个用户为一行
----创建用户 ~] # useradd xtt
(2)7个字段的意义:
用户名:密码占位符:用户UID:用户所属基本组GID:用户描述信息(一般为空):家目录:解释器程序(默认为/bin/bash)
(3)命令useradd
格式:useradd [选项]... 用户名
常用命令选项
-u:指定 用户UID # UID一般从最近开始增加,当上一个UID为60000时,下一个UID从最小的开始
-d:指定宿主目录(家目录),默认为 /home/用户名 # 不能创建已在的目录,不能创建嵌套多层目录,但用户能创建
-G:指定所属的附加组,-g指定基本组
-s:指定用户的登录解释器,默认为/bin/bash /sbin/nologin :禁止用户登录操作系统
(4)命令groupadd #创建组
~]# groupadd admins
(5)命令 id 用户名( 如 id tedu ) #查询用户基本信息
(6)usermod #修改用户属性
–格式:usermod [选项]... 用户名
-l:更改用户帐号的登录名称
-u:用户UID
-d:家目录路径 #不会新建用户的家 默认在 /home
-md:将用户原有的家目录进行移动,并设置相应的权限。原有的家目录会消失
-s:登录解释器
-G:附加组 #重置附加组
(7)passwd命令
passwd 命令,支持交互式设置密码
--stdin : 从标准输入(比如 | )取密码
普通用户自己修改密码必须符合密码安全性要求(8位带特殊符号的字符)
非交互式设置密码:
(8)切换用户名帐号
su - tedu
3. 存放用户的密码信息 /etc/shadow
(1)9字段意义:
字段1:用户帐号的名称
字段2:加密后的密码字符串,没设置密码时显示 !!
字段3:上次修改密码的时间(从1970-1-1开始计算到上一次修改日期所经历的天数)
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
(2)全局配置文件 /etc/bashrc
----影响全体用户,需要重新开启终端才会生效
/etc/.bashrc :配置文件(只作用与当前用户)
(3)删除用户
userdel
格式:userdel [ -r ] 用户名
添加 -r 选项,家目录 / 用户邮件也一并删除
4. 组管理
(1)存放组信息文件/etc/group
/etc/group:组配置文件,有多少行就有多少组
(2)4个字段代表含义:
组名:组的密码占位符:组的GID值:组的成员列表
(3)gpasswd命令(添加附加组)
格式:gpasswd [选项]... 组名
-a:添加组成员,每次只能加一个
-d: 删除组成员,每次只能删一个
-M:定义(重置)组成员用户列表,可设置多个用户
# 删除所有组成员
(4)设置组管理员
-A:定义组管理员列表(组管理员可以属于此组也可以不属于此组)
5. 存放组管理信息
/etc/gshadow :组管理信息配置文件
(1)4个字段代表的含义:
组名:密码加密字符串:组的管理员列表:组成员列表
(2)删除组
groupdel tmooc #删除 tmooc 组
删除组账号:删除组的时候,不可以删除基本组
6. 总结
(1)配置文件
总结:用户与组重要的配置文件
/etc/passwd:用户基本信息配置文件
/etc/shadow:用户密码信息配置文件
/etc/group:组基本信息配置文件
/etc/gshadow:组管理信息配置文件
(2)总结:Linux系统执行 useradd 命令,会完成那些操作?
--会在 /etc/passwd 增加一行信息
--会在 /etc/shadow 增加一行信息
--会在 /home 新增用户家目录
--会在 /var/spool/mail 增加用户邮件文件
--会在 /etc/group 增加一行组信息
--会在 /etc/gshadow 增加一行组的管理信息
(3)总结:Linux系统执行 userdel -r 命令,会完成那些操作?
--会在 /etc/passwd 删除一行信息
--会在 /etc/shadow 删除一行信息
--会在 /home 删除用户家目录
--会在 /var/spool/mail 删除用户邮件文件
--会在 /etc/group 删除一行组信息
--会在 /etc/gshadow 删除一行组的管理信息