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执行权限;

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

相关推荐
chinayu20072 分钟前
虚拟机桥接模式
linux·运维·桥接模式
1LOVESJohnny6 分钟前
Linux | scp指令基于WSL在Windows/Ubuntu系统间传输文件
linux·ubuntu·wsl·文件传输
Tttian62211 分钟前
基于Pycharm与数据库的新闻管理系统(2)Redis
数据库·redis·pycharm
vvw&27 分钟前
如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
linux·运维·服务器·ubuntu·开源·github·graylog
大哥_ZH31 分钟前
Linux umami在国产麒麟系统安装网站统计工具(只能上国内网站的系统)
linux·服务器
o(╥﹏╥)1 小时前
在 Ubuntu 上安装 VS Code
linux·运维·vscode·ubuntu·vs
做梦敲代码1 小时前
达梦数据库-读写分离集群部署
数据库·达梦数据库
不爱学英文的码字机器1 小时前
[Linux] Shell 命令及运行原理
linux·运维·服务器
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
qq_433618441 小时前
shell 编程(三)
linux·运维·服务器