Linux:权限

目录

一、shell运行原理

二、权限

1.权限的概念

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

三、常见的权限问题

1.目录权限

2.umsk(权限掩码)

3.粘滞位


一、shell运行原理

1.为什么我们不是直接访问操作系统?

  1. "人"不善于直接使用操作系统
  2. 如果让人直接访问操作系统,a.操作成本特别高 b.人会犯错,有风险

系统的设计者,不会让"人"直接操作 操作系统

2.我们是如何访问操作系统的?

--通过外壳程序

图形化界面&&指令操作是什么?

--操作系统提供的外壳程序

3.外壳程序的意义

  1. 是用户和操作系统交互的中间软件层(将使用者的命令翻译给核心(kernel)处理。
    同时,将核心的处理结果翻译给使用者)
  2. 可以在一定程度,起到保护操作系统作用

二、权限

1.权限的概念

权限:

针对人,事物的基本属性决定权限相关概念(能否完成一件事情)

权限的核心 = 人 + 事务属性(rwx)

对人操作

--Linux是一个多用户操作系统,Linux下可以存在多个用户

  • root:只用一个,具有Linux下的最高权限(一般不受权限约束)
  • 普通用户:可以有多个,要受权限的约束

--如何切换用户

root < -- 切换 -- > 普通用户 ,切换当前权限

  1. 切换到root su - 然后再输入密码(root) (普通用户和root密码尽量不同)
  2. 切换到普通用户: ctrl + D(退回)
  3. root切换到其它用户: su + 名字
  4. 普通用户切普通用户:su + 名字 然后输入该用户的密码

对角色和文件操作

--角色(人)

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

--文件类型和访问权限(事物属性)

文件类型:

  • d:目录
  • -:普通文件
  • p:管道文件
  • b:块设备
  • c:字符设备

基本权限

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

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

指令:chmod

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

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

选项:

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

改权限

--1.ugo+-修改

复制代码
改权限: chmod  u+x  myfile.txt           (拥有者)
        chmod u-x  myfile.txt
        chmod u+rwx  myfile.txt 
        chmod  g+x  myfile.txt              (所属者)
        chmod  o+r  myfile.txt             (other)

        chmod  u-wx,g-x,o+r myfile.txt 
        chmod  a+x  myfile.txt  (所有人)

相关概念:

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • 用户符号:
  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

--2.八进制修改

复制代码
chmod  777 myfile.txt
(7的二进制:111,1:有权限    0:无权限)

通过二进制的方式,给了拥有者,所属者,其它用户所有读写执行的权限

改人

--更改文件的所属者(需要提升权限)

复制代码
--root下
chown 用户名 文件名(拥有者)
chgrp 用户名 文件名 (所属组)

这里可以看到所属者从root变为zy

补充:

sudo 指向命令后以root权限级别来执行

如果用户想执行sudo,需要将用户添加到信任列表里

三、常见的权限问题

1.目录权限

进入一个目录。需要什么权限?-------x (执行权限)

rw权限限制了用户能否查看和写(执行ls指令,touch/mkdir指令)

补充:权限只会被认证一次,若你是拥有者又是所属者,则只看拥有者权限

2.umsk(权限掩码)

Linux默认:

1.一个目录被创建,起始权限:777

2.一个普通文件被创建,起始权限:666

为什么创建一个目录或文件,默认权限是

d rwx rwx r-x

  • rw- rw- r--

原因:要受到umaks过滤(凡是在umsk中出现的权限,都不应该在最终权限中出现

最终权限 = 起始权限&(~umask)

3.粘滞位

大家所有用户都在一个共同的路径下,对该目录具有读写执行权限

1.当多个用户共享一个目录,需要在该目录下进行,读写,创建文件

2.但是自己只能删除自己的,而不能删除别人的(w:可以互删,但不满足条件)

粘滞位解决上面情况: chmod +t 目录 即可

粘滞位只能给目录设置(谁设置,谁取消)

示例:

现在zy和tmp在同一路径下,都有rwx权限

tmp可以删除zy的文件:

为了防止这种情况发生,我们加上粘滞位,(root下)

然后我们切回tmp,看看还能不能删除zy文件

由于粘滞位,这里不能互删

相关推荐
知北游天2 分钟前
Linux:多线程---深入互斥&&浅谈同步
linux·运维·服务器
Gappsong8744 分钟前
【Linux学习】Linux安装并配置Redis
java·linux·运维·网络安全
try2find37 分钟前
移动conda虚拟环境的安装目录
linux·运维·conda
码农101号1 小时前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
PanZonghui1 小时前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
PanZonghui1 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui1 小时前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui1 小时前
Centos项目部署之Java安装与配置
java·linux
程序员弘羽2 小时前
Linux进程管理:从基础到实战
linux·运维·服务器
PanZonghui2 小时前
Centos项目部署之常用操作命令
linux