第九章:Linux文件系统权限

文件权限和管理

三类对象

owner 属主,缩写u

group 属组,缩写g

other 其他,缩写o

三种主要权限

r:Read 读

w:Write 写

x:eXecute 执行

修改文件或目录的权限

(用字符设置) 1: chmod [选项] [ugoa][+-=][rwx] 文件或目录...

(用数字设置)2: chmod [选项] nnn 文件或目录...

-R:常用选项,递归修改指定目录下所有文件、子目录的权限

ugoa:表示权限设置所针对的用户类别,可以是其中字母中的一个或组合:

u(user)表示文件或目录的属主(所有者);

g(group)表示属组内的用户;

o(others)表示其他用户;

a(all)表示所有用户 (即u+g+o)。

+、-、=:表示设置权限的操作动作,

+代表添加某个权限;

-代表取消某个权限;

=表示只赋予给定的权限,并取消原有的权限。

rwx:用字符形式表示的所设置的权限,可以是其中一个字母或组合

nnn用三位八进制数字表示的权限。

r、w、x有着不同的作用

含义作用:

r(read)

可以读取文件的内容 ;

可以列出目录的内容,即目录下的文件的文件名

w(write)

以更改文件的内容:

可以创建或者删除目录中的任一文件

(只有w权限无法创建删除文件,需要和x权限一起使用)

x(execute)

可以作为可执行文件

可以切换到目录

权限

文件: ---、r--、r-x、rw-、rwx

目录:---、r-x、rwx

修改文件或目录的属主和属组

修改所属者

命令格式 : chown [选项] 新属主[:[新属组]] 文件或目录……

选项: -R 可递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的所属关系。

修改所属组

命令1: chown [选项] :新属组 文件或目录……

命令2: chgrp [选项] 新属组 文件或目录……

文件和目录的特殊权限

SUID 权限

在程序的运行期间, 暂时获得该程序文件所属者的权限。

注意:u+s:

suid仅对二进制文件有效。

在执行过程中,调用者会暂时获得该文件的所有者权限。

该权限只在程序执行的过程中有效。

SGID 权限

文件

g+s

如 果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将会变成该程序文件的所属组。

目录

如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A目录的所属组。

Sticky Bit权限

0+t

当前只针对目录有效, 对文件没有效果。

■ 在 具 有 SBit 的目录下, 用户若在该目录下具有 w 及 x 权限 , 则当用户在该目录下建立文件或目录时, 只有文件拥有者与 root 才有权力删除。

设置文件和目录的特殊权限

0——表示不设置特殊权限

1——表示只设置sticky

2——表示只设置GUID权限

3——表示只设置SGID和sticky权限

4——表示只设置SUID权限

5——表示只设置SUID和sticky权限

6——表示只设置SUID和SGID

7——表示同时设置SUID、GUID、sticky3种权限

注意:先改所属者和所属组,再去改权限

ACL权限

1、ACL权限管理命令

设定ACL根

setfacl 选项 文件名

选项:

-m:设定 ACL 权限。

如果是给予用户 ACL 权限,

则使用 u:用户名:权限 格式赋予;

如果是给予组ACL 权限,

则使用 g:组名:权限" 格式赋予;

-x:删除指定的 ACL 权限;

-b:删除所有的 ACL 权限;

-d:设定默认 ACL 权限。

只对目录生效,指目录中新建立的文件拥有此默认权限;

-k:删除默认 ACL 权限;

-R:递归设定 ACL 权限。

指设定的 ACL 权限会对目录下的所有子文件生效;

#给用户和用户组添加ACL权限

给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名

给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名

#通过加上选项 -R 递归设定文件的 ACL 权限,所有的子目录和子文件也会拥有相同的 ACL 权限

setfacl -Rm u:用户名:权限 -R 文件名

#如果给父目录设定了默认的 ACL 权限,那么父目录中所有新建的子文件会继承父目录的 ACL 权限

setfacl -m d:u:用户名:权限 文件名

setfacl -md u:用户名:权限 文件名

删除ACL权限:

#删除指定用户的 ACL 权限

setfacl -x u:用户名 文件名

#删除指定用户组的 ACL 权限

setfacl -x g:组名 文件名

#删除文件的所有 ACL 权限

setfacl -b 文件名

查看ACL权限

[root@localhost ~]# getfacle 文件名

2、最大有效权限 mask

setfacl -m m:权限 文件名

权限掩码umask

新建文件的默认权限=0666-umask值

新建目录的默认权限=0777-umask值

查看当前用户的umask权限

umask

修改shell umask值(临时)

umask 000

修改shell umask值(永久)

vim /etc/profile(去到里面编辑信息并且保存)

拓展:修改文件的扩展属性

1、设置文件的扩展属性

命令格式 :

chattr [ -R ] [+-=acdijsuADS] 文件或目录名

-R : 递归设置指定目录及其目录下的所有文件和子目录的属性;

-V : 详细显示目录和文件的属性设置情况。

+ : 增加某项属性;

- : 取消某项属性;

= : 设置文件或目录 只具有哪些属性;

a : 只允许向文件追加数据,不允许任何进程覆盖重写文件的内容。

A : 设置不允许系统更新文件的最后访问时间。

i : 不可修改属性。具有该属性的文件不能被删除、更名或修改其内容。

c : 压缩属性,写入或读取时,系统会自动进行压缩或解压缩。

s : 安全删除属性。

即在删除一个文件时,会使用0填充原文件所在的存贮区,以使恢复工具无法恢复出文件的内容。

u : 可恢复性的删除。

对于具有该属性的文件,在删除时,系统会保留其数据块以便以后能恢复该文件的内容

2、查看文件的扩展属性

命令格式 :

lsattr [-adR] 文件名或目录名

-a:列出目录中的所有文件(包括隐藏文件)。

-d:列出目录文件的扩展属性。

-R:以递归的方式列出目录的属性及其内容。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

RongChuJie

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

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

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

打赏作者

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

抵扣说明:

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

余额充值