Linux gcc day4 权限

首先来看比如ls、pwd等究竟是什么呢?

那ls是如何在shell中执行起来的呢?shell命令又是什么呢?

shell命令:命令行解释器:表现:你看到的命令行提示符,以及可以输入指令并且可以执行(是操作系统的外壳程序)

用户不善于和操作系统直接交流,所以才需要一个媒介,介于用户和操作系统中间就是shell,搞了一个软件层方便用户与操作系统的交流成本

shell可以拒绝用户的非法命令,让操作系统只处理经过shell认为正确的命令

执行命令,通过派生子进程的方式执行用户的指令而shell本身并不执行对应的指令(一般而已)

如果是shell直接执行用户的命令,如果用户非法命令导致shell崩溃,就会使得操作系统无法让用户使用,所以创建一个子进程,让它去做,做砸了也没事

shell是一种统称

centos7中的shell 是bash(是shell的具体的名字)

如果shell是媒婆(行业统称)

那bash是王婆(具体的称呼)

su命令

普通用户切换root

root切换普通用户

直接su+【用户名】

sudo命令(对指令短暂提权)后面会讲

文件的属性:

Linux文件类型和后缀无关

但是gcc等工具可能对于文件的后缀有要求

其他人:

为何要存在所属组:

假设,两个团队AB用同一台Linux做同一项目,B团队的李四是对手,A团队的张三写了一个代码,假设权限只有owner、others,张三团队的领导想要看看张三写的咋样,所以张三开放了other权限,但是领导可以看了,李四也可以看了!!所以Linux才要加如所属组,这样才可以让自己团队的人看

文件权限=角色+文件属性:w(写)【被谁写】、r(读)【被谁读】、x(执行)【被谁执行】

 

字符文件(显示器,键盘)c

块文件(硬盘)b

连接文件 l

和windows下的快捷方式就是连接文件的可执行文件.exe(比如:百度的快捷方式连接的就是

百度.exe)

管道文件  p

如何操作权限呢??

chmod命令修改文件权限

1、设置文件属性

chmod u-r 【文件名】 //修改文件属性 将读权限去除

给文件增加权限 chmod u+(r,w,x)[文件名]

注意:test.txt是不可以执行的因为它是源文件,但是可以给一个执行权限

但是文件能不能执行取决于文件的类型,是不是二进制文件

如何把文件中的拥有者的所有权限去除

chmod u-rwx 【文件名】

 如何给所属组和other增加和删除权限?

所属组:g

other:o

注意:改文件的权限只能由该文件的所属者和root

可以发现都是用的同一个命令只是用u表示owner、g表示所属组、o表示其他

参考:

a :all

没有权限时的表现

chown 命令(修改文件所属人)

在修改文件所属人时要询问接收人是否同意,所以直接操作是不被允许的

所以就要提权

sudo chown 【想要给的用户】 【文件名】

提权后给你,你想要也要要,不想要也要要



Linux下is not in the sudoers file解决方法(修改配置文件)

如果出现这句话不要慌证明你使用的用户没有在sudoers文件下,现在带你修改/etc/sudoers配置文件

etc是配置文件的意思

第一步:了解vim编辑器

进去后按  i  就是进入编辑模式,就可以对文件进行编辑(记住先找到要修改的地方在编辑)

写好后按下ESC就是退出编辑模式,然后按下  :加上wq!(wq!表示强制保存退出)

了解好了就进行操作

我们的目的是找到配置文件中,找到root ALL=(ALL) ALL, 在下面添加一行

#其中xxx是你要加入的用户名称

xxx ALL=(ALL) ALL

这个配置文件的修改要root下

所以su

然后vim /etc/sudoers

先别进入编辑模式   按下 / 进入文件匹配搜索 root ALL=(ALL) ALL

就可以执行

chgrp命令

supplement(补充) chown命令

哪还有other呢?

不需要因为将只要将所属人和所属组改了剩下的都是other了

两种修改权限的方法

1、chmod+ ugo +- wrx

2、八转转换二进制

chmod xxx 文件名

用二进制表示rwx:xxx 如:110就是rw-   001就是--x

777 ==111 111 111 :owner:wrx(111=7)   group:wrx(111=7)  other:wrx(111=7)

总结:

file命令

file xxx文件

显示文件的类型

面试题

权限掩码时可以修改的

当目录没有写权限就无法创建子目录和文件

所以系统默认目录时777

为什么普通文件是666呢因为大部分的文档都不具备执行,只有小部分才需要,当自己需要时自己加就好 chmod u-x 文件名

难难难好好理解

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

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

相关文章

贪心算法简介

目录 一、什么是贪心算法? 二、贪心算法的特点 三、贪心算法解决找零问题、最短路径问题、背包问题 1.找零问题 2.最短路径问题 3.背包问题 一、什么是贪心算法? 贪心算法就是希望通过局部最优来解决全局最优 基本步骤:1.将问题分为若…

【I/O】Unix IO 介绍

IO 模型(一) Unix IO 一个输入操作共包含两个阶段: 等待数据准备好从内核将数据复制到进程 对于一个套接字上的输入操作,通常第一步是等待数据从网络中到达,当数据到达时,先将数据复制到内核缓冲区中&a…

【UE 委托】如何利用函数指针理解委托的基本原理

