天天看点

Linux系统知识全景个人笔记(四)——Linux权限管理

本次更新了文本处理,用户管理,网络配置的命令详解,知识导图如下

Linux系统知识全景个人笔记(四)——Linux权限管理

一:权限概述

1:权限的基本概念

在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利,在Linux 中分别有读、写、执行权限。

2:Linux用户身份类别

Linux 系统一般将文件权限分为3 类:

read(读)

write(写)

execute(执行)

3:权限作用

1)服务器中的数据价值

2)员工的工作职责和分工不同

3)应对自外部的攻击(挂马)

4)内部管理的需要

4:用户类别

user文件拥有者

group文件所属组内用户

other其他用户

特殊用户root

二:权限管理

1:普通权限管理

权限结构如下图

Linux系统知识全景个人笔记(四)——Linux权限管理

Linux 中存在三类身份:

属主(owner拥有者)

属组(group用户组)

其他用户(others)

各自有不同的权限,对于一个文档来说,其权限具体分配如下:

Linux系统知识全景个人笔记(四)——Linux权限管理

设置文件权限

命令:chmod

语法:# chmod [选项] 权限模式文档

常用选项:-R:递归设置权限(当文档类型为文件夹的时候)

a:字母形式修改权限

#chmod -R u+x 文件夹:代表给文件夹的属主增加可执行权限

#chmod -R u-x 文件夹:代表给文件夹的属主减少可执行权限

#chmod -R a=rwx 文件夹:代表给所有的用户及属组增加可读可写可执行权限

b:数字形式修改权限

文件权限与数字的对应关系

Linux系统知识全景个人笔记(四)——Linux权限管理

权限与数字对应详解

Linux系统知识全景个人笔记(四)——Linux权限管理
Linux系统知识全景个人笔记(四)——Linux权限管理

命令模式::chmod -R 要赋予的权限(数字形式) 文件名

chmod -R 777 test.txt
           

2:特殊权限管理

1)设置位S(SetUid)

作用:为了让一般使用者临时具有该文件所属主/组的执行权限

Linux系统知识全景个人笔记(四)——Linux权限管理

#chmod u-s /usr/bin/passwd

或者

#chmod 0755 /usr/bin/passwd

去除passwd程序的s权限

2)沾滞位T (sticky bit)

命令:chmod

语法:# chmod [选项] 文件夹

作用:只允许文件的创建者和root用户删除文件

常用选项:o+t 添加粘滞位,o-t 去掉粘滞位

用法:chmod o+t 目录名

示例代码:

#chmod o+t

含义:给目录增加粘滞位权限。

三:属主属组

属主:所属的用户,文档所有者,这是一个账户,这是一个人

属组:所属的用户组,这是一个组

修改属主与属组

基本语法: # chown [-R] 新文档拥有者名称 文档路径

作用:更改文档的所属用户(change owner)

选项:-R 代表递归修改文件的属主

Linux系统知识全景个人笔记(四)——Linux权限管理

基本语法: # chgrp [-R] 新文档组名称 文档的路径

示例:将shop文档所属组修改为itcast

Linux系统知识全景个人笔记(四)——Linux权限管理

chown同时修改属主与属组

基本语法: chown [-R] username:groupname 文档路径

Linux系统知识全景个人笔记(四)——Linux权限管理

四:ACL访问控制

ACL,是 Access Control List(访问控制列表)的缩写,在 Linux 系统中, ACL 可实现对单一用户设定访问文件的权限。

1 、基本命令

getfacl命令:查看文件的ACL策略及权限

setfacl命令: 给文件针对某个用户或者某个组来增加(设置)ACL策略

2、getfacl命令

Linux系统知识全景个人笔记(四)——Linux权限管理

3、setfacl命令

-m : 修改acl策略

-x :去掉某个用户或者某个组的权限

-b :删除所有的acl策略

-R :递归,通常用在文件夹

mask:mask定义除other和所有人(拥有者)外的最大权限

setfacl -m u:用户名:rwx /usr/local/shichangbu 给单个用户单独加权限

setfacl -m g:用户组名:rwx /usr/local/shichangbu 给单个组单独加权限

setfacl -x u:用户 /usr/local/shichangbu 去掉某个用户的权限

setfacl -x g:组名 /usr/local/shichangbu 去掉某个组的acl策略

setfacl -b -R /usr/local/shichangbu 删除所有的acl策略,递归子文件

继续阅读