zoukankan      html  css  js  c++  java
  • 文件权限管理

    一:普通权限

    -       rw-     ---     ---   .     1    root   root    1478   Mar 30 20:31    anaconda-ks.cfg
    文件类型 所属者权限  所属组权限  来宾权限   acl  硬链接数   所属者   所属组  文件大小  文件最近修改时间    文件名

    文件的属主属组

    chown 修改属主

    • -R 递归修改
    • --reference=RFILE FIEL 参考某文件修改

    chgrp 修改属组

    权限

    用户对文件的访问类型可分为三类:

    1. owner: 属主, u
    2. group: 属组, g
    3. other: 其他, o

    文件或文件夹访问权限可分为三种:

    1. r: Readable 读
    2. w: Writable 写
    3. x: eXcutable 执行

    文件权限修改命令

    chmod 修改文件权限

    • --reference=:参照某文件为此文件修改权限
    • -R:递归
    •  方法一:
      • chmod who opt per file
      • who: u g o a
      • opt: + - =
      • per: r w x X:只对目录加执行权限(如果已经有执行权限的文件也会加执行权限)
    • 方法2:数字法
      • r:4
      • w:2
      • x:1

    umask (掩码)+default = fiel(666)/dir(777) 

    • -p:输出时带umask
    • -S:使用mode风格显示
    • 功能:取消对应的权限
    • 对于目录:
      • default=777-umask
    • 对于文件:
      • defautl(奇数加1)=666-umask
    • 非特权用户umask是 002
    • root的umask 是 022
    • 全局设置: /etc/bashrc 用户设置:~/.bashrc

    总结:文件目录权限对文件的影响

    1. 普通用户不能改文件所有者
    2. 普通用户想改所属组必须在组里
    3. 读写权限对于root不生效,但是执行权限对root生效
    4. 读权限对于二进制程序不是必须的
    5. 操作文件需要的是文件夹的权限
    6. 对目录来讲没有执行权限,不能cd进去,不能查看目录中文件的详细属性,也不能读文件

    二:特殊权限

    SUID、SGID和sticky权限

    SUID 赋予执行者继承所属者的权限,仅对二进制文件有效,在目录上设置无意义

    • chmod u+s FILE...
    • chmod u-s FILE...

    SGID 文件 :继承二进制程序所有组的权限;文件夹 :此目录新建的文件继承目录的所属组

    • chmod g+s FILE...
    • chmod g-s FILE...
    • chmod g+s DIR...
    • chmod g-s DIR...

    sticky 粘滞位,给文件夹赋予权限,此目录的文件只能被所有者删除

    • chmod o+t DIR...
    • chmod o-t DIR...
    [root@centos6 ~]# ll -d /tmp/
    drwxrwxrwt. 31 root root 4096 Apr  2 15:16 /tmp/

    特殊权限数字法设置

    [root@centos6 ~]# mkdir testdir
    [root@centos6 ~]# chmod 1755 testdir
    [root@centos6 ~]# ll -d testdir/
    drwxr-xr-t. 2 root root 4096 Apr  2 15:37 testdir

    特定权限

    chattr 设置文件特定权限,防止误操作

    • +i:锁定文件,不可删除,修改
    • -i:解锁文件
    • +a:锁定文件,可以追加
    • -A:锁定文件读时间,可以降低系统负载

    lsattr  查看锁定文件状态

    三:访问控制列表

    setfacl 设定访问控制列表

    • -m u|g:USER:0|rwx FILE 添加设置acl权限
    • -x u|g:USER|GROUP 删除
    • mask:限高线 -m mask::rwx
    • -b FILE:清空所有acl权限
    • -R 递归
    • -M file.acl 批量设置
    • -X 批量删除
    • --set-file=- 参考前边的权限设置指定文件

    getfacl 查看文件的访问控制列表

    ACL的备份与恢复

    [root@centos6 data]# mkdir dir1
    [root@centos6 data]# setfacl -m u:user1:rw dir1
    [root@centos6 data]# setfacl -m u:user2:r dir1  
    [root@centos6 data]# getfacl -R dir1/
    # file: dir1/
    # owner: root
    # group: root
    user::rwx
    user:user1:rw-
    user:user2:r--
    group::r-x
    mask::rwx
    other::r-x
    
    [root@centos6 data]# getfacl -R dir1/ >acl.txt
    [root@centos6 data]# setfacl -R -b dir1
    [root@centos6 data]# getfacl -R dir1
    # file: dir1
    # owner: root
    # group: root
    user::rwx
    group::r-x
    other::r-x
    
    [root@centos6 data]# setfacl -R --set-file=acl.txt dir1
    [root@centos6 data]# getfacl -R dir1                   
    # file: dir1
    # owner: root
    # group: root
    user::rwx
    user:user1:rw-
    user:user2:r--
    group::r-x
    mask::rwx
    other::r-x

    欢迎大家一起学习交流~

  • 相关阅读:
    css之布局
    css之浮动
    白扯之聊聊我们的情怀
    Vue之指令
    Vue之vue.js声明式渲染
    AJAX经常遇到的那些问题
    HTTP之cookie技术
    正则表达式资料
    require.js资料
    AMD 和 CMD 的区别
  • 原文地址:https://www.cnblogs.com/L-dongf/p/8719363.html
Copyright © 2011-2022 走看看