首页 > 系统相关 >Linux系统权限控制详解(理论+实战)

Linux系统权限控制详解(理论+实战)

时间:2024-07-08 11:57:11浏览次数:24  
标签:文件 用户 chmod 详解 Linux 权限 目录

一、权限概述

Linux权限控制是指对文件和目录的访问权限进行限制,以保护系统安全和数据完整性。其作用包括以下几个方面:

  • 保护系统安全:Linux系统中许多重要的配置文件和程序文件只有管理员才有权限访问,一般用户不能修改或删除这些文件,以防止系统被破坏。
  • 保护用户数据:每个用户的家目录和个人文件只有该用户和管理员有访问权限,其他用户无法访问,以保护用户的个人数据不被他人盗取或误操作。
  • 提高系统可管理性:权限控制可以使得管理员可以更方便地管理系统,例如,管理员可以通过权限控制来控制用户对某个目录的读写权限,以便对系统的使用情况进行监控。


Linux权限控制包括哪些内容?

  • Linux系统一般将文件和目录可存/取访问的身份分为3个类别:owner、group、others,且三种身份有读、写、执行权限。
  • Linux系统中,每个文件或者目录都有一个所有者(owner)和一个所属组(group),可以使用“ls -l”或者“ll”命令查看。
  • Linux系统中,每个文件或目录都有一个权限码(mode),用来表示不同身份对该文件或者目录的操作权限。权限码由12位二进制数或4位八进制数表示。

二、用户权限控制

Linux操作系统用户总共分为三类,分别是:

  • root超级用户(ID 0)
  • 系统用户 (ID 1-499)
  • 普通用户 (ID 500以上)

Linux操作系统用户有如下特点:

  • 每个用户拥有一个UID,操作系统实际读取的是UID,而非用户名;
  • 每个用户都属于一个组,每个组都拥有一个GID;
  • 每个用户最多拥有31个附属组;
  • 每个可登录用户都拥有一个指定的Shell环境。

 Linux系统中,用户用来控制文件或目录访问权限的三种方式,分别是读(r)、写(w)、执行(x)权限。每个权限都可以用一个二进制位来表示。“1”表示有该权限,“0”表示没有该权限。

数字

符号

权限

0

-

无权限

1

x

只有执行权限

2

w

只有写入权限

3

wx

写入和执行权限

4

r

只有读权限

5

rx

读取和执行权限

6

rw

读取和写入权限

7

rwx

读写执行权限

Linux的文件调用权限分为三级:文件所有者(Owner)、用户组(Group)和其他用户(Other Users)。 

 

三、文件目录权限控制

  •  chmod命令

 chmod命令修改文件权限,基本语法如下:

chmod <options>  <mode> <file>

 主要参数如下:

参数

说明

-c

若该文件权限已经被更改,显示更改动作

-f

若该文件权限无法被更改不显示错误信息

-v

显示权限变化的详细信息

-R

对当前目录及子目录下的所有文件进行权限更改

mode权限设定的基本格式如下: 

