第1章 FACL访问控制    1

1.1 FACL简介    1

1.2 getfacl命令查看acl权限    1

1.3 setfacl设置文件的cal权限    1

1.4 批量添加acl权限    1

1.5 取消权限    1

1.6 acl高级特性Default()    1

第2章 Linux系统特殊权限    1

2.1 Linux特殊权限    1

2.1.1 set_uid    1

2.1.2 set_gid    1

2.1.3 sticky    1

2.2 权限属性chattr    1

2.3 进程掩码umake    1

2.4 特殊权限练习题    1

 

  1. FACL访问控制

  2. FACL简介

    FACL(Filesystem Access Conreol List)是指文件访问控制列表,该属性可以利用文件扩展保存额外的访问控制权限,比如有一次额情况:storm用需要创建一个test文件,他需要cathy用户同样具有rw权限,通常的权限控制做法是需要修改test文件的other权限为rw,但这样做以后所有的用户都具有rw权限,带来极大的安全隐患,此时就该facl发挥作用的时候了。

    FACL常用的命令有2个:setfacl和getfacl,这两个命令普通用户都具有执行权限、

  1. getfacl命令查看acl权限

[root@oldboy ~]# getfacl test

# file: test

# owner: root

# group: root

user::rw-

group::r--

other::r--

可以看到,test文件只有基本的user、group、other、该文件对于other用户是只读文件

  1. setfacl设置文件的cal权限

[root@oldboy ~]# setfacl -m u:oldboy:rw /root/test

[root@oldboy ~]# getfacl test

# file: test

# owner: root

# group: root

user::rw-

user:oldboy:rw-

group::r--

mask::rw-

other::r--

  1. 当设置了facl权限以后利用getfacl查看发现多了一行:user:oldboy:rw-,表示该文件针对oldboy用户拥有额外的权限rw,此时用户oldboy就具有对文件test的读写权限,但对于其他用户文件是只读的
  2. 使用ls -al查看该文件,在权限一列显示为如下,多了+号,表示该文件具有额外的权限,使用getfacl命令可以查看

[root@oldboy ~]# ll test

-rw-rw-r--+ 1 root root 0 8月 17 14:52 test

    3、添加额外组权限只需要将setfacl -m u:oldboy:rw test 命令中的u改为g即可

  1. 批量添加acl权限

用逗号隔开

[root@oldboy ~]# setfacl -m u:oldboy:rw,u:oldgirl:rw,u:oldboy1:rw test

  1. 取消权限

    -x:为取消acl权限

[root@oldboy ~]# setfacl -x u:oldboy test

[root@oldboy ~]# getfacl test

# file: test

# owner: root

# group: root

user::rw-

group::r--

mask::r--

other::r—

    -b:取消某个文件的全部cal权限

[root@oldboy ~]# setfacl -b test

  1. acl高级特性Default()

    1、-R:修改现有的文件和目录下面所用文件以及目录的acl权限

[root@oldboy ~]# setfacl -R -m u:oldboy:rwx /root/local

[root@oldboy ~]# ll local/test

-rw-rwxr--+ 1 root root 0 8月 17 16:06 local/test

    2、d:设置目录的cal权限,之后在此目录下创建的文件和目录都继承该目录的所用权限(继承)

[root@oldboy ~]# ll -d local/

drwxr-xr-x 2 root root 6 8月 17 16:12 local/

[root@oldboy ~]# setfacl -m d:u:oldboy:rw local/

[root@oldboy ~]# ll -d local/

drwxr-xr-x+ 2 root root 6 8月 17 16:12 local/

[root@oldboy ~]# touch local/test

[root@oldboy ~]# ll local/test

-rw-rw-r--+ 1 root root 0 8月 17 16:14 local/test

  1. Linux系统特殊权限

  2. Linux特殊权限

    对可执行文件的setuid或setgid权限表示将以文件的用户(或组)身份运行,而不是以运行命令的用户身份

    目录粘滞位可以为文件删除设置特殊限制,仅文件所有者(和root用户)可以删除目录中的文件。

    用符号表示: setuid=u+s; setgid=g+s; sticky=o+t

    用数值表示: setuid=4; setgid=2; sticky=1

  1. set_uid

    对可以执行的文件有意义,文件的执行有效身份为文件的拥有者,而不是执行者的身份

    oldboy对于文件test为其他用户,没有任何权限

    suid授权方法

    suid 4000 权限字符s(S),用户位置上的x位上设置。

    授权方法:chmod 4755 passwd

chmod u+s passwd

    suid作用

    让普通用户临时拥有可执行的二进制文件的所属主权限,二进制文件需要有执行权限。

    当二进制文件没有执行权限,suid的权限显示就是大S。suid仅对二进制可执行程序有效。

    如果普通需要操作没有权限的文件,为对应的命令赋予Suid权限,可以实现操作。

 

    注意:suid双刃剑,是一个比较危险的功能,对系统安全有一定的威胁。

[root@oldboy ~]# ll /public/test

-rw-r----- 1 root root 7 8月 17 17:07 /public/test

[oldboy@oldboy public]$ cat /public/test

cat: /public/test: 权限不够

    用chmod设置bin/cat可执行文件特殊权限

[root@oldboy ~]# chmod u+s /bin/cat

[root@oldboy ~]# ll /bin/cat

-rwsr-xr-x. 1 root root 54080 4月 11 12:35 /usr/bin/cat    

oldboy用户用cat查看/public/test

[oldboy@oldboy ~]$ cat /public/test

