【Linux】权限

目录

权限的概念

切换用户

Linux权限管理

1.文件访问者的分类(人)

2.文件类型和访问权限(事物属性)

文件权限值的表示方法

字符表示法

权限值表示法

文件访问权限设置

更改所属文件的拥有者或所属组

sudo 单次更改权限

umask : 查看或修改文件掩码

目录的权限

粘滞位


权限的概念

Linux下有两种用户:超级用户(root)、普通用户。

超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。

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

切换用户

命令: su [用户名]

root变成普通用户不需要密码

Linux权限管理

1.文件访问者的分类(人)

文件和文件目录的所有者:u (User拥有者)

文件和文件目录的所有者所在的组的用户:g (Group所属组)

其它用户:o (Others其他人)0.

2.文件类型和访问权限(事物属性)

文件类型:

d:文件夹

-:普通文件

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

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

基本权限:

r : 读

w :写

x : 可执行

拥有者(文件所有者):文件所属者

所属组:文件属于哪一个组

other: 不属于上面两种的任何一个

注:权限是对特定的文件实现组内管理

文件权限值的表示方法

字符表示法

表示说明LINUX表示说明
r -只读-w-仅可写
--x仅可执行rw-可读可写
-wx可写和可执行r-x可读可执行
rwx可读可写可执行---无权限

权限值表示法

权限符号(读写执行)八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
---0000

文件访问权限设置

命令: chmod

功能:设置文件的访问权限 格式: chmod [参数] [权限] [文件名]

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

chmod命令权限格式:

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

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

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

u:拥有者 g:拥有者同组用

o:其它用户

a:所有用户

一次性修改权限

方法一:

方法二:a:所有用户

方法三:权值(8进制)更改权限

更改所属文件的拥有者或所属组

chown : 修改文件的拥有者

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

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

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

系统依次按顺序查看权限,若你是所有者且没rwx权限,而你在所属组内有相应权限,也是不能进行rwx的

sudo 单次更改权限

sudo:只是此次操作用的是root的权限

如果用户想执行sudo,需要提升权限。用户要在信任列表中,才可执行sudo。 添加用户到信任列表也需要root权限

umask : 查看或修改文件掩码

当我们新建一个目录:

此时该目录默认other缺少写权限,我们可以通过umask掩码改变默认权限

查看umask默认值:

主要注意到掩码后3位

002中2的位置为other对用二进制010,而同时具备rwx为111,将111和010进行按位与运算->101->r-x

更改umask:

umask [权限模式]

此时创建目录的默认权限:

目录的权限

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中. 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

如果我们要进入一个目录,那么需要的是什么权限?答案是x,r权限表示在目录中能否查看文件的属性,w权限表示你能不能在目录里创建文件。那么这里就可以知道为什么系统要规定一个目录必须是777开始的,因为所有的目录被创建出来,一般都是要能被进入的!

于是, 问题来了~ , 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。为了解决这个不科学的问题, Linux引入了粘滞位的概念。

粘滞位

粘滞位(Sticky Bit)是一种特殊的文件权限属性,通常应用于目录上。粘滞位可以防止普通用户删除其他用户在同一目录下创建的文件,即使这些普通用户对于该文件有写权限。

在具有粘滞位的目录中,只有文件的所有者、目录的所有者或者 root 用户才能删除该目录下的文件,其他普通用户不具备删除权限。这可以防止一些恶意行为,比如用户故意删除其他用户的文件或目录。

在 Linux 系统中,粘滞位通常通过在目录权限中使用 “+t” 表示。例如,设置目录的权限为 “drwxrwxrwt” 时,表示该目录启用了粘滞位。最常见的例子是 /tmp 目录,这个目录启用了粘滞位,以确保所有用户都能够向其中写入文件,但只有自己或管理员能够删除。

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

  1. 超级管理员删除

  2. 该目录的所有者删除

  3. 该文件的所有者删除

注意:在当前文件(dir)增加或删除文件,跟本身文件权限无关,跟目录有关

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值