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的权限都要有。

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

粘滞位

相关推荐
2401_8920709821 小时前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
雪可问春风21 小时前
docker环境部署
运维·docker·容器
lwx91485221 小时前
Linux-Shell算术运算
linux·运维·服务器
翻斗包菜21 小时前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
somi721 小时前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
双份浓缩馥芮白21 小时前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
海的透彻1 天前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
黄昏晓x1 天前
Linux ---- UDP和TCP
linux·tcp/ip·udp
路溪非溪1 天前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神1 天前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习