Linux的基本权限

一、对shell的浅显认识

shell是操作系统下的一个外壳程序,无论是Linux操作系统,还是Windows操作系统,用户都不会直接对操作系统本身直接进行操作,需要通过一个外壳程序去间接的进行各种操作

在Linux的shell外壳就是命令行,而Windows的shell外壳就是可视化界面

用户通过shell间接对操作系统操作的意义在于:

1.相对于直接操作,通过命令行或者可视化界面对系统进行操作的上手成本低很多,更加简单操作

2.用户部分不合理或者非法的操作,会被拒绝,相当于加了一层保护

3.在执行命令时,能够创造子进程执行

二、Linux的基本权限

1.对权限的基本认识

对权限的认识,先统一下概念: 权限 = 人 + 事物属性

对个行为的权限,首先得看这个东西它本身是否具备实现这个行为的事物属性,例如:对于一个普通的文本文件而言,它本身是不具备编译代码的功能,这是根据事物属性决定的

此外,还有对人的限制,例如,爱奇艺部分需要付费的影视剧,vip用户有权限观看,而非vip用户则没有权限

因此,谈论权限需要结合人和事物属性一起讨论

2.Linux下关于ls -l 展示的信息

(1)文件中对于用户的划分

ps:首先关于权限中提到的人,之后都是指普通用户,对于管理员root,几乎是具备所有权限的,不参与权限的讨论,所以权限是针对普通用户去设立的

文件对于用户的划分有:

**拥有者:**顾名思义,就是拥有这个文件的用户

**所属组:**所属组的概念是为了部分情况下,某些文件需要对一部分人开放权限,而对另一部分人设置权限的情况而设计的

**other:**除了拥有者和所属组,其他任何用户都属于other

结合ll指令就可看到一个文件的拥有者和所属组,上面的例子由于我是用root账户去执行操作的,所以拥有者和所属组都是root

(2)文件类型和文件属性

文件类型:文本文件、可执行文件、目录等等(刚开始学接触不多,具体可以查一下)

文件属性:可读、可写、可执行

重点是如何读懂上图第一个框的十个字母分别对应代表什么

首先第一个字母代表的是文件类型:

- :普通文件,文本文件,可执行文件,归档文件等等

d:目录

b:块设备、block、磁盘

c:字符设备、键盘、显示器

p:管道文件

s:网络socket文件

l:链接文件 link

剩下九个字母三个一组,对应着不同用户的权限,其中

r:可读

w:可写

x:可执行

-:无该权限

前三个是拥有者的权限,对应读(r)、写(w)、执行(x)

中间三个是所属组的权限

后面三个是other的权限

ps:每个权限的位置严格对应,若没有该权限则为-

例如:

(3)文件名字

关于文件名字,在Linux系统下对于文件类型的识别,不根据后缀去识别,因此对于Linux操作系统而言,文件的名字以及后缀都不影响操作系统识别文件类型,但是不代表我们不需要去使用后缀命名,因为在使用或者执行文件时,通常我们会使用到很多工具(例如gcc等等),这些根据是需要通过文件后缀去识别一个文件类型的,因此在命名的时候,仍然需要注意的文件后缀命名

3.对文件的读写基本指令

ps:这部分主要是我容易忘,所以简单整理一下到这里

(1)读

cat:打印输出

-n 打印时带行号

(2)写

echo:输出字符串

例:echo "666" >> text.txt

4.对权限的操作

对文件权限的操作就是对文件属性(rwx)和文件拥有者以及文件所属组的修改操作

(1)文件属性操作

格式:

第一种:chmod u/g/o/a (此处没有空格)+/-(此处没有空格)rwx file_name

u/g/o/a: u代表拥有者 g代表所属组 o代表other a代表所有,即包括ugo三个

+/-:+代表加权限 -代表取消权限

rwx:分别代表可读、可写、可执行

例:chmod a-rx text.txt (修改text.txt的文件属性,将拥有者、所属组和other的读和执行权限取消)

第二种:也可以用八进制数去修改对应的权限位置

例如:chmod 777 text.txt

其中的777可以看做为111 111 111,也就是将后面九位改成 rwxrwxrwx

一般只有文件的拥有者和root允许对该文件的属性进行操作

(2)更改文件拥有者

格式:chown 拥有者 文件名

例:chown chk test.txt(将test.txt文件的拥有者改为chk)

ps:一般只有root能够更改文件拥有者

(3)更改文件所属组

格式:chgrp 所属组 文件名

例:chgrp chk test.txt(将test.txt文件的所属组改为chk)

ps:root和文件拥有者都可以更改文件所属组

5.默认权限、起始权限和最终权限

例如:普通文件的起始权限是 666(110 110 110),掩码是2(000000010)

则最终权限(默认权限)就是 (110 110 110) & (~000000010) = 110 110 100(rw- rw- r--)

三、目录的权限

1.对目录读、写、执行的认识

目录的r:查看当前目录下文件的文件名字和文件属性的权限

目录的w:创建和删除当前目录下文件的权限

目录的x:进入当前目录的权限

2.粘滞位

粘滞位的作用是,在某些特定情况下,会需要root开启一个共享目录,在这个共享目录中,可以有多个用户同时向其中存放临时数据,其中为了保护不同用户的数据不被其他用户误删或者恶意删除,所以存在粘滞位去制约不同用户之间不允许删除对方的文件

用法:chmod +t 共享目录名称

总结

本篇文章是对Linux下的基本权限学习后的整理和理解

相关推荐
无敌小茶13 分钟前
Linux学习笔记之环境变量
linux·笔记
Harbor Lau26 分钟前
Linux常用中间件命令大全
linux·运维·中间件
漫谈网络44 分钟前
基于 Netmiko 的网络设备自动化操作
运维·自动化·netdevops·netmiko
꧁坚持很酷꧂1 小时前
Linux Ubuntu18.04下安装Qt Craeator 5.12.9(图文详解)
linux·运维·qt
凉、介1 小时前
PCI 总线学习笔记(五)
android·linux·笔记·学习·pcie·pci
电鱼智能的电小鱼2 小时前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
电鱼智能的电小鱼2 小时前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算
小诸葛的博客3 小时前
详解Linux中的定时任务管理工具crond
linux·运维·chrome
一默19913 小时前
CentOS 7.9升级OpenSSH到9.9p2
linux·运维·centos
keep intensify3 小时前
Linux常用指令
linux·服务器·php