Linux:权限的概念与理解

目录

1. Linux权限的概念

2. Linux权限管理

01.文件访问者的分类

02.文件类型和访问权限

03.文件权限值的表示方法

04. 文件访问权限的相关设置方法

3. 使用 sudo分配权限

4. 目录的权限


---------- 权限 = 用户角色(具体的人) + 文件权限属性 ----------

1. Linux权限的概念

 Linux下有两种用户:超级用户(root)普通用户

(1)超级用户(root):可以再linux系统下做任何事情,不受限制.

(2)普通用户:在linux下做有限的事情。

(3)超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 suroot(root可以省略),此时系统会提示输入root用户的口令。

2. Linux权限管理

01.文件访问者的分类

a. 文件和文件目录的所有者:u---User
b. 文件和文件目录的所有者所在的组的用户:g---Group
c. 其它用户:o---Others 

02.文件类型和访问权限

a. 文件类型 

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

【注意】 :在Windows系统下是通过后缀名来区分文件类型的。而在Linux系统是通过第一个属性列来区分的!但是!在Linux下的一些工具的使用要严格遵守后缀名规则(例如:GCC)。

b. 基本权限

1.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
2.写(w/2)Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
3.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv.“—”表示不具有该项权限。

03.文件权限值的表示方法

a. 字符表示方法

b. 8进制数值表示方法


【注意】:

a. 如何让理解可执行权限 VS 可执行 :

                        能执行 = 具有可执行权限 + 文件本身就是一个可执行文件 

b. 如何理解文件

        文件 = 内容(该目录里的所有文件信息详细数据) + 属性

04. 文件访问权限的相关设置方法

a. chmod

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

格式:chmod[参数]权限 文件名

常用选项:

        a. R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式

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

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

  用户符号:

 u:拥有者
 g:拥有者同组用
 o:其它用户
 a:所有用户

②三位8进制数字

a. chown
功能:修改文件的拥有者
 格式:chown [参数] 用户名 文件名


b. chgrp
功能:修改文件或目录的所属组
 格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组 

c.umask

功能:查看或修改文件掩码
           新建文件夹默认权限=0666
           新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

file指令:

功能说明:辨识文件类型。
语法:file [选项] 文件或目录...
常用选项: -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
                   -z 尝试去解读压缩文件的内容。

3. 使用 sudo分配权限

(1)修改/etc/sudoers 文件分配文件

# chmod 740 /etc/sudoers
# vi /etc/sudoer

格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令

(2)使用 sudo 调用授权的命令

$ sudo –u 用户名 命令

4. 目录的权限

a. 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.

b. 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

c. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

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

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

相关文章

QT tableWidget横向纵向设置

横向控件 要设置QTabWidget选项卡的字体方向,可以使用QTabWidget的setTabPosition()方法。通过传递Qt枚举值QTabWidget.east或QTabWidget.west作为参数,可以设置选项卡的字体方向为从左到右或从右到左。 myTabWidget QTabWidget() myTabWidget.setTabP…

么样才能用最便捷的方式为Mac提速呢?

Mac是现代人日常工作时必不可少的工具,尤其是在居家办公已经屡见不鲜的当下。视频会议、文档传送、视频剪辑等等。它在工作中扮演的角色越来越重要,所以也导致了它的流畅程度可以在很大程度上影响人们一整天的工作效率和心情。 但是影响Mac的运行和响应速…

Gitlab的流水线任务【实现每小时自动测试 dev分支的更新】

背景 在现代软件开发实践中,持续集成(Continuous Integration, CI)是确保代码质量和快速响应软件缺陷的关键策略。GitLab 提供了强大的 CI/CD 功能,允许开发者自动化测试和部署流程。本文将介绍如何设置 GitLab 流水线计划任务&a…

如何使用Android平板公网访问本地Linux code-server

文章目录 1.ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 1.ubuntu本地安装code-server 准备一台虚拟机,Ubuntu或者centos都可以,这里以VMwhere ubuntu系统为例 下载code server服务,浏览器…

网络: 数据链路层

数据链路层: 数据帧的封装与传输 以太网数据帧 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是48位,是在网卡出厂时固化的;帧协议类型字段有三种值,分别对应IP、ARP、RARP;帧末尾是CRC校验码 以太网 "以太网" 不是一种具体的网络, 而是一种技术标准; 既…

[项目前置]如何用webbench进行压力测试

测试软件 采用webbench进行服务器性能测试。 Webbench是知名的网站压力测试工具,它是由Lionbridge公司开发。 webbench的标准测试可以向我们展示服务器的两项内容: 每秒钟相应请求数 和 每秒钟传输数据量 webbench测试原理是,创建指定数…

Prompt进阶系列5:LangGPT(提示链Prompt Chain)--提升模型鲁棒性

