linux查看文件和子目录权限设置密码,Linux文件目录权限、隐藏属性、特殊权限...

一 Linux文件及目录权限概念 1 查看目录或者文件的权限

2 目录及文件权限分析

3 文件与目录的默认权限umask

4 更改文件或者目录的属性和权限

二 文件与目录的隐藏属性和特殊权限 1 文件与目录的隐藏属性

2 文件的特殊权限SUIDSGIDSBIT 设置特殊权限的命令

一、 Linux文件及目录权限概念

1.1 查看目录或者文件的权限

“ls -al”命令可以查看

215002152_1_20210206084900865

1.2 目录及文件权限分析

从上面的图中可以看到,目录或者文件的属性字段为:

- - - - - - - - - -

从左至右分别表示:文件的类型、文件(目录)拥有者的读权限(u)、文件(目录)拥有者的写权限(w)、文件(目录)拥有者的执行权限(x),后面以此类推分别为所属组和其他人的对此文件(目录)的权限。 第一个字符-文件类型

[d]:目录

[-]:文件

[l]:链接文件

[b]:可随机存储设备

[c]:一次性读取设备(键盘、鼠标等)

三个为一组的权限

r:可读,用数字4表示

w:可写,用数字2表示

x:可执行,用数字1表示

对于文件来说:r表示可以读取文件里面的内容、w表示可以向文件写入内容、x表示可以执行该文件(前提是该文件是可执行文件)。

对于目录来说:r表示可以读取该目录下的文件,例如可以使用ls显示目录里面的文件、w表示可以在目录下创建文件、x表示可以进入目录,例如可以使用cd 进入一个目录。

1.3 文件与目录的默认权限umask 首先执行命令umask查看一下:

215002152_2_20210206084901117

我们发现显示的是0022,那么它们代表什么意思呢?现在新建一个文件和目录,然后查看新建的文件和目录的权限。

215002152_3_20210206084901224

从图中可以看出新建的f1文件权限为644,新建的目录d1权限为755,如果一个文件或者文件具有全部权限,那么它的权限为777,我们可以发现777去掉022就是755,其实umask代表的就是新建的文件或者目录去掉的权限,但是新建文件不具备执行权限,因此还要在umask的基础上再去掉执行权限!所以新建的文件权限就是644了!

1.4 更改文件或者目录的属性和权限 chown:更改文件拥有者

chgrp:更改文件所属组

chmod:更改文件权限,包括后面会说到的SUID等

215002152_4_20210206084901427

二 文件与目录的隐藏属性和特殊权限

2.1 文件与目录的隐藏属性 chattr设置文件隐藏属性

chattr [+-=] [ASacdistu] 其中[]代表里面的参数可选

A:存取文件时,atime不会被修改,可避免过度I/O操作

S:进行任何的文件修改都会同步到磁盘(sync)

a:这个文件只能增加数据,不能删除也不能修改文件数据,只有root才能设置这个属性

c:会自动对文件进行压缩,读取的时候回自动解压缩

d:当dump程序被执行时,可使文件不被dump备份

i:让一个文件不被删除、改名、设置链接也无法写入或新增数据

s:如果一个文件被删除,它将完全从磁盘删除

u:如果文件被删除,数据的内容还存在在磁盘中

lsattr显示文件隐藏属性

lsattr [-adR] 文件或目录

-a:将文件的隐藏属性显示出来

-d:如果接的是目录,仅列出目录本身的属性而非目录内的文件

-R:连同子目录的属性也一并显示

215002152_5_20210206084901537

从上图可以看出设置了i隐藏属性后,root也无法删除,必须把i属性去掉才可以删除。

2.2 文件的特殊权限SUID、SGID、SBIT

SUID(set UID)

当S出现在文件拥有者的x权限上面时,执行者在执行该文件的过程中拥有该文件拥有者的权限!例如/etc/passwd文件

215002152_6_20210206084901803

虽然该文件(命令)所输入和所属组都是root,但是每个人都可以修改自己的密码,因为在执行该文件(命令)的时候,设置了UID,就拥有了root权限。

SUID只对可执行文件有效!,也就是二进制文件

SGID(set GID)

SGID对文件和目录都有效,其效果分别如下表述:

—-针对文件,SGID对二进制文件有效、执行者需要拥有执行文件的X权限,执行者执行过程中会获得程序文件群组的支持!

例如locate程序去查找mlocate.db数据库:

215002152_7_20210206084901912

从上面可以知道,locate文件(命令)的组X权限具有S权限,那么执行的人在执行locate时候将会获得slocate群组的权限,这样就可以查看mlocate.db的内容了。

—-针对目录,SGID设置在目录的X上面,如果执行者具有目录的w和x权限,那么执行者在该目录下所创建的文件具有和目录相同的所属组!

SBIT (Sticky Bit)

只对目录有效,对目录设置了SBIT之后,在目录中创建的文件只能自己和root可以删除。用鸟哥的话说:“当甲这个使用者于 A 目录是具有群组或其他人的身份,并且拥有该目录 w 的权限, 这表示“甲使用者对该目录内任何人创建的目录或文件均可进行 “删除/更名/搬移” 等动作。”不过,如果将 A 目录加上了 SBIT 的权限项目时, 则甲只能够针对自己创建的文件或目录进行删除/更名/移动等动作,而无法删除他人的文件。”可以自己试试操作!

设置特殊权限的命令

4—SUID

2—SGID

1—SBIT

215002152_8_20210206084902130

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值