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下的基本权限学习后的整理和理解

相关推荐
石牌桥网管11 分钟前
DNS Resolver解析服务器出口IP查询
运维·网络·tcp/ip·dns
LKAI.12 分钟前
华为路由策略配置
运维·网络·华为·智能路由器
IpdataCloud17 分钟前
IP数据云 识别和分析tor、proxy等各类型代理
运维·服务器
五味香18 分钟前
Linux学习,ip 命令
linux·服务器·c语言·开发语言·git·学习·tcp/ip
想学习java初学者36 分钟前
Docker compose部署elasticsearch(单机版)
运维·docker·容器
落落落sss43 分钟前
MQ集群
java·服务器·开发语言·后端·elasticsearch·adb·ruby
我救我自己43 分钟前
UE5运行时创建slate窗口
java·服务器·ue5
人类群星闪耀时1 小时前
未来运维的发展趋势:运维领域的新技术与趋势
运维
落非1 小时前
NFS存储基础操作
运维
Vanish_ran1 小时前
gitlab与jenkins
运维·gitlab·jenkins