Linux权限相关介绍

目录

前言

1.Linux操作系统下的两种用户

 Linux权限管理

Linux文件访问对象分类

文件类型和访问权限

文件类型

基本权限

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

chmod

chown

chgrp

 umask掩码

 目录权限

粘滞位


前言

    权限指的就是我们对于某件事物所能够相关操作,而对于不同对象该所能进行的操作是不同的,所以我们可以认为,权限是与对象和事物属性相关的,而我们就是通过这两点给大家充分的介绍一下Linux相关权限的介绍。


1.Linux操作系统下的两种用户

超级用户:可以再linux系统下做任何事情,不受限制

普通用户:在linux下做有限的事情。

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

命令:su [用户名]

功能:切换用户。

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

普通用户直接使用 su  ,该实际上只是将普通用户切换成超级用户,但是我们现在所处的家目录还是我们普通用户的,但是对于 su - ,这里进行的重新登入的方式切换超级用户,此时的家目录就变成了超级用户

对于普通用户切换普通用户,这里我们可以转换为超级用户,再使用su user,进行直接切换,或者直接su user然后输入对应用的密码即可。

这里给大家简单的演示一下,这里我们先进入一个普通用户:

 Linux权限管理

Linux文件访问对象分类

这里就是小编说到的对象问题,那么我们Linux文件访问的对象一共分为三种:

文件和文件目录的所有者:u---User(中国平民 法律问题)

文件和文件目录的所有者所在的组的用户:g---Group(不多说)(组内协调,但不让其他用户可见)

其它用户:o---Others (外国人)

文件类型和访问权限

对于文件这个事物不同的用户有着对应不同的属性,而这个也就会在我们显示文件属性的时候给我们展现出来,这里我们用ls -l指令将一个文件对应不同对象的权限给大家展示一下

 

 这里我们文件属性与上面对应的是一致的,这里大家可以进行查看理解一下。

文件类型

上面我们看到文件类型所对应展示是的文件属性的第一列位置,那么对于文件的类型我们这里不单单只有一种类型。

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

以上对应的文件,我们现在除了看到文件夹类型和普通文件这类型,还没有看见过其他类型文件,对于其他类型的文件,小编会在以后学习的过程中,不断给大家介绍,现在大家只需要知道,我们具有这些文件类型即可。

基本权限

i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除,增加,移动目录内文件的权限
iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv.“—”表示不具有该项权限

对于权限我们这里一共有两种表示方法:

一种是字符表示:

另外一种就是八进制数值进行表示:

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

chmod

chmod

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

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

常用选项:

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

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

chmod命令修改权限值得格式:

用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号: 
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

由于我们的权限具有两种表示方式,那么我们的修改也具有两种方式:

第一种是我们上面的方式进行修改:

 还有一种是直接使用我们的八进制进行权限修改:


 

chown

功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
对于文件拥有者的修改我们这里只有root账户具有这个功能权限。那么接下来我给大家演示一下:

 

chgrp

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

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

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

对于文件所属组的修改,我们这里也是只有root账户具有这个权限。

 umask掩码

我们这里可以发现,我们每次创建好文件和目录后,该访问权限都给我们已经设计好了,那么我们创建的文件的或者目录的默认权限是什么?

这里可以告诉大家是:

新建文件夹默认权限=0666

新建目录默认权限=0777

那么我们分别创建一个目录和文件,分别可以查看一下该的默认权限值是什么?

 这里换算成八进制分别是:755 ,622

那为什么是这个样子的呢?这里就和我们的umask掩码有关

功能:

(权限掩码:凡是在unmask中出现的权限,不会在最终的文件权限中出现)

查看或修改文件掩码

这里造成这种结果的原因是:创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask(八进制转换为二进制,然后取反unmask最后按位与)。

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

那么我们这里看以超级用户的角度看一下我们默认的umask掩码是多少?

那么该进行权限干涉后,运算后得到的目录和我们的普通文件的权限是否和我们上面的一致呢?这里小编给大家演示一下:

 

 对于umask掩码值我们也可以进行直接修改,达到创建文件时得到不同的权限结果:

 目录权限

目录的权限和我们普通文件所达到的效果不太一致,上面虽然我们已经简单的对其进行了提及,但是这里我们仍然需要着重介绍。

对于一个目录,该读,写,执行权限分别对应的行为是:

1.对于一个目录的读权限该实际上决定的是否展现该目录下的东西

2.对于一个目录的写权限决定的是否允许在当前目录下进行创建,更改,删除

3.对于一个目录的执行权限决定的是是否让用户进入对应目录

(这里就不加以演示,大家可以通过我们上面所介绍的权限修改操作符进行修改,然后执行相关操作查看我们的目录是否可以执行相关功能(给大家一个小考验))

这里我们介绍目录权限,主要还有一个原因,这里大家请听我细细道来:

a.对于我们家目录的权限是:700,因此我们在我们家目录创建的文件,别人都看不到!

 

b.有时候,我们多个用户想进行文件数据的共享,那么我们所创建的共享文件,不能再任何一个人的家目录下。但是这里有一个问题就是一个文件能否被删除,并不由这个文件本身决定,由这个文件所处的目录决定(因此就会出现一个问题是,我们创建的文件会被别人删除)这里如果我们去掉共享目录的写权限,虽然别人无法更改我们的目录,但是,我们同时也无法创建文件了,所以下面我们引入粘置位来解决此类问题。

粘滞位

给目录设置,一般是共享目录,大家可以进行在目录进行各自文件的增删改查,只允许文件拥有者,或者root能删除这个文件,其他人一概不允许,t是一种特殊的x权限。

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

一、超级管理员删除

二、该目录的所有者删除

三、该文件的所有者删除

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux 操作系统中,文件和目录都有权限属性,用于控制对它们的访问权限。这些权限属性包括读、写、执行权限,以及文件所有者、所属组等信息。以下是一些常用的 Linux 权限相关的命令和操作: 1. 查看文件和目录权限 使用 `ls -l` 命令可以查看文件和目录的权限信息: ``` ls -l file_name ls -l directory_name ``` 其中,`file_name` 是要查看权限的文件名称,`directory_name` 是要查看权限的目录名称。 2. 修改文件和目录权限 使用 `chmod` 命令可以修改文件和目录的权限: ``` chmod permissions file_name chmod permissions directory_name ``` 其中,`permissions` 是要设置的权限,可以使用数字或符号两种方式设置。数字方式的权限设置方式为三位数,每一位分别代表所有者、所属组和其他用户的权限。符号方式的权限设置方式为 `u`(所有者)、`g`(所属组)、`o`(其他用户)和 `a`(所有用户),以及 `+`(添加权限)、`-`(删除权限)和 `=`(设置权限)等符号。 例如,要将文件 `file.txt` 的所有者权限设置为可读写,所属组权限设置为只读,其他用户权限设置为不可访问,可以使用以下命令: ``` chmod 640 file.txt ``` 3. 修改文件所有者和所属组 使用 `chown` 命令可以修改文件所有者和所属组: ``` chown owner_name file_name chown owner_name:group_name file_name ``` 其中,`owner_name` 是要设置为文件所有者的用户名,`group_name` 是要设置为文件所属组的组名。 例如,要将文件 `file.txt` 的所有者设置为 `user1`,所属组设置为 `group1`,可以使用以下命令: ``` chown user1:group1 file.txt ``` 以上是一些常用的 Linux 权限相关的命令和操作。在 Linux 系统中,文件和目录的权限管理非常重要,可以保护文件和目录的安全性,防止未经授权的访问和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半只牛马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值