1 ACL权限

  1.1 简介与开启

    1.1.1 ACL权限是什么

      access control list 访问控制表

      解决传统的(owner,group,others)身份不足的情况

      可以设置 特定用户或用户组 对于 一个文件或目录 的操作权限

  

    1.1.2 查看系统(根分区)是否支持ACL    一般默认都是支持的,不用手动开启

      df -h   查看有哪些分区  找到根分区

      dupme2fs /dev/sda5  | grep acl

        Default mount options:    user_xattr acl  默认挂载选项,支持ACL

  

    1.1.3 临时开启分区的ACL权限

      mount -o remount, acl /

    1.1.4 永久开启分区的ACL权限

      #vi /etc/fstab

        在跟分区的defaults后面添加,acl     #注意:写错了会使系统崩溃,慎用!

      #mount -o remount /   重新挂载根分区, 或者重启系统, 使之生效

  1.2 查看与设定

    1.2.1 查看ACL

      #getfacl 文件名

    1.2.2 设定ACL权限

      #setfacl 选项 文件名

        -m 设定

        -x  删除指定

        -b  删除所有

        -d  设定默认

        -k  参数默认

        -R  递归设定

      给用户设定ACL权限

        #setfacl -m u:userx:rx project/

      给用户组设定ACL权限

        #setfacl -m g:groupx:rwx project/

  1.3 最大有效权限与删除

    1.3.1 最大有效权限mask

      用户的实际权限=设定的ACL权限&&mask  逻辑与

      mask默认为rwx,此时 实际权限=设定权限

    1.3.2 删除ACL权限

      #setfacl -x g:groupx project/  删除指定用户或组

      #setfacl -b project/        删除所有的ACL权限

  1.4 默认与递归ACL权限

    1.4.1 递归ACL权限  -- 针对现有的

      #setfacl -m u:用户名:权限 -R 目录名

    1.4.2 默认ACL权限  -- 针对新建的

      #setfacl -m d:u:用户名:权限 目录名

      给父目录设定默认ACL权限,那么父目录中新建的子文件都会继承该权限

   


2 文件特殊权限

  2.1 SetUID  -- owner

    针对 可执行的 二进制 程序

    执行者有x权限     #否则会出现S,不能正确执行

    执行者 暂时获得 程序文件所属者的身份(灵魂附体)

    例子:passwd文件

   

    设定SetUID

      #chmod 4755 文件名

      #chmod u+s 文件名

    取消SetUID

      #chmod 755 文件名

      #chmod u-s 文件名

    危险的SetUID! 不要自己随意设置SUID文件。

  2.2 SetGID  -- group

    针对二进制文件的作用,和SUID相似    也比较危险!

      可执行 二进制程序   x权限

      组身份 —> 程序文件的所属组    暂时

      例子: locate

  

    针对目录的作用

      普通用户 r+x权限   普通用户在此目录的有效组 --> 此目录的属组

      新建的文件 默认属组是这个目录的属组

    设置: chmod 2755    g+s

    取消: chmod 755      g-s

  2.3 Sticky BIT  -- others

    SBIT粘着位的作用 -- 只针对目录

    普通用户 w+x权限 如果目录有粘着位,普通用户就算有w权限,也只能删除自己建立的文件,不能删除其他用户的文件

    例子 /tmp/

    设置:chmod 1755    o+t

    取消:chmod 755      o-t

    


3 文件系统属性chattr权限

  chattr [+-=] [i a] [文件或目录]      防止误操作  对于root用户,也同样适用

    i  对于文件:不许删除,改名,不能添加和修改数据,  相当于把文件锁起来了

      对于目录:只能修改目录下文件的数据,但不允许建立和删除文件  修改数据不能用vi,只能echo >>方式追加   

    a 对于文件:这能增加数据,不能删除和修改数据

      对于目录:只允许建立和修改文件,不允许删除文件

    

  lsattr 选项 文件名 查看文件系统属性

    -a 显示所有文件和目录

    -d 若目标是目录,仅列出目录本身的属性


