Linux 权限

简介: Linux 权限


Linux权限的概念

在Linux有两种用户,一种是超级用户:root;一种是普通用户;

超级用户只有一位,而普通用户可以无数位;

超级用户:拥有在Linux系统的所有权限,做什么事都不会被限制;

普通用户:在做一些事情时,会受到一定程度的限制;

创建新的用户

在root权限下,可以创建出新的普通用户;我们可以先用指令先辨别我们的身份:

然后输入这样的指令,即可创建一个新的用户:

接着会让你输入对应的账号密码,需要两次进行确定;

我们可以在/home目录中查询当前的普通用户:

切换用户

命令:su [用户名]

超级用户的命令提示符是“#”,普通用户的命令提示符是“$“

接着我们可以用指令whoami来确认我们当前的用户;

普通用户视为权限都是一样的(没有特殊授权的情况下);root用户永远比普通用户高上一等;所以在普通用户之间进行切换时,需要对方用户的密码;

普通用户切换到超级用户,更需要超级用户的密码了;

指令:su -

删除用户

指令:userdel -r 用户名

删除用户的权限,只有超级用户才有的;

Linux权限管理

当我们输入指令 ll 时,就会弹出目录或者文件的详细信息;

这些信息在基本指令上粗略讲过;这次我们来详细讲解一波;

文件类型:

d:目录文件。这是很常见的文件类型,用于组织和存储其他文件。每个目录文件都包含了一个或多个目录项,每个目录项对应着一个文件或子目录。

-:普通文件。这是最常见的文件类型,包括文本文件,二进制文件、图像文件、图像文件等。所以对于Linux来说,文件是没有后缀名的

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等):用于与块设备(硬盘、闪存等)进行交互。

p:管道文件:用于实现进程间的通信,遵循先进先出的原则。

c:字符设备文件(例如屏幕等串口设备):用于与字符设备(打印机)进行交互。

s:套接口文件:这是一种用于进程间通信的文件类型。可以使不同的进程能够通信。

文件访问者的分类

文件所有者(u:user):表示文件或目录的创建者/所有者。该用户对文件有最高的权限,可以进行读取(r:read)、写入(r:write)和执行(x:execute)的操作。

文件所有者所在组的用户(g:group):表示与文件所有者同一组的其他用户。这些用户对于文件拥有的权限与文件所有者相同,可以读取、写入和执行。

其他用户(o:others):表示除文件所有者和所在组用户之外的所有用户。这些用户对于文件的权限受到限制,可以根据权限设置进行读取、写入和执行。

文件权限的表示方法

它也可以用8进制数值的表示方法

文件访问权限的相关设置方法

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

① 用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

对于超级用户来说,它拥有所有的权限,所以即使给他去掉权限,它也可以访问:

所以这里将使用普通用户来展示:

当然也可以使用8进制数值的方式:

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

发现同为普通用户没有改变使用者的权限;

超级用户可以;

改完之后该使用者(yhs)没有权限去修改;

而由于该目录是在yhs的目录下的,所以user2也没有办法去修改;

原因是在其他用户中没有写权限,也就是没办法去修改

chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项:-R 递归修改文件或目录的所属组

umask

功能:查看或修改文件掩码

新建文件夹默认权限=0666

新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到

umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是mask& ~umask

将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

我们也可以修改这个掩码值,

file

功能:可以识别文件类型

语法:file [选项] 文件或目录…

目录的权限

一般来说,只要用户只要有写权限,那么他就可以去删除该文件;

那么root创建的文件,普通用户也可以进行删除吗?

究其原因是在home目录下各个用户都有权限去删除文件

所以在Linux中,引入了粘滞位;

粘滞位

这也是一种权限标志,用于特定目录(如共享的目录)上执行的权限。当粘滞位被设置在一个目录上时,只有对该目录具有写权限的用户,文件的拥有者和root可以删除,其他用户无法删除。

将t权限删除时,t权限会变回x执行权限;

当然,一般来说我们不用设置该权限,只是要知道,在一些特殊的目录下,是拥有该权限的即可。

相关文章
|
20天前
|
安全 Linux 数据安全/隐私保护
Linux权限详解
Linux权限详解
|
30天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
1月前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
1月前
|
Shell Linux 程序员
Linux:权限篇 (彻底理清权限逻辑!)
Linux:权限篇 (彻底理清权限逻辑!)
52 1
|
4天前
|
安全 Linux Shell
【linux基础(四)】对Linux权限的理解
【linux基础(四)】对Linux权限的理解
|
4天前
|
Linux 网络安全 数据安全/隐私保护
Linux 如何关闭防火墙(开启管理员权限)
Linux 如何关闭防火墙(开启管理员权限)
7 0
|
5天前
|
Linux 数据安全/隐私保护 Windows
Linux的学习之路:4、权限
Linux的学习之路:4、权限
17 0
|
1月前
|
Ubuntu 关系型数据库 MySQL
linux创建用户创建组删除用户以及组分配权限
linux创建用户创建组删除用户以及组分配权限
10 0
|
1月前
|
Shell Linux 开发工具
shell的介绍以及Linux权限的讲解
shell的介绍以及Linux权限的讲解
31 2
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 设置终端机的写入权限 mesg 命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置终端机的写入权限 mesg 命令 使用指南
23 0