linux中权限管理

权限的描述:

          权限的意思就是用户拥有的对系统支配能力的大小在linux中是严格控制用户权限的,不同的用户给予不同的权限,权限应遵循能少给就尽量少给的原则从而增加系统的安全性。

进程安全上下文:

   进程对问件访问权限的应用模型:进程的属主与文件的属主是否相同,如果相同,则应用属主权限,如果不同 则去检测进程的属主是否与文件的属组相同如果相同,应用属组权限,否则就只能应用other权限。   

linux中权限划分:    

    按照针对的对象可分为:

                   user:属主

                   group:属组

                   other:其他人

示例:

file.png

在看到的 rw-r–r– 中:左三位定义了user权限

                       中三位定义了group权限

                       右三位定义了other权限

   按照可执行的操作分为:

                     r:read 读

                     w:write 写

                     x:excute  执行

   按照对文件和目录的执行结果不同划分:

               r:read
                w:write              x:excute
文件 可以查看文件的的内容 可以对文件的内容进行修改 可将此文件运行为进程
目录 可以列表查看目录 可以对目录内的文件和子目录修改、删除也可添加 能cd切换到此目录作为工作目录

权限的组合机制:

    权限位   二进制   八进制

    —       000       0

    –x       001       1

    -w-       010       2

    -wx       011       3

    r–       100       4

    r-x       101       5

    rw-       110       6

    rwx       111       7

权限的管理命令:

       chmod 命令

 格式1:赋权、授权表示法

       chmod [ugoa][+-=][rwx]文件…

     u、g、o、a分别代表:属主、属组、其他人、所有人

     +:在原来权限的基础上增加权限

     -:在原来权限的基础上去除权限

     =:直接定义权限

     r、w、x:读、写、执行

     X权限:加x权限到目录上,而不给文件加,数字表示法不支持

    

   当执行所有人统一修改权限时,a可省略,但加w权限时除外(如图最后一条命令)

示例:

xxx.png 

格式2:八进制表示法

       chmod nnn 文件…

         nnn表示八进制数,每个n分别代表对应的rwx(权限位)的组合的和

                      r=4

                      w=2

                      x=1

         第一个n代表属主

         第二个n代表属组

         第三个n代表其他人

示例:

去.png

格式3:

         chmod –reperence=文件1  文件2   // 以文件1的权限为标准修改文件2的权限

示例:

deng.png

chmod命令的选项:

      -R :递归修改目录的权限,当执行-R选项时,会把目录及其目录里的文件、子目录的权限一并修改。 

示例:

默多克.png

从属关系的管理命令: chown、chgrp

  chown命令只有root用户可以执行;chgrp命令root可执行,文件的所有者也可以执行,不过只能修改为所有者所属的组。                 chown命令:

格式1                   chown [OPTION] ..[OWNER]:[GROUP] FILE ….

             

                        可修改文件或目录的属主、属组,也可二者同时修改 

示例:


我去.png


       chown [OPTION] .. –reference=RFILE FILE …

             把RFILE的从属关系赋值给FILE,


示例:

ajflajsdfldas.png

chown命令的选项:

              -R:递归修改目录的从属关系,当执行-R选项时,会把目录及其目录里的文件、子目录的从属关系一并修改。


dir.png

    chgrp命令:对所属组进行更该与chown 用法一致


特殊权限:SUID SGID sticky

           对文件或目录加上特殊的权限以实现某些特殊的需要

      对应的八进制数:       

                   SUID = 4

                   SGID = 2

                   sticky = 1


介绍:

     SUID 

       当给一个可执行的程序添加SUID权限时,如果此二进制程序的属主有可执行权限,则权限位x位上显示s(显示s,但x权限并没有删除,只是做了隐藏),当其他用户执行此二进制程序时,将以属主身份执行,如果属主对此二进制程序没有可执行权限,则权限位x位上显示S。

用法:

   格式1:      chmod u+s 二进制程序


密码.png


  格式2:        chmod nnnn 二进制程序


    第一个n就代表特殊权限位


1.png


SGID:    

      作用于二进制文件时,与SUID用法一致,

               chmod g+s 可执行程序      

      当作用于目录时,该目录内再新建文件或目录的所属组自动继承该目录的所属组。

               chmod g+s 目录

