美文网首页我爱编程
1-7RHEL7文件的权限管理

1-7RHEL7文件的权限管理

作者: 秋的懵懂 | 来源:发表于2018-05-28 15:59 被阅读0次

时间:2018-05-26 姓名:魏文应


一、权限的作用

通过设置权限,可以达到以下三种控制效果:

  • 只允许自己访问。
  • 预先指定一个用户组,允许组中的用户访问。
  • 系统中任何用户都可以访问。

权限参数说明:

通过 ls -l,列出当前文件夹文件相关参数,比如:

drwxr-xr-x. 2 root root  4096 May 23 16:54 Desktop
d rwx r-x r-x 2 root root 4096 May 23 16:54 Desktop
文件类型 拥有者的权限 所属组的权限 其他人的权限 硬链接数目 拥有者 属组 文件大小 最后修改时间 对象

文件类型:

参数 说明
p 表示命名管道文件
d 表示目录文件
l 表示符号连接文件
- 表示普通文件
s 表示socket文件
c 表示字符设备文件
b 表示块设备文件

权限类型:

参数 对于文件来说 对于目录来说 没有权限
r 读(看到目录里面有什么):ls - 表示没有该权限
w 创建、删除、移动文件:touch mkdir rm mv cp - 表示没有该权限
x 执行 进入 : cd cat - 表示没有该权限

二、权限查看与修改

  • 查看权限:ls -l (加上 -l 参数)。
  • 查看权限: ll -d a.txt (查看a.txt文件)。
  • 查看文件具体详细信息: stat a.txt (查看a.txt文件)。

修改文件权限

用英文字母方法修改(中间的+、-表示添加还是删除该用户的对应权限):

参数 对应的意思 权限参数 举例子
u 拥有者(user) w、r、x chmod u+w 表示给拥有者添加写权限
g 组(group) w、r、x chmod g-w 表示给组内所有用户去掉写权限
o 其它用户(other) w、r、x chmod o-w 表示给其它用户去掉写权限
a 所有用户(all) w、r、x chmod a-w 表示给所有用户去掉写权限

权限参数对应的数值:

权限参数 功能 对应二进制 对应十进制
r 100 4
w 010 2
x 执行 001 1

权限参数组合的值:

要修改的权限 计算方法 十进制的值
rwx 4 + 2 + 1 7
rw- 4 + 2 + 0 6
r-x 4 + 0 + 1 5
r-- 4 + 0 + 0 4
-wx 0 + 2 + 1 3
-w- 0 + 2 + 0 2
--x 0 + 0 + 1 1
--- 0 + 0 + 0 0

使用数值方法修改权限:

比如,我们要把文件 a.txt 的权限修改为 rw-rw-r--,则使用命令为 chmod 664 a.txt

修改文件所有者:

  • 只修改所有者:chown [用户名] [文件名]

  • 修改所有者和主组: chown [用户名]:[主组名] [文件名]

  • 只修改主组: chown :[主组名] [文件名]

修改创建文件时的默认权限

创建文件时,系统都会给文件一个默认权限:

  • 创建文件:默认权限 最大值为6,因为Linux系统不允许文件一创建就有执行权限。如果你想文件执行,就用chmod 命令手动修改。

  • 创建目录:默认权限 最大值为7,因为目录的执行权限,就是进入目录,Linux是允许的。

通过设置umask值,可以修改默认权限。

umask计算方法:

  • 文件默认权限=666 - umask值, 比如:666-022=644 。
  • 目录默认权限=777 - umask值, 比如:777-022=755 。

默认权限设置默认位置:一般在 /etc/profile$ [HOME]/.bash_profile$[HOME]/.profile 中设置umask值。

文件的特殊权限

设置SUID权限

  • 设置SUID位 : chmod u+s filename 或者 chmod 7644 filename(这里假设原来权限为644) 。
  • 去掉SUID设置: chmod u-s filename 或者 chmod 644 filename(这里假设原来权限为644) 。

什么是SUID权限:

  • 一般用在可执行文件上。
  • 当用户执行该文件时,会临时拥有该执行文件的所有者权限。
  • 所有者权限的第三位是一个小写的”s” ,就表明该执行文件拥有SUID属性:
  • 拥有SUID权限属性

为什么passwd需要这个SUID权限呢? 我们先看 /etc/shadow 这个文件:

shadow密码文件

