设为首页 收藏本站
查看: 676|回复: 0

[经验分享] linux系统权限大全

[复制链接]

尚未签到

发表于 2018-5-17 11:27:14 | 显示全部楼层 |阅读模式
  linux系统权限大全

一、 文件的归属:
  文件所有者(owner)、用户组(group)、其它人(others)

二、查看 linux文件权限以及归属
ls 命令  ls -al  查看文件详细权限和属性
权限  r  w  x

三、设置文件目录的权限

1、 修改权限的命令
  有  chmod   chown  chgrp

四、默认权限

1 、查看默认权限  umask   umask  -s
2 、更改默认权限  umask   xxx  直接接数字

五、文件或目录的隐藏属性

1、 设置文件的隐藏属性:
chattr  [-R]  [+-=]  [a、i]  file

  -R  递归更改目录的隐藏属性
   a   增加这个参数后,可以追加的方式增加数据,不能修改数据,
    i 不能修改删除增加数据,相当于写保护

2、显示文件的隐藏属性:
  lsattr   [-Rda]   file
-R   将子目录的属性也显示出来
-d    接的是目录那就只显示目录
-a   将隐藏文件的属性也显示出来

六、文件的特殊权限

1、 SetUID--- 前提必须是二进制可执行文件,执行者对这个文件具有二进制可执行权限,执行者将暂时
      具有该文件所有者的权限,相当于执行者对此文件有root用户的权限,使得任意使用者在执行该  文件时,都绑 定了文件拥有者的权限。 全能的root用户当然可以任意setUid和setGid,普通用户只能给属于自己的文件配置 setUid或setGid
2、 SetGID---前提必须是二进制可执行文件,执行者对这个文件具有二进制可执行权限,执行者将暂时
       具有该文件用户组的权限,使得任意使用者在执行该文件时,都绑定了文件所有组的权限
3、 Sticky bit----粘滞位权限,主要针对目录生效,当目录sticky位被设置以后,只有root或者文件属主
        才能删除或 移动它
       setuid,setgid,sticky的八进制位分别是4, 2, 1,助记法表示为u+s,g+s,o+t,(删除标记位是u-s,g-s,o-t)

  SetUID的设置:
  chmod  u+s    test.sh       或者   chmod   4755  test.sh             #增加setuid权限
  chmod  u-s     test.sh       或者   chmod     755  test.sh             #删除setuid权限,目录需用u-s
  拥有setuid权限的二进制可执行文件背景色为红色


   SetGID的设置:
   chmod  g+s  test.sh        或者  chmod   2755  test.sh
   chmod  g-s   test.sh        或者  chmod     755  test.sh        
   拥有setgid权限的二进制可执行文件背景色为黄色

   
同时设置setuid和setgid,就是把setuid和setgid两个八进位的值相加 (4000+2000=6000),即 6755
  chmod   6755   test.sh    或者   chmod u+s,g+s  test.sh      #同时增加setuid和setgid权限
  chmod     755   test.sh    或者   chmod u-s,g-s    test.sh      #同时删除setuid和setgid权限,目录需用后者
  文件的属主和属组位的执行权限都为s

  
  如果文件所归属的属主没有执行权限,则这个权限显示为大S, setgid同理
  
  

setuid实例:
  普通用户之所以可以修改自己的密码是因为passwd命令设置了setuid权限:

          #su命令也一样。
  让普通用户可以删除root目录下的文件(非常危险,只做测试)
   chmod u+s  /bin/rm                     #给rm这个命令加上setuid权限即可。
  
  
Sticky bit粘滞位权限设置:
chmod  o+t  stdir/      或者  chmod 1755 stdir/             #增加Sticky bit权限
chmod  o-t   stdir/      或者   chmod 755 stdir/              #删除Sticky bit权限
  具有Sticky bit权限的目录颜色为蓝色,其它者位的执行权限x则为t

   
   实例:在Linux下,/tmp是一个存放临时文件的目录,要求是对所有用户可写,
           但每个用户都只能删除自己拥有的文件。这种情况下,就可以把目录加一个粘滞位。
         
     rwt===可以进入该目录,可以列出该目录中的文件,可以在该目录中增加文件,但不能删除
                  其他用户的文件,自己的文件可以删除。

