yo!这里是Linux权限入门理解

2023-10-20 09:10
文章标签 linux 入门 理解 权限 yo

本文主要是介绍yo!这里是Linux权限入门理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

权限概念

权限管理

分类

1.用户

2.文件&&目录

表示

设置

1.chmod指令

2.chown指令

3.chgrp指令

4.umask指令

粘滞位

后记


前言

        对于Linux基本指令,基本上就是操作文件或者目录,但是,是谁可以操作文件或目录,哪些文件和目录是可以操作的,这就涉及到了权限的问题。不仅是在Linux,在Windows下也是存在权限问题的,比如一些软件运行需要管理员身份运行。可见权限在操作系统中非常重要,在于它可以控制使用者在特定环境下的访问范围和操作能力,从而保障系统的安全和稳定性,同时也保护个人隐私和知识产权。

权限概念

        权限是指对某个资源或行为的授权或限制的能力。在计算机系统中,权限通常指用户或程序可以进行的操作或访问某个资源的能力,可以是对文件读取、写入、修改、执行以及删除等操作,也可以是限制某些用户可以这些操作。

        对于用户,Linux下分为两种,包括超级用户(root)普通用户,root可以在Linux下做任何操作,不受任何限制;相反,普通用户则是只能做有限的事情。

        Linux下,切换用户的指令:su [用户名]

        注意:要从root用户切换到普通用户user,则使用 su user,不需要密码user的密码,因为root权力最大;要从普通用户user切换到root用户则使用 su root(root可以省略)或者su -,需要root的密码。

权限管理

  • 分类

1.用户

        将能否访问某文件或目录(后简称为文件)的人分为三种:

文件所有者(User):创建文件的用户,或文件属于谁;

文件所有者所在组(Group):一般在工程上都会划分组别,分工干活,可以控制组内的成员控制此文件的权限;

其他用户(Other):除文件所有者以及所在组成员的所有人。

2.文件&&目录

        先来看一下Linux下一个文件或目录的信息介绍,如图

 1)文件类型

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

2)权限

        前三个是所属用户的权限,中间三个是所属用户组的权限,后三个是other的权限,都是由读(r/read)、写(w/write)、执行(x/execute)、"-"排列组合而成,对于文件和目录的具体操作是不同的,而"-"是指不具有该权限,如下图

        连接数先不做了解,后面会介绍;所属用户组名字默认与所属用户名相同;其他信息顾名思义,很好理解。

  • 表示

        文件权限的表示方法有两种,一种就是上方文件信息中由r、w、x、-组合而成的字符表示法,比如,r--是只读,-w-是只可写,rw-是可读可写不可执行、rwx是可读可写可执行、---是无任何权限等;

        还有一种是八进制数值表示法,在通过指令修改文件权限使常用,因为r、w、x的相对位置固定,有八种组合方式,正好可以用八进制数值的方式,包括---对应0,--x对应1,-w-对应2,-wx对应3,r--对应4,r-x对应5,rw-对应6,rwx对应7。

  • 设置

1.chmod指令

格式:chmod [选项] 权限 文件名

功能:设置文件的访问权限

选项: R   递归修改目录文件的权限

1)字符表示法

        u:拥有者

        g:拥有者同组用

        o:其它用户

        a:所有用户

        +:向权限范围增加权限代号所表示的权限

        -:向权限范围取消权限代号所表示的权限

        =:向权限范围赋予权限代号所表示的权限

eg:

 

 2)八进制数值表示法

        将所属用户、所属用户组及其他人的权限的八进制数拼在一起,直接改所有权限,不像字符表示法需要+、-。

eg:

 

2.chown指令

格式:chown [参数] 需要改成的用户名 文件名

功能:修改文件的拥有者

说明:此指令会提升权限,需要root用户或者存在于信任列表中的用户,其中信任列表是root对于普通用户而言的,可以使得普通用户使用【sudo 指令】的方式拥有root权限执行后续指令,也就是说root用户直接使用此指令,而存在于信任列表的普通用户使用【sudo 指令】的方式,其他人无法使用此指令,添加用户到信任列表的方法在下面。

eg:

添加用户到信任列表:

1.切换成root用户

2.使用指令sudo vim /etc/sudoers 编辑sudoers文件,向下翻找到## Allows......

3.复制%wheel  ALL=(ALL)       ALL 到下面,再将%wheel改为想要添加的用户名,如上图,保存退出即可。

3.chgrp指令

格式:chgrp [参数] 需要改成的用户组名 文件名

功能:修改文件或目录的所属组

选项:-R 递归修改文件或目录的所属组

说明:chgrp指令也是如同chown指令使用受限。

eg:

4.umask指令

格式:umask [权限值]

功能:不加权限值是查看文件掩码,加权限值是修改文件掩码

说明:如图,当我们新建一个文件或者目录,可以看到文件初始权限是664(八进制数值表示法),目录初始权限是775;

         其实,新建文件默认权限=666 新建目录默认权限=777,但实际上你所创建的文件和目录,看到的权限往往不是这个值,而是如图的值。原因就是创建文件或目录时还要受到 umask的影响。假设默认权限是originmask,则实际创建的出来的文件权限是: originmask & ~umask,即为建立文件时的初始权限。超级用户默认掩码值为022,普通用户默认为002,而umask指令就是修改这个值的。

粘滞位

        先看这么个场景,当多个用户在同一路径下共享(管理)同一个目录时,需要在该目录下进行读写、创建、修改、删除文件,读写文件的权限通过对应文件控制,而创建、修改、删除文件的权限是由所在目录控制的,所以大家对此目录下的文件的权限是一模一样的,此时,别人是可以删除我创建的文件,万一别人有意删除或者不小心删除了我的文件,就会造成麻烦。

        方法一:因为目录的w权限是创建、删除、修改目录内文件的权限,所以将目录的w权限去掉,但这样的话,虽然别人不能删除自己的文件了,但是自己也不能创建删除自己的文件,不可行!

        方法二:使用粘滞位

格式:chmod +t 目录名

功能:该目录下的文件只能由超级管理员删除、该目录的所有者删除、该文件的所有者删除

注意:①粘滞位只能给目录设置,

           ②一般地,粘滞位谁设置,谁取消。

eg:

 注:可以将t看做成x的一种特殊形式。

后记

        在开发环境中,权限非常之重要,确保开发环境中安全性、组织结构、版本控制和测试环境等方面的重要手段,能够帮助我们更好地管理和保障开发和测试过程的有序进行。以上就是权限的入门理解,并不是很多,简易反复读阅,在后续的学习中会对权限的理解越来越深刻,加油,拜拜!


这篇关于yo!这里是Linux权限入门理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/246139

相关文章

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Linux:alias如何设置永久生效

《Linux:alias如何设置永久生效》在Linux中设置别名永久生效的步骤包括:在/root/.bashrc文件中配置别名,保存并退出,然后使用source命令(或点命令)使配置立即生效,这样,别... 目录linux:alias设置永久生效步骤保存退出后功能总结Linux:alias设置永久生效步骤

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用