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

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

粘滞位 :

相关推荐
镜子AI11 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo12 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
HideF12 小时前
Linux sudo
linux
FlightYe12 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎13 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
知已难寻14 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning14 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
牛马鸡niumasi15 小时前
【Linux】C语言文件操作
linux
say_fall15 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii15 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器