Linux权限

目录

一,引言

二,角色与文件属性

三,文件访问权限的相关方法

1,chmod--设置文件的访问权限

2,chown/chgrp--修改拥有者/所属组

3,umask--默认权限机制

四,目录下的权限及粘滞位


一,引言

权限的存在本质上说就是限制人那些可以做那些不可以做。在Linux中一切皆文件,就转变成限制那些人对文件的属性有那些权限。为此:权限 = 角色(人) + 文件属性

二,角色与文件属性

在Linux中一个文件的角色有三种:拥有者,所属组,other分别用(u , g , o)进行表示。在进行操作一个文件时,若该操作者既不是拥有者,也不是所属组那就是other。为此在展示文件属性时other并不显示如下:

这里所属组的权限设置:使用了Linux作为多人共同开发的对权限的需求。

文件属性中列出的第一个字符表示文件类型,文件类型可以简单分为以下几种:

1,-开头的为普通文件 2,d开头为文件夹 3,l开头的为软链接 4,p开头的为管道文件。

上图中展示的就以(-)开头:普通文件。


第2个字符到第10个字符表示权限位

**权限位:**读(r) 写(w) 执行(x) 这三种。其中r表示具有读权限,w表示具有写权限,x具有执行权限。-表示具有该位置的权限。

从第二个字符开始以此代表拥有者,所属组,以及other的权限位。

例如上图中cao1.txt的权限信息为:该文件的拥有者为root权限为读写不可执行,所属组为root权限为读不可写不可执行,other的权限为读不可写不可执行。

为此,在描述一个文件的权限信息时应要准确的描述出角色和目标属性。


三,文件访问权限的相关方法

1,chmod--设置文件的访问权限

格式:chmod (用户+/-(表示增加/减少某种权限)权限 文件名

例如:起初cao1.txt的权限如下图:

执行:chmod u+x cao1.txt 如下图:

此时root权限增加x权限。

上述操作可以同时修改多名角色以及多种属性。

例如:在上述基础上执行:chmod go+wx cao1.txt 。如下图

注意:用户只能更改自己创建的文件权限,别的用户是没有权限更别别人文件权限。


2,chown/chgrp--修改拥有者/所属组

格式:chown/chgrp 用户组名 文件名

在普通账户下是不允许将自己文件的所有者权限更改,若要更改必须要进行提高权限操作才可以进行修改。


3,umask--默认权限机制

在创建文件或目录,会生成默认权限。

文件一般为:666即(rw-rw-rw-)

目录一般为:777即(rwxrwxrwx)

但是当新建的目录或文件的权限如下图:

这是由于最终权限:默认权限&(~umask)值。

umask格式:umask

四,目录下的权限及粘滞位

在一个普通文件中若没有读权限就无法打开,没有写权限就无法写入,没有可执行就无法运行。在可执行这一权限需要注意的是该文件有可执行权限并不代表这一定可以执行。只是说具有了可执行的前提条件。

在目录文件中若没有r权限就无法查看当前目录:如图:

若没有w权限就无法在该目录下创建以及删除文件。

若没有x权限就无法进入该目录。

为此:默认创建一个目录rwx的权限都要有。

此时就会发现若要删除一个目录下的文件和该文件的权限是没有关系的。而在多人使用公共目录下,有时要保证非拥有者不能删除该文件。由此产生粘滞位。

粘滞位

相关推荐
REDcker2 分钟前
gRPC完整文档
服务器·网络·c++·网络协议·grpc
Highcharts.js5 分钟前
如何设置自定义Highcharts导出服务器?
服务器·highcharts·自定义导出·导出服务器·导出模块·渲染功能
陈桴浮海8 分钟前
【Linux&Ansible】学习笔记合集三
linux·运维·云原生·ansible
小Pawn爷9 分钟前
1.Docker基础
运维·docker·容器
chinesegf12 分钟前
清理docker残留镜像images
运维·docker·容器
江湖有缘16 分钟前
基于华为openEuler系统部署Gitblit服务器
运维·服务器·华为
yuanmenghao19 分钟前
Linux 性能实战 | 第 10 篇 CPU 缓存与内存访问延迟
linux·服务器·缓存·性能优化·自动驾驶·unix
EnglishJun26 分钟前
Linux系统编程(二)---学习Linux系统函数
linux·运维·学习
QT.qtqtqtqtqt28 分钟前
SQL注入漏洞
java·服务器·sql·安全
小Pawn爷30 分钟前
2.Docker的存储
运维·docker·容器