目录 0 引言1 函数指针模拟多播委托 🙋‍♂️ 作者:海码007📜 专栏:UE虚幻引擎专栏💥 标题:【UE 委托】如何利用函数指针理解委托的基本原理❣️ 寄语:书到用时方恨少,事非经过不知难…

js base64 img 转 file

打印canvas图像的dataurl const imgDataUrl canvas.toDataURL();console.log(imgDataUrl)上传的图像编码 1,把base64编码转为文件对象第一个参数dataUrl是一个base64的字符串。第二个参数是文件名可以随意命名funtion base64toFile(dataurl, filename file) {let arr datau…

Git 安装和配置

下载 Git 网址: https://git-scm.com/download 安装 Git 双击安装包, 开始安装. 修改安装路径, 选择非中文无空格路径: 开始安装: 安装成功: 配置 Git 安装完成后, 在任意文件夹内, 右键, 可以显示两个 Git 选项, 就说明安装成功了.

汇舟问卷:海外问卷调查适合哪些人群去参与?

大家好,我是汇舟问卷。关于海外问卷调查这个项目最近一直备受关注,那么这个项目究竟有哪些人群适合参与进来呢?我们一起来看看。 第一,海外问卷调查适合一些没有找到工作或者拥有充足业余时间的人。只要您拥有一台电脑和网络连接…

IDEA 解决 java: 找不到符号 符号: 类 __ (使用了lombok的注解)

原因IDEA版本太高,在 ProcessingEnvironement 预编译的时候是以代理的方式来执行的,不再是直接 javac方式, lombok依赖的 javac方式的 annotation processors 不再生效了 解决办法:下面这一句,加在下图中 -Djps.track.ap.depen…

关于帆软报表取OA选择框-下拉列表值的解决方案

问题:制度一览表每次在OA端增加或修改制度类别后,都要在帆软报表修改后才能正确显示。 原因分析:以前大家没有找到OA下拉列表的维护表,采用的是在帆软端通过内置数据集来解决,需要人工维护。 解决方案: …

Linux函数学习 epoll

1、Linux epoll函数 1.1、创建epoll实例 int epoll_create1(int flag); 返回值:-1 失败,非负数 成功 flag :默认传入0 1.2、管理epoll对象 int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event); epfd :e…

rebase和merge的区别

合并分支用rebase还是merge? 实际开发工作的时候,我们都是在自己的分支开发,然后将自己的分合并到主分支,那合并分支用2种操作,这2种操作有什么区别呢? git上新建一个项目,默认是有master分支…

蓝桥杯物联网竞赛_STM32L071KBU6_我的全部省赛及历年模拟赛源码

我写的省赛及历年模拟赛代码 链接:https://pan.baidu.com/s/1A0N_VUl2YfrTX96g3E8TfQ?pwd9k6o 提取码:9k6o

YOLOv8模型剪枝实战:DepGraph(依赖图)方法

课程链接:YOLOv8模型剪枝实战:DepGraph(依赖图)方法_在线视频教程-CSDN程序员研修院 YOLOv8是一个当前非常流行的目标检测器,本课程使用DepGraph(依赖图)剪枝方法对YOLOv8进行网络剪枝,使其更加轻量和实用…

Android源码笔记-输入事件(二)

这一节主要了解输入事件的获取,InputReaderThread继承自C的Thread类,Thread类封装了pthread线程工具,提供了与Java层Thread类相似的API。C的Thread类提供了一个名为threadLoop()的纯虚函数,当线程开始运行后,将会在内建…

Tubi 十岁啦!

Tubi 今年十岁了,这十年不可思议,充满奇迹! 从硅谷一个名不见经传的创业小作坊,转变成为四分之一美国电视家庭提供免费流媒体服务的北美领先的平台; 从费尽心力终于签下第一笔内容合作协议,到现在与 450 …

3岁以下幼儿玩具电脑电子方案

幼儿玩具电脑是一种专为儿童设计的电子教育产品,它通过提供多样化的学习内容和互动方式,旨在促进孩子的早期教育和发展。具体作用如下: 培养学习兴趣:早教机通常设计有丰富的教育资源和有趣的互动游戏,能够激发孩子对…

Mongodb快速入门

一、概述 1.1介绍 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展高性能数据存储解决方案。(并不是单纯的内存数据库),官方地址 https://www.mongodb.com/ 操作语法与 JavaScript 类似,容易上手,学习成本低…

linux离线安装redis

一、下载linux版本压缩包 地址:Download | Redis 为了安全稳定性,下载 6.2 版本,不下载最新版 二、上传到linux服务器 笔者上传到 /opt/redis下 ,使用Xftp和Xshell工具,使用root权限 cd /opt sudo mkdir redis cd r…

【Qt踩坑】ARM 编译Qt5.14.2源码-QtWebEngine

1.下载源码 下载网站:Index of /new_archive/qt/5.14/5.14.2/single 2.QWebEngine相关依赖 sudo apt-get install flex libicu-dev libxslt-dev sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev sudo apt-get …

【刷题篇】回溯算法(二)

文章目录 1、求根节点到叶节点数字之和2、二叉树剪枝3、验证二叉搜索树4、二叉搜索树中第K小的元素5、二叉树的所有路径 1、求根节点到叶节点数字之和 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表…

Vue2创建过程记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、搭建node二、安装Vue CLI三、搭建新项目四、Elemet安装(参照官网步骤[Element官网](https://element.eleme.cn/#/zh-CN/component/installation)&am…