您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux系统设置文件权限,多用户模式下文件权限管理

时间:2023-02-16 15:42:41  来源:51CTO  作者:黑猫编程

linux是多用户操作系统,一台服务器,可能有开发、运维、测试等多个部门构成,同时还有有一个超级管理员root,也就是项目负责人CTO负责整个项目的进度周期。

为什么要给文件设置权限

首先,Linux是多用户操作系统,一台服务器,可能有开发、运维、测试等多个部门构成,同时还有有一个超级管理员root,也就是项目负责人CTO负责整个项目的进度周期。

然而,Linux中的命令十分灵活,专业度要求也很高,如果一个刚刚实习的程序员拥有root权限,不小心删除了重要文件或者数据,就可能导致整个项目付之一炬。或者员工离职跑路直接删除公司数据库,这样的案例业内屡见不鲜。

因此,就要给每个用户分配不同权限,比如,每个用户对自己创建的文件拥有最高权限,同时,开发组内用户对组内文件可以进行修改。每个操作都有日志记录。然而,开发组员工进入运维组目录,只可以观看,不可以更改。每个部门再设置一个共享目录,共享目录都不可以修改,只有将内容拷贝到自己的目录下才可以修改。

这样,才可以更好的保障Linux系统的安全性,一方面防止自己内部人员危险操作,另一方面也可以防止黑客入侵,即时黑客破解了某个用户的账号密码,由于权限有限,也难以进行大规模损害操作。

权限的基本概念

Linux下一切皆文件,不同的用户对文件拥有不同的权限。在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利。

在Linux 中分别有读、写、执行权限:

 

权限针对文件

权限针对目录

读r

表示可以查看文件内容

表示可以查看目录中存在的文件名称

写w

表示可以更改文件的内容