4 系统命令sudo权限

  superuser do就是让超级用户来做

  root把本来只能超级用户执行的命令赋予普通用户执行

  sudo的操作对象是系统命令

  #visudo     修改/etc/sudoers文件 

   

  注意:被管理主机的地址 写ALL 或 本机IP(访问IP,而不是来源IP)

  例子:

    

    

Linux学习 -- 权限管理的更多相关文章

  1. Linux学习 - 权限管理命令

    一.chmod(change the permissions mode of a file) 1 功能 改变文件或目录权限 root 与 所有者 可进行此操作 2 语法 chmod  [(ugoa) ...

  2. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  3. Linux目录权限管理

    Linux目录权限管理   实验目标: 通过本实验掌握centos7/rhel7目录权限的管理.包括配置目录的所属组.SGID.读/写/执行权限等. 实验步骤: 1.创建目录/home/instruc ...

  4. Linux系统文件权限管理(6)

    Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux ...

  5. Linux的权限管理操作-Linux从入门到精通第七天(非原创)

    文章大纲 一.权限概述二.权限设置三.属主与属组设置四.扩展五.学习资料下载六.参考文章 一.权限概述 总述:Linux系统一般将文件可存/取访问的身份分为3个类别:owner.group.other ...

  6. Linux 文件权限管理

    1.文件权限的概述 在Linux系统下,使用权限来保护资源的安全将是一种不错的选择.系统中每个文件的权限都有可读(r).可写(w)和可执行(x)这三种权限,它们分别对应权限数值4.2 和1.系统为每个 ...

  7. Linux命令--权限管理

    chmod命令 Linux/Unix 的文件调用权限分为三级 : 文件拥有者.群组.其他.利用 chmod 可以藉以控制文件如何被他人所调用. 使用权限 : 所有使用者 语法 chmod [-cfvR ...

  8. [Linux] 010 权限管理命令 chmod

    1. 权限管理命令:chmod 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 ...

  9. 一个故事看懂Linux文件权限管理

    前情回顾: 我通过open这个系统调用虫洞来到了内核空间,又在老爷爷的指点下来到了sys_open的地盘,即将开始打开文件的工作. 详情参见:内核地址空间大冒险:系统调用 open系统调用链 我是一个 ...

随机推荐

  1. Objective-C中的instancetype与id的区别

    一.什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象.我们都知道未知类型的的对象可以 ...

  2. Prime Path(BFS)

    Prime Path Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Total S ...

  3. C++ socket programming in Linux

    Server.c #include <arpa/inet.h> #include <errno.h> #include <netinet/in.h> #includ ...

  4. js预编译

    先来做三个测试 eg1: var a; a = 1; function a() {}; console.log(a); eg2: var a; function a() {}; console.log ...

  5. C语言中结构体定义实际上相当于变量入栈

    struct context { int edi; int esi; int ebx; int ebp; int eip;}; 对应的入栈顺序是 pushl %esp pushl %eip pushl ...

  6. Hibernate中自带ID的generator的含义

    increment:代理主键,适合于所有数据库,由hibernate维护主键自增,和底层数据库无关,但是不适合于2个或以上hibernate进程. identity:代理主键,适合于Mysql或ms ...

  7. myBatIs.Net 调用Oracle 存储过程返回游标

    找了好久,网上也没示例,全是java的,没办法,后来看到一个网上别人写的例子. http://www.myfirm.cn/blog/article/Control/13.html 上面照套还是出错,我 ...

  8. Minigui开发之遥控控制逻辑算法

    引言 在开发公司的minigui产品时,需要用遥控器来切换显示屏上的图标和控件,这就涉及到一个问题,如何获得下一个选中的图标或控件呢? 解决思路 利用每个控件自身的ID号,建立一张类似矩阵的表,用坐标 ...

  9. JS总结之一:字符串的调用方法

    字符串的调用方法:var s="hello, world";document.write(s.charAt(0)); //第一个字符document.write(s.charAt( ...

  10. hdu_1558_Segment set(并查集+计算几何)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1558 题意:P为画线段,Q为询问当前这条线段所在的集合有多少线段 题解:如果两条线段有交点,那么就连接 ...