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 777 777 :owner:wrx(111=7)   group:wrx(111=7)  other:wrx(111=7)

总结:

file命令

file xxx文件

显示文件的类型

面试题

权限掩码时可以修改的

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

所以系统默认目录时777

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

难难难好好理解

相关推荐

  1. C++(4) 面向对象&类、权限修饰符

    2024-04-07 20:36:04       51 阅读
  2. Linux的学习之路:4权限

    2024-04-07 20:36:04       38 阅读
  3. 4-用户权限控制(后端)

    2024-04-07 20:36:04       33 阅读
  4. 4、Jenkins持续集成-用户权限和凭证管理

    2024-04-07 20:36:04       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 20:36:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 20:36:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 20:36:04       82 阅读
  4. Python语言-面向对象

    2024-04-07 20:36:04       91 阅读

热门阅读

  1. IoT数采平台2:文档

    2024-04-07 20:36:04       38 阅读
  2. 计算两线段之间的最短距离

    2024-04-07 20:36:04       37 阅读
  3. git环境切换

    2024-04-07 20:36:04       34 阅读
  4. 【STL】概述

    2024-04-07 20:36:04       37 阅读
  5. 系统规划与管理师今年改版?你关心的都在这里

    2024-04-07 20:36:04       40 阅读
  6. 如何利用OceanBase v4.2的 Runtime Filter提升查询效率

    2024-04-07 20:36:04       29 阅读
  7. MySQL 慢查询优化案例

    2024-04-07 20:36:04       38 阅读
  8. RESTful API如何使用及构建 web 应用程序(附代码)

    2024-04-07 20:36:04       42 阅读
  9. Docker是一个开源的应用容器引擎

    2024-04-07 20:36:04       40 阅读