linux文件普通权限,Linux普通文件和目录的权限意义和文件权限管理

一、Linux普通文件和目录的权限意义

在linux中文件权限设置对于普通文件和目录文件来说产生的控制是不同的。

1 - 针对普通文件的权限

r(read):可读取此文件的实际内容,例如文本文件的内容

w(write):文件写入权限,可以修改、新增和删除文件的内容

x(execute):文件可被系统执行的权限

2 - 针对目录的权限

r(read contents in directory):表示具有读取目录结构列表的权限,当具有目录r权限时可以通过ls命令将该目录下所有文件的文件名列表显示出来,此外其他信息无法获取

w(modify contents of directory):表示具有更改目录结构列表的权限。包括在该目录下创建删除文件与目录,重命名文件或目录,转移该目录下文件或目录到新的位置

x(access directory):表示具有访问当前目录的权限

二、Linux文件的权限管理

Linux中文件权限的修改通过chmod命令,权限的设置方法包括两种:1数字类型改变文件权限;2字符类型改变文件权限。下面我们分别讲解两种方式。

1 - 字符类型改变文件权限

568c331aed1cb8c8344c6a1e87f3dcd7.png

使用示例:

1.设置文件/tmp/test/last.txt的权限为所有者可读可写可执行,用户组和不属于本组的其他人没有任何权限,对应的Linux命令如下

chmod u=rwx,g=,o= test.txt

2.为用户组新增读权限Linux命令如下

chmod g+r test.txt

3.剥夺文件所有者的写入权限,Linux命令如下

chmod u-w test.txt

2 - 数字类型改变文件权限

各权限的分数对照表如下

r:4

w:2

x:1

使用示例:

修改目录/tmp/test的权限为rwxrwx---修改权限指令对应如下:

chmod -R 770 /tmp/test

三、Linux文件和目录的默认权限umask

umask主要用于指定用户在新建文件和目录时的"默认所有权限需要减去的权限"。

文件和目录的默认权限

若用户新建文件,默认是没有可执行的权限“x”,也就是只有r、w两个权限,默认权限的数字表示为666,字符表示为-rw-rw-rw.

若用户新建目录,因为x权限提供了进入这个目录的权限所以目录默认所有权限均开放,默认权限的数字表示为777,字符表示为drwxrwxrwx

1 - 查看默认权限umask

## 1.方法一直接输入umask查看数字形态的权限设置分数

umask

## 2.方法二指定参数-S以符号类型查看默认权限

umask -S

umask的默认权限设置分数为022,对应的字符表示为--w--w--w-

1)用户新建文件时,默认文件拥有的所有权限为666减去umask的权限设置参数022,得出新建文件的默认权限为644,字符表示为-rw-r--r--,也就是新建文件文件所有者默认具备可读可写权限,用户组和其他用户只有可读权限;

2)用户新建目录时,默认目录拥有的所有权限为777减去mask的权限设置参数022,得出新建目录的默认权限为755,权限字符表示为drwxr-xr-x,也就是新建目录文件所有者拥有读、写、执行所有权限,所在用户组和其他用户只有读和执行权限,也就是用户组和其他用户只能进入该目录查看目录下的文件和子目录的列表信息

2 - 设置文件和目录的默认权限

可直接在umask命令之后设置文件和目录“默认所有权限需要减去的权限”进而确定文件和目录的默认权限

umask 002

## 1.文件默认拥有的所有权限为666,减去002,得出用户新建文件的默认权限为664,即-rw-rw-r--,文件所有者和用户组用户均拥##有文件的读写权限,其他用户只有读权限

## 2.目录默认的所有者权限为777,减去002,得出用户新建文件的默认权限为775,即drwxrwxr-x,文件所有者和用户组用户均

## 拥有文件的读、写、执行权限,其他用户只有读和执行权限即可以进入该目录获取子目录和文件信息,但如果没有文件的读权限r则不## 能读取文件内容

四、Linux文件的特殊权限SUID,SGID和SBIT

我们之前了解的文件权限只有r(读)、w(写)和x(执行)权限,但在有时候使用ls -l查看文件和目录文件属性会发现部分文件或目录的权限列信息有些奇怪,例如:

-rwsr-xr-x ......................