你会发现 /etc/shadow 这个文件没有任何权限,所有用户在使用 sudo passwd 修改自己密码时,要将密码写到这里面来。然而普通用户对这个文件是不能读写的啊!!!怎么办呢?这时我们想,能不能通过一个程序,让这个程序帮我们写进去呢?这个程序就是执行权限为 s 的文件程序。根本原因是:即使文件显示没有任何权限,但拥有者是可以有文件的所有权限的。 这个过程就像这样:

  • 出门前,你爸爸和你说,把家看好。财产是你爸爸的(所有者),但你爸爸出门后你可以支配家里的任何东西(赋予 s 权限,这时你就是你家的所有者,你爸爸的财产都是你的!!!)。
  • 出门前,你爸爸还告诉你,别人送钱来就要,其它东西不要。另外不要动家里的任何东西。(规定了程序可以执行的内容)。
  • 王叔叔想把iPhone7s和钱放进你家,但它进不去(没有权限)。
  • 王叔叔把你表弟叫过来,想把东西放进去,但也放不进去(没有 s 权限)。
  • 王叔叔把你叫出来,要送你iPhone7s和钱,你只收了钱(其它用户调用具有 s 权限的文件)。

注意:这个权限很大,一般不要使用。具有很高的安全风险。

注意:如果文件一开始就没有可执行权限(x权限),直接设置 s权限 是无效的,会显示的是大写的 S。

设置SGID

  • 设置SGID位: chmod g+s filename
  • 去掉SGID设置 :chmod g-s filename

对文件夹设置了 s 权限以后, 创建文件时主组不一样:

  • 设置SGID

比如上面的:root用户执行 chmod g+s tencent,那么,在tencent这个文件夹中创建文件,默认主组由原来的 wwy 变成了 root

设置粘滞位

创建一个文件夹 mkdir 777 tencent/ (最好在 /tmp目录 下创建这个文件,因为所有用户都能进入这个文件夹)。在 777 这个权限下,所有用户都可以对 tencet文件夹内 的文件进行 删除操作。如果一个用户参加了一个文件,又不想其它用户删除这个文件,那么这个文件夹就要 粘滞位

  • 设置粘滞位: chmod 1777 tencent

设置有 粘滞位 的文件夹,权限后面原来的 执行参数x 变成有一个 参数t

  • 设置粘滞位
    这样,凡是你放进 tencent 这个文件夹的文件,其它用户是删除不掉的,只能由你删除。

三、ACL 访问控制列表

ACL(Access Control List) 访问控制列表:

  • 增加权限给其它组别或者用户,而不只是局限于 ownergroupother
  • 允许 指定用户(用户A、用户B、用户C等)拥有写权限,而不再是它们整个组拥有写权限。

下面我们使用ACL工具包管理文件权限:

  • 查看有没有ACL工具包: ```rpm -qf `which getfacl```` 。

  • 使用 getfacl 命令查看文件权限,比如查看文件a.txt : getfacl a.txt

使用setfacl设置权限:

  • setfacl设置文件权限
  • setfacl设置目录权限
  • setfacl设置过的文件权限

相关文章

  • 1-7RHEL7文件的权限管理

    时间:2018-05-26 姓名:魏文应 一、权限的作用 通过设置权限,可以达到以下三种控制效果: 只允许自己访问...

  • 系统权限指令

    系统权限指令 chmod 改变文件或者文件的权限 2.其他权限管理命令chown 改变文件目录或者文件的...

  • Linux文件权限管理

    Linux文件权限管理 linux文件属性 改变权限 查看用户组

  • shell命令整理(三)之文件权限管理(上)

    文件权限 chown 更改文件的属主、属组 chmod 更改权限 使用数字的方法 文件权限管理之ACL getfa...

  • 【Linux】文件的权限管理

    Linux下文件的权限管理 文章主要从以下几个方面展开介绍: 文件的属性和权限 文件的权限和属性的更改 文件和目录...

  • linux文件系统权限管理

    一.文件权限 linux中,文件系统有自带有权限管理,针对资源(文件,目录,程序)去管理,我们先来看下针对文件的权...

  • Linux文件权限管理

    简介 介绍如何在Linux中设置文件的权限 文件权限管理 chmod umask lsattr chattr:

  • Flask 构建微电影视频网站(5)

    基于角色的访问控制 权限管理 添加权限 权限列表 删除权限 编辑权限 修改对应的前端文件 角色管理 添加角色 角色...

  • Linux学习笔记 -- 07 Linux文件与目录管理

    目录导读 目录与路径 文件与目录管理 文件内容查阅 文件与目录的默认权限与隐藏权限 命令与文件的查询 权限与命令间...

  • Linux常用命令

    一、文件系统的管理 二、权限管理 三、用户管理 四、常见系统管理(凡是涉及到修改,一定要用root权限) 五、文件...

网友评论

    本文标题:1-7RHEL7文件的权限管理

    本文链接:https://www.haomeiwen.com/subject/ngmmjftx.html