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文件

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

相关推荐
Dola_Pan1 小时前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
城南云小白3 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
咩咩大主教3 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
Flying_Fish_roe3 小时前
linux-网络管理-网络配置
linux·网络·php
FuLLovers3 小时前
2024-09-13 冯诺依曼体系结构 OS管理 进程
linux·开发语言
xuanyu224 小时前
Linux常用指令
linux·运维·人工智能
有时间要学习5 小时前
Linux——应用层自定义协议与序列化
linux·服务器·网络
阑梦清川5 小时前
简明linux系统编程--互斥锁--TCP--UDP初识
linux·udp·tcp·互斥锁·信号·解锁·加锁
hardStudy_h5 小时前
Linux——常用系统设置和快捷键操作指令
linux·运维·服务器
XF鸭6 小时前
TCP 和 UDP 协议的区别?
linux