135464

  1. set_gid

  1. 文件的有效执行组身份为文件的拥有组,而不是执行者的组身份
  2. 目录里新建的文件的拥有组会自动继承目    录的拥有组身份。

3、sgid作用

    针对用户组权限位修改,用户创建的目录或文件所属组和该目录的所属组一致。

    默认所有用户创建文件,用户和组都是自身,Sgid可以让其他用户再此目录下创建的文件和目录,具有和    此目录相同的用户组设置。

    当为某个目录设置了sgid位以后,在该目录中新创建的文件具有该目录的所有组权限,而不是创建该文件    的用户的默认所有者。这样,使得在多个用户之间共享一个目录中的文件变得简单。

用oldboy用户创建一个目录oldboy,root给目录sgid权限

[oldboy@oldboy public]$ mkdir oldboy

[root@oldboy ~]# chmod g+s /public/oldboy/

root用户在oldboy下创建一个目录,查看目录信息,发现拥有者是root,但组是oldboy组,继承了oldboy目录的属性

[root@oldboy ~]# mkdir /public/oldboy/test

[root@oldboy ~]# ll -d /public/oldboy/test/

drwxr-sr-x 2 root oldboy 6 8月 17 18:08 /public/oldboy/test/

 

  1. sticky

1、sticky授权方法

    粘滞位 1000 权限字符t(T),其他用户位的x位上设置。

    授权方法:chmod 1755 /tmp

chmod o+t /tmp

2、sticky作用

    让多个用户都具有写权限的目录,每个用户只能删自己的文件,表现在others的x位,用小t表示,如果没    有执行权限是T,那么一个目录即使它的权限为 "777" 如果是设置了粘滞位,除了目录的属主和 "root    " 用户有权限删除,除此之外其他用户不能删除这个目录。

 

  1. 权限属性chattr

    -i:不得任意更改文件或目录

    -a:让文件和目录仅可追加内容

  1. 进程掩码umake

    反向掩码:修改默认创建目录或文件的权限

    目录默认最大为777

    文件默认最大为666

  1. 特殊权限练习题

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

特殊权限和facl的更多相关文章

  1. 文件权限之facl丶文件属性丶特殊权限

    (1)facl:文件的访问控制列表 作用:对象目录或文件可以对不同的用户设定不同的权限 1)getfacl:查看文件或目录的访问控制列表权限 查看 getfacl file/dir acl权限特征:如 ...

  2. Linux特殊的文件控制权限FACL

    对文件设置特殊的权限,FACL(File Access Control List) ACL简介 基本ACL操作 getfacl  查看文件权限      setfacl  设定acl权限 设置file ...

  3. Linux FACL(文件访问控制列表)

    文件有三种权限 属主权限   属组权限  其他权限 现在有这样一个场景,用户 A 想把文件共享给不是同组内用户 B ,而又不想修改其他权限,这时候 FACL 就起作用了 FACL可以给文件添加一个拓展 ...

  4. linux用户权限 -> ACL访问控制

    UGO设置基本权限: 只能一个用户,一个组和其他人 ACL设置基本权限: r.w.x 设定acl只能是root管理员用户. 相关命令: getfacl , setfacl facl权限 简介 facl ...

  5. facl权限(getfacl/setfacl)

    file access control list:文件访问控制列表 查看facl: [root@localhost test]# getfacl hei # file: hei # owner: ro ...

  6. linux系统下的权限知识梳理

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. facl笔记

    文件系统访问列表:tom:    tom, tom基本组jerry: other:r-- chown FACL:Filesystem Access Control List利用文件扩展保存额外的访问控 ...

  9. 用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限

    用户管理: 添加用户:useradd tom 设置密码:passwd tom 切换账户: su - tom (不加-也能切换,但是 -会有两点不同 1.有-会切换到该用户的主目录  2.会切换到该用户 ...

随机推荐

  1. 黑客攻防技术宝典web实战篇:定制攻击自动化习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 指出使用自动技巧在应用程序中枚举标识符时用到的 3 个标识符“触点”. (a) HTTP ...

  2. php.ini配置文件位置

    laravel之今天遇到个意想不到的问题: 我在测试文件上传,大于2M的文件时候hasFile() 方法报错,这一定是文件大小限制.接下来就跳坑了 1.首先查找php.ini的位置,就用find / ...

  3. C语言-------指针函数与函数指针的区别

    一. 在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义: 1.指针函数是指带指针的函数,即本质是一个函数.函数返回类型是某 ...

  4. 在Android 源码中添加系统服务

    Android系统本身提供了很多系统服务,如WindowManagerService,PowerManagerService等.下面描述一下添加一个系统服务的具体步骤. 1.定义自定义系统服务接口 撰 ...

  5. h5-15-svg格式图片

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. return false 的其中一种用法

    return false 的具体是做什么的在这里就不多说了,因为我觉得我形容不明白.....避免大家弄混乱,就不给大家添麻烦了~~ 直接上例子: 1.先看看下面一段代码,指出其中的错误所在: //点击 ...

  7. P3372 【模板】线段树 1 区间查询与区间修改

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个 ...

  8. Java入门小知识

    软件开发什么是软件?  一系列按照特定顺序组织的计算机数据和指令的集合什么是开发?  制作软件 人机交互  软件的出现实现了人与计算机之间的更好的交互交互方式   图形化界面:这种方式简单直观,使用者 ...

  9. css:段落文本两端对齐

    效果图: Css:

  10. 洛谷 P1030 求先序排列

    题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序 ...