这里s就是我们要讲的文件的特殊权限,文件的特殊权限与系统的进程有关感兴趣的可以自行去了解,我们这边只做简单了解和设置

1 - SUID特殊权限

当s这个符号出现再文件所有者权限x的位置例如-rwsr-xr-x时文件就具有SUID特殊权限,那么SUID特殊权限有什么用呢,简单来讲SUID有以下的作用和使用限制:

1)SUID对于目录无效,且仅对二进制程序有效;

2)执行者需要对该可执行文件具有x(可执行)权限;

3)本权限仅在执行程序的过程中有效;

4)程序执行过程中短暂的获得文件所有者的权限。

简单来讲就是设置了SUID特殊权限的文件,用户只要拥有该文件的执行权限那么在执行过程中就能短暂获得文件所有者的所有权限,进行一些该用户本身无权限进行的操作。

2 - SGID特殊权限

当s符号出现在文件所属用户组权限中x的位置例如-rwx--s--x,这就被称为SGID特殊权限,SGID特殊权限对于文件和目录均有效。

对于文件来说SGID有以下功能和使用限制:

1)SGID只对二进制程序有效;

2)文件执行者需要具备该文件的x权限;

3)程序只在执行过程中短暂获得文件所属用户组的权限。

## 1.以用户zhangyanqing登陆系统

## 我们知道操作系统中有一个文件列表库,位于/var/lib/mlocate/mlocate.db,locate命令通过查询这个文件列表库查找文件

## 我们先使用ls命令来看看该文件的权限信息

ls -l /var/lib/mlocate/mlocate.db

终端显示结果:

-rw-r-----. 1 root slocate 3472922 8月 3 09:53 /var/lib/mlocate/mlocate.db

## 从结果中可以看出只有文件所有者root和所属用户组slocate有查看该文件内容的权限那么我们使用locate怎么能查看该文件内容## ,先使用which命令查看locate命令所在的文件路径

which locate

## 终端显示:/usr/bin/locate

## 使用ls -l查看locate文件权限

ls -l /usr/bin/locate

## 终端显示:-rwx--s--x. 1 root slocate 40512 11月 5 2016 /usr/bin/locate

## 到这里我们就清楚了,根据命令执行结果可以知道locate命令具有SGID特殊权限,普通用户属于其他用户只有locate的x执行权限

## 但由于locate的SGID的特殊权限在locate命令执行时当前用户拥有用户组slocate的所有权限,

## 因此可以访问操作系统文件列表库/var/lib/mlocate/mlocate.db

对于目录来说SGID具有如下功能和使用限制:

1)若用户对该目录具有r和x权限,用户可以进入该目录;

2)用户在此目录下具有w的权限,则用户所创建的新文件的用户组与此目录的用户组相同;

3)用户在此目录下的有效用户组将会变成此目录的用户组

3 - SBIT特殊权限

当t符号出现在文件其他人权限中x的位置时例如drwxrwxrwt,这时文件具有SBIT特殊权限。SBIT目前只对目录有效,它的主要作用和使用限制是:

1)用户对目录具有wx的权限;

2)该目录加上了SBIT特殊权限则当用户在该目录下创建文件或目录时,则除了root用户,只有该用户能删除、重命名和移动自己创建的文件和目录,而无法删除其他用户的文件

4 - SUID/SGID/GBIT特殊权限设置

1)数字法设置:

我们都知道数字法设置文件权限方式是三个数字的组合xyz,三个数字分别标识文件所有者、所属用户组和其他用户的权限,那么文件特殊权限的设置其实就是在前面加上一个数字标识特殊权限,三个特殊权限的数字标识分别如下:

SUID : 4

SGID : 2

SBIT : 1

使用示例:

## 1.为文件test.sh增加SUID特殊权限

chmod 4755 test.sh

## 2.为文件test.sh增加SGID权限

chmod 2755 test.sh

## 3.为目录/tmp增加SBIT权限

chmod 1766 /tmp

## 4.为文件test.sh增加SUID和SGID特殊权限

chmod 6755 test.sh

2 )符号法设置:

符号法设置特殊权限命令如下

SUID : chmod u+s 文件

SGID :chmod g+s 文件或目录

SBIT :chmod o+t 目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值