Linux 权限的简单讲解

1、前言

              当我们分别使用 touch、mkdir  命令创建一名为 test1 的文件和名为 test2 的目录,发现其中有些参数不一样,本文就来给大家来剖析一下。

666

2、 参数讲解

        我们可以通过切片分为下面几个区域,本文就只简单讲解文件类型、权限、所属用户、所属用户组。

2.1、文件类型

  • d:文件夹
  • -:普通文件
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件(例如屏幕等串口设备)
  • s:套接口文件

2.2、权限

       权限简单来说就是限制,通过一些手段限制一部分人。

在 Linux 中,分为三类人:

  • root   超级用户,拥有最高的权限,Linux 系统的神。
  • user  创建的普通用户
  • other 其他用户

2.2.1、权限组成部分

        对于权限部分,我们可以分为三个区域。

  • 黄色区域:文件所有者的权限
  • 红色区域:文件所属组的权限
  • 蓝色区域:其他人的权限

2.2.2、权限符号的含义

  • r:读权限
  • w:写权限
  • x:可执行权限
  • -:当前的档位没有权限

        一般来说,权限的符号位置是固定的,顺序是 rwx ,如果其固定的位置用  -  符号来代替,表示没有相关位置的权限。 

2.2.3、权限的修改

         看过 Linux 相关书籍的同学应该看到过下面命令 。

chmod 640 test1

        我们可以发现,文件的权限是相同的,当我们用了上述命令之后,其权限就会出现下面的情况。

那这是为什么呢? 

        chmod 是修改权限的命令,后面的接的 640 其实代表的三个区域的权限,6 代表着文件拥有者的权限,4 代表着文件所属组的权限,0 代表着其他人的权限。其数字实际上为二进制转化为八进制的数字。

注:如果对于进制转化不太熟悉的话,可以移步到这个学习一下: 进制相互转化

如果觉得,上述修改权限的方法比较麻烦的话,下面还有方法。

  • chmod  o-rwx  test2
  • chmod  g-w    test2

用户表示符 + / -= 权限字符

  • + :向权限范围增加权限代号所表示的权限
  • - :向权限范围取消权限代号所表示的权限
  • = :向权限范围赋予权限代号所表示的权限

用户符号:  

  • u :拥有者
  • g :拥有者同组用
  • o :其它用户
  • a :所有用户
  • 注:chmod 后面可以加参数 R 表示: 递归修改目录文件的权限
  • 只有文件的所有者还有 root 用户才能修改目录或文件的权限。普通用户是不能修改文件的拥有者和所属组,除非是加了 sudo 命令的普通用户或是 root 用户。

2.2.4、文件所有者和所有组的修改

chown :修改文件的拥有者

格式:chown [参数] 用户名 文件名

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

格式:chgrp [参数] 用户组名 文件名

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

3、目录权限

        当我们看完上面的内容之后,我们来看看本文的第一张图。

        我们可以看出文件目录相比,文件相比目录不论是在文件所有者的权限、文件所属组的权限、其他人的权限的 x(可执行)的位置都是空的。

  • 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
  • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

4、后语

希望本篇博客能对各位有所帮助,如果各位有任何疑问,欢迎各位留言,我们可以进行友好的探讨与交流。

欢乐的时间总是过得特别快。又到时间讲bye,我们下一篇再见!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660378.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】体系结构和进程管理

目录 一、认识冯诺依曼体系结构 1.1 概念 1.2 组成 1.3 存储分级 1.4 有关冯诺依曼的问题 二、操作系统 2.1 概念和功能 2.2 如何理解操作系统的 "管理" 2.3 操作系统的用户、系统调用和库函数概念 三、进程 3.1 基本概念 3.2 描述进程-进程控制块PCB …

基于python的舞蹈经验分享交流网站django+vue

1.运行环境:python3.7/python3.8。 2.IDE环境:pycharmmysql5.7/8.0; 3.数据库工具:Navicat11 4.硬件环境:windows11/10 8G内存以上 5.数据库:MySql 5.7/8.0版本; 运行成功后,在浏览器中输入&am…

UE4 Widget制作搜索框

效果: 一、控件层级结构 1.父控件层级结构 2.子控件层级结构 二、蓝图 1.先清除掉创建子项(注意:这里使用的是reverse循环!) 2.判断是否含有关键字,创建子控件

ElasticSearch总结2

一、创建索引库:PUT ES中通过Restful请求操作索引库、文档。请求内容用DSL语句来表示。创建索引库和mapping的DSL语法如下: 整个jason 里边,它有一个叫mapping的属性,代表的是映射。映射里边有properties代表就是字段。可以看到这…

W801学习笔记十二:掌机进阶V3版本之驱动(PSRAM/SD卡)

本次升级添加了两个模块,现在要把他们驱动起来。 一:PSRAM 使用SDK自带的驱动,我们只需要写一个初始化函数,并在其中添加一些自检代码。 void psram_heap_init(){wm_psram_config(0);//实际使用的psram管脚选择0或者1&#xff…

Llama images - 记录我看到的那些羊驼

来自 : DREAM: Distributed RAG Experimentation Framework

关于远程桌面与3389端口的深度解析

当我们谈论远程桌面和3389端口时,我们实际上是在探讨Windows操作系统的一个核心功能,该功能允许用户通过网络从任何地点远程控制和管理计算机。而3389端口,正是这一功能所依赖的通信端口。 一、远程桌面的工作原理 远程桌面协议(R…

安装ROS

前提必须是20.04版本。。。 一、首先,先设置安装源,我们选择国内中科大的安装源 sudo sh -c . /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main" > /etc/apt/sources.list.d/ros-lat…

React路由导航

1. 什么是路由导航 一个路由跳转到另一个路由&#xff0c;并且在跳转的同时有可能需要传递参数进行通信&#xff0c;比如列表页跳转到详情页携带参数 2. 声明式导航 声明式导航是指通过在模版中通过 <Link/> 组件描述出要跳转到哪里去&#xff0c;比如后台管理系统的…

找不到msvcr120.dll怎么办,msvcr120.dll丢失的5种修复方法分享

计算机系统在运行某应用程序时无法正常启动&#xff0c;具体表现为缺少了一个至关重要的动态链接库文件——msvcr120.dll。这个DLL文件是微软Visual C Redistributable Package的一部分&#xff0c;对于确保许多基于Windows平台的软件能够顺利运作起着不可或缺的作用。msvcr120…

远程桌面连接服务器怎样连接不上的六个常见原因

远程桌面连接服务器无法连接的问题可能由多种原因引起。以下是一些常见的问题及其解决方案&#xff1a; 1. 网络连接问题&#xff1a;远程桌面连接的基础是稳定的网络连接。如果网络连接不稳定或中断&#xff0c;那么你将无法连接到远程桌面。检查你的网络连接&#xff0c;确保…

跨平台桌面客户端开发框架

跨平台桌面客户端开发框架允许开发者创建能够在多个操作系统上运行的桌面应用程序。以下是一些流行的跨平台桌面客户端开发框架。这些框架各有优势&#xff0c;选择哪个框架取决于项目需求、团队的技术栈以及对特定特性的偏好。 1.Electron &#xff1a; 使用JavaScript, HTML…