目录
一、用户账户
1.用户账号类型
2.uid
3.用户和组的关系
4.添加账户
5.修改账户
6.删除账户的属性
7.组的增删改查
8.用户登录信息查询
二、文件/目录的权限和归属
1.chmod
2.umask
三、三种特殊权限
①超级管理员:最高权限拥有者,uid=0的用户,默认是root。
②普通用户:有一定权限的用户,但是权限受限制。
③系统(程序)用户:不是给人用的,是给程序用的,无法直接登录系统的用户。主要是出于安全性考虑,若是某个程序被攻破账户密码泄露,黑客只能攻击此程序,但是不能通过这个账户密码登录系统,保证了系统的安全性。
系统版本:Centos6和Centos7
Centons6:超级管理员uid=0 ,系统程序用户范围:1-499,普通用户范围:500-60000
Centons7:超级管理员uid=0,系统程序用户范围:1-999,普通用户范围:1000-60000
用户 是员工 组 是职位
员工 可以兼职多个岗位
总有一个最重要的身份 主要组合附加组
主要组 必须要一个组 有且唯一
附加组 可有可无 有可以有多个
默认行为当你创建一个新用户时会自动创建一个和之同名的主组
用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组
用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组
命令:useradd
基本格式: useradd [选项] 用户名
[选项] -u 创建时指定uid号
-d 创建时直接家目录,指定文件可以不存在。默认是在/home下生成一个同名文件
-M 创建时不生成家目录
-s 创建时指定shell类型,例如指定/sbin/nologin则此用户不能登录系统
-e 创建时指定账户失效时间,格式为"yy-mm-dd"
-g 创建时指定基本组
-G 创建时指定附加组
命令:usermod
基本格式:usermod [选项] 用户名
[选项] -l 修改已有账户名称,格式,usermod 更改后名称 更改前名称
-u 修改已有账户的uid号
-d 为已有账户指定新的家目录
-m 将原家目录文件移动到新家目录,与-d配合使用
-s 修改已有用户的shell用户
-e 为已有账户设置失效时间,格式为"yy-mm-dd"
-g 为已有账户修改基本组
-G 为已有账户添加附加组
命令:userdel
基本格式:userdel [选项] 用户名
[选项] -r 删除用户时将家目录一起删除
举例:
[root@test1 etc]# userdel -r zhou1 //连宿主目录一起删除
[root@test1 etc]# id zhou1 //验证
id: zhou1: no such user
[root@test1 etc]# cd /home/
[root@test1 home]# ls
lisi zhangsan
①添加组:groupadd 组名
②删除组:groupdel 组名
③组内用户管理:
组内添加用户 gpasswd 组名 -a 用户名
组内删除用户 gpasswd 组名 -d 用户名
批量添加用户 gpasswd 组名 -M 用户名,用户名。用逗号隔开
1.finger命令查询用户帐号的详细信息(finger [用户名])
2.w 查询已登录到主机的用户信息
3.who 相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。 who 命令的基本格式如下:
[root@localhost ~]# who [选项] [file]
4.users:
[root@localhost ~]#users
root
1.模式法:chmod 对谁(所有者,所属组,其他)操作(+ - =)权限 文件
谁:u,g,o,a
操作:+,-,=
权限:r,w,x(普通权限对root无效)
2.数字法:
1 2 4
x w r
面试题:
面试题:
文件夹 一定要有执行权限
你去切知道文件夹的名字才能
执行 cp /etc/issue /data/dir/ 所需要的最小权限?
/bin/cp 需要x权限
/etc/ 需要x权限
/etc/issue 需要r权限
/data 需要x权限
/data/dir 需要w,x权限
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
访问控制列表 ACL
ACL:Access Control List,实现灵活的权限管理
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加