七、ACL
((Access Control List 访问控制列表)
    在linux系统中,我们将访问文件的用户分为三类,user,group,other。如果系统中某个用户想对某个文件有写入的权限,但是该用户是属于other,如果是这样,就只能够开放other的权限。但是一旦开放other的权限,那么所有人就对该文件有写入的权限了。文件的ACL权限就很好的解决了这个问题,它可以设置一个特定文件的特定权限给一个用户或者组
   
  ACL的分类:
  存取型 : 可以用于文件和目录
  预设型 : 只用于目录,其子目录都继承主目录的ACL权限,
  
ACL的设置命令:
setfacl   选项   规则     file
选项:
   -m  增加或修改ACL中的规则
   -d   设置默认的ACL设置信息(只对目录有效)
   -x   移除一个扩展的ACL设置信息
   -b   删除所有的扩展的ACL设置信息
 
  规则:
   u:用户名或用户ID:权限   给一个用户设置权限
   g:用户组或组ID:权限    给一个用户组设置权限
   other::权限   指定其他所有者的权限
   mask::权限   设定有效的权限屏蔽
   
getfacl   选项    file
  选项:
     -e     查看文件的mask有效权限

存储型 ACL权限设置:
  设置规范:
   setfacl   -m   u:用户名或用户ID:权限    给一个用户设置权限
   setfacl   -m   g:用户组或组ID:权限        给一个用户组设置权限
  设置实例:
   setfacl   -m  u:feng:rwx   ting/               #设置允许用户feng对ting这个目录有rwx权限
   setfacl   -m  g:feng:rwx   ting/               #设置允许用户组feng对ting这个目录有rwx权限
   setfacl    -x  u:feng          ting/               #删除用户feng对ting这个目录的rwx权限
  
  注意:权限书写必须是rwx  不能是数字,不然报错无效的操作.
          设置了ACL的目录或文件,在属性的最后一位会出现一个“+”号,如下图:
         
  
预设型ACL权限设置:
  设置规范:
    setfacl  -d   -m   [ug]:列表:[rwx]     目录  (注意:-d参数必须放在最前面。)
    setfacl  -d  --set [ug]:列表:[rwx]     目录  (注意:-d参数必须放在最前面。)
    setfac l    -m   d:[ug]:列表:[rwx]   目录
  设置实例:
  setfacl  -d   -m   u:feng:rwx  acldir/
  setfacl  -d --set  u:feng:rwx  acldir/
     setfacl  -m      d:u:feng:rwx  acldir/
     setfacl  -m      d:g:feng:rwx  acldir/              #设置用户组feng对acldir目录有读写权限
   
      setfacl    -b     acldir/                                   #删除所有关于acldir目录下的扩展权限。
      getfacl    -e     acldir/                                   #查看权限
   
  注意:设置了预设型ACL权限的目录,设定权限之前的文件不会继承 acl权限,只有设定之后
               再创建的文件才会继承acl权限。
         

针对有效权限mask的设定
    这是一个权限掩码。用来控制你所设置的扩展ACL权限。你所设置的权限必须存于mask规定的范围内才会生效,也就是所谓的“有效权限(effective permission),设定的最终权限由mask控制,你所设置的权限必须在mask内,否则相对mask多出来的权限也是无效的,可以用 getfacl -e 命令查看有效权限:


  
注意:若用户帐号不填的时候就默认为文件的 所有者。用户组不填时就默认为文件的所属用户组
注意:如果setfacl命令不指定操作用户,那么就是对默认属主用户权限的操作(例如acl_test/目录,owner:root,group:root),这时候的setfacl命令功能上和传统的chmod相同。例如setfacl u::rwx,g::rwx,o::rwx acl_test/ 等价于chmod 777 acl_test/ 。就是把缺省设置信息全部设置为rwx的权限了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-461324-1-1.html 上篇帖子: linux 查看命令 下篇帖子: linux同步软件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表