专栏首页一名白帽的成长史【Linux】聊聊Linux的文件权限管理

【Linux】聊聊Linux的文件权限管理

Hello,各位小伙伴晚上好~

本期是本公众号的第20篇原创文章啦~~

六月份营业至今,粉丝数也从0慢慢涨到了100多~

虽然观众不多,但也给我提供了满满的动力,自己也学到了很多东西!

写公众号是今年做的最开心的事,哈哈~~

然后,今天是填坑的一天(很久之前说过要写一期Linux文件权限管理...)

让我们一起来看看吧~

Part.1

基本权限UGO

权限的基本概念

首先我们来看看当前目录的文件权限:

文件有三种权限属性,分别是r(读),w(写),x(执行)。

权限,代表了指定用户能以哪种方式访问文件。

每个文件都有三组权限,举个栗子:

对于file1.txt,首先是属主权限rwx,只对属主alice账号生效,说明alice对该文件有rwx的全部权限。

然后是属组权限rw-,对hr用户组生效,hr组内的所有用户对该文件都有读写权限。

最后是其他人权限r--,仅有读取权限,对除去属主和属组用户外的所有用户生效。

因此权限的对象一共有三种,分别是U(属主)、G(属组)、O(其他人)。

对于用户和用户组的介绍,之前也写过一期,没看过的小伙伴可以阅读一下:

【Linux】Linux用户与用户组那些事

不同的权限,对文件的影响如下:

权限的配置

(1)chown 更改属主与属组

同时修改属主和属组:

只修改属主:

只修改属组:

(2)chgrp 更改属组

//如果是文件夹,加上-R参数,会同时修改目录及目录下的所有文件的权限

(3)chmod 更改文件权限

u+x 为属主增加执行权限:

为属组、其他人分别增加写入、执行权限:

a=rwx 所有人增加读写执行权限:

a=- 取消文件所有权限:

还可以通过数字的方法修改,r=4,w=2,x=1。

例如:

(4)小结

  • 对目录有 w 权限,可以在目录中创建新文件、删除目录中的文件(跟文件权限无关)
  • 文件:x 权限要小心给予
  • 目录:w 权限要小心给予
  • root有所有权限,设置权限对root没意义

Part.2

高级权限

suid权限(属主权限)

如果我们想修改账号的用户密码,会使用passwd命令,如alice账号修改密码:

passwd文件其实是操作的shadow文件,该文件权限如下:

可以看到,只有root账号能对它进行操作,那么alice的写操作是怎么执行成功的?

使用alice在后台运行passwd命令,查看进程:

会发现是root账号在执行此操作,因此才能修改成功。

再看看passwd命令是执行的哪个文件:

会发现passwd文件的执行权限为s,这就是alice成功修改密码的原因。

suid权限,标记为s,代表让任何账号执行该程序时,身份都以文件所有者身份(此处为root)进行执行。

因此虽然操作者是alice,但执行者其实是root。

chomd u+s ,为文件增加suid权限:

sgid权限(属组权限)

为目录添加sgid权限后,后续目录中创建的新文件会继承目录的属组。

例如为alice目录添加sgid权限:

我们用root账号在alice文件夹中创建目录test:

属主继承alice,而不是root组。创建普通文件,结果也相同:

sticky权限(对目录)

针对目录添加sticky权限后,就只有目录的属主可以删除目录中的文件了。

即使其他用户对其中的文件有rwx权限,也无法删除进行。

我们为alice目录添加sticky权限,并修改权限为777:

使用alice账号,在该目录创建test文件,并修改test文件权限为777:

切换到Jack账号,尝试删除test文件:

虽然文件权限为777,但仍然无法删除。

那么谁可以删除带sticky权限的目录中的文件呢?

答案是:root账号、文件的属主、目录的属主

Part.3

访问控制ACL

ACL基本操作

UGO权限不能对实现对单一账户进行灵活授权,还可以使用ACL来对特定账户授权。

file2文件的权限如下,属主为root,其他账户只有r权限:

假设针对该文件,我们想给alice用户读、写、执行权限,就需要使用ACL了。

(1)setfacl 设置ACL权限:

//带acl配置的文件,会有个+号

(2)getfacl 查看ACL权限

//可以看到,给alice账号单独添加了rwx权限。

(3)mask属性

ACL还可以用于临时降低用户或组的权限(不包括属主、和other用户),mask属性代表了这些用户的最高权限。

getfacl查看ACL,mask默认为rwx,不影响用户:

我们将other的权限置空,并修改mask值为空:

alice和group的实际权限(effective)均变为空。

如果没将other权限也设置为空,alice的权限就为other的权限,因为mask不对other用户生效。

另外,如果此时有任何ACL修改行为,mask又会复原,解除限制,因为mask只是个临时行为。

Part.4

结束语

以上就是今天的全部内容了,大家都明白了吗?

Peace !

本文分享自微信公众号 - 一名白帽的成长史(monster-liuzhi),作者:Monster刘智

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【XSS漏洞】利用XSS进行网页钓鱼

    这里是你们微胖的小编Monster。 Whatever,让我们一起来看看今天的内容吧

    一名白帽的成长史
  • 【Python】通过Requests模块收发HTTP报文

    这两天学习了用python的requests模块发送HTTP报文,然后以CTF题为例进行脚本练习。

    一名白帽的成长史
  • 【Python】教你一步步编写banner获取脚本

    刚好最近学习了使用python编写banner获取脚本,今天就跟大家一起一步一步再学习一遍吧。

    一名白帽的成长史
  • Linux安全权限

    之前说了Linux文件的权限区分,这次来说一说Linux的安全权限,不知道权限划分的可以移步《Linux权限详解》

    信安本原
  • SQL权限操作

    限制一个用户能够做什么事情,在MySQL中,可以设置全局权限,指定数据库权限,指定表权限,指定字段权限

    木瓜煲鸡脚
  • Android 中的危险权限详细整理

    普通权限是指那些不会威胁到用户安全和隐私的权限,这部分权限系统会自动帮我们进行授权不需要手动操作。危险权限则表示那些可能会触及到用户安全隐私或者对设备安全造成影...

    砸漏
  • 提权(2) windows权限分析

    lonelyvaf
  • Linux系统修改权限与默认权限

    前面介绍了Linux系统文件的权限与目录的权限,由于为了操作系统的安全性,实际生产环境中,经常会修改某用户对某文件或目录的权限

    民工哥
  • JeeSite | 访问控制权限

      在各种后台系统中都会涉及到权限的管控,从功能权限的管控,到数据权限的管控,都是为了让系统的在使用的过程中更加的安全。功能权限管控是对针对不同的角色可以进行不...

    码农UP2U
  • 基于蓝鲸平台分分钟实现权限配置自动化

    小明有一个烦恼(不是《老板,今天我们做Oracle灾备切换演练吧!》的小明),毕业季来了,公司的招聘季也来了,每天都有新同事报道,这也意味着,他要每天到公司的几...

    嘉为科技

扫码关注云+社区

领取腾讯云代金券