表示是否可以删除目录中的子文件或者新建子目录(

执行x

表示是否可以开启文件当中记录的程序,一般指二进制文件(.sh)

表示是否可以进入目录中

查看文件权限

Linux中,不同用户角色创建文件默认权限不同,root用户创建文件默认权限如上图所示。

  • -代表文件类型是一个普通文件
  • 红框代表文件拥有者user
  • 绿框代表文件所属组group组内其他用户
  • 蓝框代表其他用户other
  • 如果是目录,文件类型为d

文件类型

Linux一共有7种文件类型,分别如下:

  • -:普通文件
  • d:目录文件
  • l: 软链接(类似windows的快捷方式)
  • b:block,块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件
  • s:套接口文件/数据接口文件

文件权限设置-字母

 
chmod [选项] 权限设置 文件或目录的名称

选项说明:
-R :递归设置,针对文件夹(目录)

权限设置:

1:确认要给哪个身份设置权限,u、g、o、ugo(a)

2:确认是添加权限(+)、删除权限(-)还是赋予权限(=)

3:确认给这个用户针对这个文件或文件夹设置什么样的权限,r、w、x

 
sudo chmod -R ugo=rwx AA/
sudo chmod -R a=rwx AA/

文件权限设置-数字

权限

对应数字

意义

r

4

可读

w

2

可写

x

1

可执行

-

0

没有权限

 
chmod 777 1.txt

文件拥有者和所属组设置

拥有者设置

 
chown [选项] 新文件拥有者名称 文件名称
选项说明:
-R :代表递归修改,主要针对文件夹
 
chown blackcat 1.txt

所属组设置

 
chgrp [选项] 新文件所属组名称 文件名称
选项说明:
-R : 代表递归修改,主要针对文件夹

同时修改拥有者和所属组

 
chown [选项] 文件拥有者名称:文件所属组名称 文件名称
或
chown [选项] 文件拥有者名称.文件所属组名称 文件名称
选项说明:
-R : 代表递归修改,主要针对文件夹

特殊权限

冒险位SETUID(针对二进制文件)

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

例如:/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,那么该如何操作?

去除S位权限

 
chmod u-s /usr/bin/passwd 
或者
chmod 0755 /usr/bin/passwd

添加S位权限

 
chmod u+s /usr/bin/passwd
或者
chmod 4755 /usr/bin/passwd

强制位SETGID(针对目录)

作用:如果一个目录有强制位,那么任何用户在该目录里所创建的文件属组都会继承该目录的属组。

去除S位权限

 
chmod g-s 目录名

添加S位权限

 
chmod g+s 目录名
或
chmod 2xxx 目录名

粘附位T(针对目录)

作用:只允许文件的创建者和root用户删除文件(防止误删除权限位)

去除粘附位

 
chmod -R o-t /share
或
chmod -R 0777 /share

添加粘附位

 
chmod -R o+t /share
或
chmod -R 1777 /share

umask

umask表示创建文件时的默认权限(即创建文件时不需要设置而天生的权限)

我们创建一个普通文件最高权限666,而创建一个文件夹其最高权限777。

实际文件权限 = 最高权限 - umask的值

获取用户umask值

 
umask

0022

注:0022中第一位0代表特殊权限位,可以不设置。
umask的默认值,在root和普通用户下是不一样的,分别是022和002

修改umask值(一般不要更改)

临时修改

 
umask 002

777 - 002 = 775

永久修改

 
vim ~/.bashrc 
1:在文件末尾添加umask 002
2:保存退出 
3:新开终端生效

ACL权限

ACL,是 Access Control List(访问控制列表)的缩写,在 Linux 系统中, ACL 可实现对单一用户或者某个组设定访问文件的权限,ACL优势就是让权限控制更加的精准。

安装acl

 
apt install acl

获取ACL权限

 
getfacl 文件或目录名称

设置ACL权限

 
setfacl [选项] 文件或目录名称

选项说明:
-m : 修改acl策略
-x : 去掉某个用户或者某个组的权限
-b : 删除所有的acl策略
-d : 该目录下新建的文件和目录都会继承acl策略,但已存在的没有
-R : 该目录下已存在的文件和目录都会继承acl策略,但新建的没有
mask :指的是用户或群组能拥有的最大ACL权限,也就是说,给用户或群组设定的ACL权限不能超过mask规定的权限范围,超出部分做无效处理。

示例-给用户增加acl权限:
setfacl -m u:hioier:rw 1.txt

示例-给用户删除acl权限:
setfacl -x u:hioier 1.txt

 
示例-给用户组增加acl权限:
setfacl -m g:blackcat:rw 2.txt

示例-给用户组删除acl权限:
setfacl -x g:blackcat 2.txt

 
示例-删除所有权限:
setfacl -b 1.txt

mask权限设置:

 
setfacl -m m::r 1.txt

目录递归授权



Tags:Linux   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Linux获取Redis 性能指标方法
一、监控指标Ø 性能指标:PerformanceØ 内存指标: MemoryØ 基本活动指标:Basic activityØ 持久性指标: PersistenceØ 错误指标:Error二、监...【详细内容】
2024-04-11  Search: Linux  点击:(9)  评论:(0)  加入收藏
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08  Search: Linux  点击:(9)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  Search: Linux  点击:(24)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  Search: Linux  点击:(16)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25  Search: Linux  点击:(15)  评论:(0)  加入收藏
Linux发行版 Ubuntu 迎更新 界面设计灵感来自 Windows 11
近日,一位第三方开发者推出了一款名为“Wubuntu”的特殊Linux发行版。这款系统源自主流的Ubuntu版本,但在界面设计上却借鉴了微软最新的Windows 11风格,甚至在其中融入了微软标...【详细内容】
2024-02-27  Search: Linux  点击:(51)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27  Search: Linux  点击:(53)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  Search: Linux  点击:(58)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01  Search: Linux  点击:(84)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  Search: Linux  点击:(72)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(9)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(24)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(16)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(15)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(59)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(53)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(58)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(84)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(72)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(90)  评论:(0)  加入收藏
站内最新
站内热门
站内头条