sticky:粘滞位,只能作用于目录,占据other的执行权限位

 

    作用:执行后,目录里的文件或目录将会受到保护,这些文件或目录只能由root用户和文件、目录的拥有者来进行管理。其他人无权修改删除。


chattr 命令;锁定文件 

  应用场景:当有一些文件特别重要,害怕被误删出时,可以用到,这只是一个方面。

用法:

  选项:

      +i:锁定后的文件将不能删除、改名、更改

      -i:解锁+i的锁定

      +a:锁定后的文件只能增加

      -a:介绍+a的锁定


lsattr命令:可以查看chattr的锁定情况


示例:

char人.png


访问控制列表:

            ACK:实现灵活的权限管理

   

设置命令: setfacl

      格式:setfacl -m u/g:用户/组:权限  文件/目录

                设置用户或组对文件或目录的ACL权限

 

        u:属主   g:组   d:默认设置   

  与常用选项的组合:

            setfacl -m u:zhang:rw f1       //设置zhang用户对f1文件的acl访问权限为rw


            setfacl -x u:zhang f1       //取消zhang用户对f1文件的acl访问权限


            setfacl -b    f1   //清除所有ACL设置


            setfacl -m d:zhang:rw 目录       //d 选项为默认设置,设置新建的文件或目录机子文件都设上ACL权限(只针对于目录)


            setfacl -k 目录    //删除默认ACL设置


             


 查询ACL设置命令:getfacl 文件/目录


示例:

是 顶顶顶.png

[root@myhost testdir]# setfacl -k dir

[root@myhost testdir]# getfacl dir

# file: dir

# owner: root

# group: root

user::rwx

group::r-x

other::r-x








原创文章,作者:ZJM,如若转载,请注明出处:http://www.178linux.com/27590

(0)
ZJMZJM
上一篇 2016-08-05
下一篇 2016-08-05

相关推荐

  • 用PHP编写Hadoop的MapReduce程序

    Hadoop流 虽然Hadoop是用java写的,但是Hadoop提供了Hadoop流,Hadoop流提供一个API, 允许用户使用任何语言编写map函数和reduce函数.Hadoop流动关键是,它使用UNIX标准流作为程序与Hadoop之间的接口。因此,任何程序只要可以从标准输入流中读取数据,并且可以把数据写入标准输出流中,那么就可以通过Hadoop流使…

    Linux干货 2015-04-13
  • 一点点RPM

    1、软件管理器简介          随着Linux的不断发展及越来越多的人投入到Linux大家庭中,软件管理器的作用对于还无法熟练掌握源码编译安装的人们还是显得尤为重要,同时,由Linux开发商在为其编译完成的软件包在某种程度上要比在网络上流传的软件包要安全的多;所以,掌握Li…

    Linux干货 2015-12-06
  • BASH编程基础之变量、条件判断

    一、前言 在linux中,通常我们所指的脚本编程,指的是bash的脚本编程。 bash作为一种过程式的编程语言来说,它应该具备编程语言所应该具备的基本元素,即:变量,流程,函数,数组。今天我们介绍变量以及流程之一的条件判断。 二、变量 1、初识变量 在编程语言中,编程语言有两大种,强类型语言和弱类型语言。强类型语言中,要求变量的使用要严格符合定义,所有变量都…

    Linux干货 2015-07-06
  • sed 高级用法(1) 之 n N

    前言 我在参考其它多个Blog中发现,有些Blog中sed的功能介绍和实际有出入,这可能和版本有关系,正如sed文档中所说“might change in future versions”,所以本文sed是以4.2.1为例。如果以后sed更新版本了,有可能会不一样。 好记性不如烂笔头! sed的工作原理 sed维护着两个数据的缓冲空间,一个是模式空间(pat…

    Linux干货 2015-07-03
  • NTP时间服务器

        在集群环境和需要日志同步的多服务器应用中,为了能够保证多台服务器的之间的正常协作,就必须使它们的时间保持一致,在多台服务器上手动调整时间是极其不科学的,这时就需要借助于NTP时间服务器来完成时间的同步。     一、NTP服务器的安装    …

    Linux干货 2015-06-25
  • HipHop PHP实战(详解web运行模式)

    Note: These code examples assume the HipHop compiler is fully built. 1 . Setting Up Your Environment (构建环境) To get started, you need to configure two environment variables. cd…

    Linux干货 2015-04-10