[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+
  •  “u”表示该文件拥有者,“g”表示与该文件拥有者属于同一个属组(Group)者,“o”表示其他以外的用户。
  • “+”表示加上权限,“-”表示去掉权限,“=”表示设定唯一权限。
  • “r”表示读权限,“w”表示写权限,“x”表示执行权限,“X”表示只有该文件是子目录文件或者该文件已经被设定为可执行。

 chmod命令修改目录权限,基本语法如下:

chmod <options>  <mode> <directory>

四、特殊权限

Linux特殊权限包括以下三种:

  • SUID权限:set user id,设置用户id,用“S”或“s”表示,对应的数字为4。该权限可以让普通用户以文件所有者的身份执行文件或者程序。
  • SGID权限:set group id,设置组id,用“S”或“s”表示,对应数字为2。该权限可以让用户组内的成员共享文件或目录的访问权限。
  • Sticky权限:粘滞位权限,用“T”或“t”表示,对应数字为“1”。该权限可以防止其他用户删除或修改某个目录下的文件。
     

 chmod设置特殊权限

chmod设置特殊权限基本语法如下:

chmod  <options>  <mode>  <file>

chmod设置目录特殊权限基本语法如下: 

chmod  <options>  <mode>  <directory>

标签:文件,用户,chmod,详解,Linux,权限,目录
From: https://blog.csdn.net/qq_27815483/article/details/140263837

相关文章

  • Linux 源码安装禅道
    安装ApacheHttpServer安装所需依赖yuminstallapr-develapr-util-develgccmakepcre-developenssl-devel安装Apache服务#下载最新版安装包wgethttps://dlcdn.apache.org/httpd/httpd-2.4.59.tar.gz#解压tarxfhttpd-2.4.59.tar.gzcdhttpd-2.4.59#配......
  • AI绘画Stable Diffusion【图生图教程】:图片高清修复的三种方案详解,你一定能用上!(附资料
    大家好,我是画画的小强今天给大家分享一下用AI绘画StableDiffusion进行高清修复(Hi-ResFix),这是用于提升图像分辨率和细节的技术。在生成图像时,初始的低分辨率图像会通过放大算法和细节增强技术被转换为高分辨率版本。这种方法能够显著提高图像的清晰度和视觉效果,特别适用......
  • 【linux/shell】如何创建脚本函数库并在其他脚本中调用?
    在Shell中创建和使用脚本库通常涉及以下几个步骤:1. 创建脚本库文件脚本库通常是包含了一系列可重用函数的Shell脚本文件。你可以使用文本编辑器创建一个脚本库文件,例如 mylib.sh 。nanomylib.sh在文件中,你可以定义一些函数,例如:#!/bin/bashfunctiongreet{  ech......
  • VMware vCenter Server 7.0U3r 下载 - 修复堆溢出 (远程执行代码) 和本地权限提升漏洞
    VMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式平台来控制vSphere环境,以实现跨混合云的可见性。简化且高效的服务器管理什么是vCenterServer?实现集中式可见性、简化且高效的大规模管理,以及在整个混合云中的可延展性,所有这一切,均可通过单一控制台来实现......
  • 香橙派编译linux内核支持ebpf和虚拟WIFI
    前言上一篇文章香橙派5plus上跑云手机方案一redroid(带硬件加速)中说了怎么运行redroid,这篇补一下怎么修改参数编译内核。补充上篇文章有个内容需要补充一下:更新完内核需要用下面的命令防止内核被apt更新,不然后面使用aptupdate又回到官方的内核(注意版本号,当前是1009)。sudo......
  • 单链表在Python中的实现技巧详解
    概要链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据域和一个指向下一个节点的指针。链表的优点是插入和删除操作非常高效,特别是在需要频繁修改数据结构的情况下。本文将详细介绍如何在Python中创建单链表,并包含相应的示例代码,帮助全面掌握这一基础而重要......
  • CloudFront常用权限分类详解
    AmazonCloudFront是一个快速内容分发网络(CDN)服务,它可以安全地以低延迟和高传输速度向客户分发数据、视频、应用程序和API。为了确保CloudFront资源的安全性和访问控制,AWS提供了一套细粒度的权限管理机制。本文将详细介绍CloudFront的常用权限分类,并提供相应的JSON策略示例。1......
  • (麒麟Linux+PHP8+KingBase)麒麟Linux系统安装PHP8及人大金仓KingBase应用
    一、PHP8安装1.1环境CPU内核:aarch64OS:麒麟V104.19.90-23.34.v2101.ky10Web中间件:东方通THS/V6php:8.2.0db:KingbaseESV8R61.2下载https://www.php.net/releases/下载地址:https://www.php.net/distributions/php-8.2.0.tar.gz1.3解压cd/optsudotar-z......
  • centos8(linux): 安装使用supervisor管理laravel队列
    一,什么是supervisorSupervisor是一个进程控制系统,它使用户能够监视和控制类unix操作系统进程。它通过提供基于配置或事件启动、停止和重新启动进程的机制,帮助管理应该在系统中连续运行的进程。对于需要控制和监视Linux或其他类unix操作系统上多个进程的状态的开发人员和系统管理......
  • 虚表和虚表指针 详解
    ......