Prompt进阶系列5:LangGPT(提示链Prompt Chain)–提升模型鲁棒性 随着对大模型的应用实践的深入,许多大模型的使用者, Prompt 创作者对大模型的应用越来越得心应手。和 Prompt 有关的各种学习资料,各种优质内容也不断涌现。关于 Prompt 的实践…

微服务day05(上) - Elasticsearch

1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitHub搜索代码 在电商网站搜索商品 在百度搜索答案 在打车软件搜索附近的…

哈希、散列表和Rabin-Karp算法

字典 现有一个抽象数据类型(ADT)如下: 包括了一组元素,每个元素都有一个键key。假设没有元素拥有相同的key,如果有相同的key,则覆盖掉原有key的元素。 -insert(item) -delete(item) -search(key):根据给定的key,返…

Python:熟悉简单的skfuzzy构建接近生活事件的模糊控制器”(附带详细注释说明)+ 测试结果

参考资料:https: // blog.csdn.net / shelgi / article / details / 126908418 ————通过下面这个例子,终于能理解一点模糊理论的应用了,感谢原作。 熟悉简单的skfuzzy构建接近生活事件的模糊控制器 假设下面这样的场景, 我们希望构建一套…

苍穹外卖-day02

1. 新增员工 1.1 需求分析和设计 注意事项: 账号必须是唯一的手机号为合法的11位手机号码身份证号为合法的18位身份证号码密码默认为123456 本项目约定: 管理端发出的请求,统一使用**/admin**作为前缀。用户端发出的请求,统一使用…

没有磁盘整列下的多机分布式存储:使用rysnc+多服务器文件/文件夹内容同步

目录 0.为什么要定时同步 1.程序安装 2.文件夹设置rsync使用 3.使用cron进行定时任务 0.为什么要定时同步 作为科研党,实验室有多个服务器,但是都是分批买的没有上磁盘整列,所以一个服务器上跑的东西并不能同步,有时候挂任务要…

四川宏博蓬达法律咨询有限公司:法律服务安全的新标杆

在这个法治社会,法律服务行业扮演着越来越重要的角色。四川宏博蓬达法律咨询有限公司,作为行业内的佼佼者,始终坚持以客户为中心,为客户提供专业、高效、安全的法律服务。 一、公司背景与实力展示 四川宏博蓬达法律咨询有限公司自…

C语言例3-26:逗号表达式的例子

逗号表达式&#xff1a; 表达式1&#xff0c;表达式2 表达式可以是算术表达式、关系表达式、逻辑表达式、条件表达式、赋值表达式和逗号表达式。 代码如下&#xff1a; #include<stdio.h> int main(void) {int i1,j;float f2.0f;char chb; //b(98)// printf(&…

开源项目ChatGPT-Next-Web的容器化部署(二)-- jenkins CI构建并推送镜像

一、背景 接着上文已制作好了Dockerfile&#xff0c;接下来就是docker build/tag/push等一系列操作了。 不过在这之前&#xff0c;你还必须在jenkins等CI工具中&#xff0c;拉取源码&#xff0c;然后build构建应用。 因为本文的重点不是讲述jenkins ci工具&#xff0c;所以只…

Win10中IIS服务如何部署c#服务

1、将项目打包发布 注意发布位置 2、打开搜索搜索计算机管理 3、点击服务和应用程序 4、点击internet information service 5、点击网站再点击添加网站 6、添加网站名称&#xff1a;opm 添加网站路径&#xff08;即刚才发布路径&#xff09; 输入ip地址&#xff1a;自己…

PyTorch深度学习:如何实现遥感影像的自动化地物分类?

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

(MATLAB)第二十一章 Simulink仿真设计初步

Simulink是MATLAB的重要组成部分&#xff0c;可以非常容易地实现可视化建模&#xff0c;并把理论研究和工程实践有机地结合在一起&#xff0c;不需要书写大量程序&#xff0c;只需要使用鼠标和键盘对已有模块进行简单的操作和设置。 21.1 Simulink简介 Simulink是MATLAB软件的…

百度小程序入口在哪里找到怎么打开百度词令关键词口令直达小程序?

百度小程序入口在哪里找到怎么打开百度词令关键词口令直达小程序&#xff1f; 一、百度搜索找到百度词令小程序 打开手机百度搜索「词令」即可找到百度词令关键词口令直达小程序&#xff1b; 二、百度小程序中心找到百度小程序 2.1、打开手机百度&#xff0c;点击底部我的&a…

C++ 侯捷 程序设计(Ⅱ)兼谈对象模型 笔记

Conversion function 转换函数 侯捷老师使用分数 Fraction举例&#xff0c;分数理应可以被看作是小数 提供了Fraction类对象一个转换为double的方法&#xff0c;当碰到需要转换为double的情况下&#xff0c;会调用该方法。 黄色的就是转换函数&#xff0c;没有return type&am…