一、定义
Linux中一切皆文件,如果想要对文件进行操作,就要有相应的权限,本章就介绍权限的详细内容。
二、用户
2.1 用户分类
2.1.1 超级用户root
- 拥有至高无上的权限
- 字符标识为:#
- 用户UID为:0
- 可以登陆
2.1.2 系统用户
- 一般为系统自动创建的用户(也
- 每个用户都拥有一些特定的低等权限
- 用户UID为:1-999之间(Centos7)
- 无法登陆
2.1.3 普通用户
- 由root或管理员创建的用户
- 权限受到限制,只能使用指定路径的命令
- 字符标识为:$
- 用户UID为:1000-60000之间(Centos7)
- 可以登陆,也可通过修改shell环境设为无法登陆
2.2 配置文件
2.2.1 全局配置
- UID配置:/etc/login.defs
- 用户配置:/etc/passwd
- 密码配置:/etc/shadow
- shell环境配置:/etc/bashrc
2.2.2 个性化配置
- 登陆执行:/~/.bash_profile
- 登出执行:/~/.bash_lought
- 默认shell环境:/~/.bashrc
2.3 相关命令
2.3.1 用户变更
#添加用户 useradd 选项 用户名 #-M :不建立家目录创建用户(优先度高) #-s :指定用户默认shell环境 #-g :指定用户基本组名称 #-G :将新建用户添加到指定附加组 #-d :指定用户家目录位置 #-u :指定用户UID号 #-e :指定用户失效时间(YYYY-MM-DD) #删除用户 userdel 选项 用户名 #无 :删除指定用户 #-r :连同家目录一起删除
2.3.2 属性修改
passwd 选项 用户 #-d :清空用户密码 #-l :锁定用户(无法登陆) #-u :解锁用户(可以登陆) #-S :查看用户状态(是否锁定) usermod 选项 用户 #-g :更改用户基本组名 #-G :更改用户添加附加组 #-s :指定用户登陆默认shell环境 #-l :更改用户登录名 #-L :锁定用户 #-U :解锁用户 gpasswd -a 用户 组 #将用户添加到指定附加组中
2.3.3 用户查看
who 选项 #-a :显示所有信息 #-b :显示最近登陆时间 #-r :显示当前系统运行级别 w 选项 用户 #-h :不显示标题输出信息 #-l :长格式输出 #-s :短格式输出 #-V :显示版本信息 whoami #查看当前终端登陆的用户 id 用户 #显示用户的UID、所在组等信息
三、用户组
3.1 分类
- 基本组:有且只有一个基本组
- 附加组:可以有多个附加组
3.2 命令
groupadd 选项 组名 #无 :添加用户组 #-g :添加指定GID的用户组 gpasswd 选项 用户 组名 #-a :将用户添加到组 #-d :将用户从组中删除 #-M :定义组员列表(会覆盖之前的组员列表) groupdel 组名 #删除用户组
四、权限(文件/目录)
4.1 权限分类
人群 | 权限 | 特殊权限 |
属主:u | 可读:r | SUID:所有人都有属主权限 |
属组:g | 可写:w | SGID:所有人都有属组权限 |
访客:o | 可执行:x | Sticky:只有属主与root能删除 |
所有:a | 无权限:- | / |
4.2 相关命令
#修改文件权限 chmod 人群 操作 权限 文件 #操作:+/-(增加/减少) chmod xyz 文件 #xyz:权限对应的二进制数字之和 #权限对应二进制:r 4;w 2;x 1;- 0; #修改创建文件时默认的权限 umask xyz (反掩码) #xyz:权限对应的二进制数字之和的反数 #例:xyz=111 则文件创建时默认权限为666(rw-) chown 选项 用户:组名 文件 #无:修改文件的属主与属组 #-R:递归修改文件的属主与属组(目录及目录下所有内容)
五、思维导图