linux权限管理

来源:互联网 发布:拓扑排序算法c实现 编辑:程序博客网 时间:2024/06/05 03:12

文件基本权限

1.查看 ls -l-rw-r--r-- - 常见文件类型(-文件 d目录 l软链接文件)rw- u所有者  r--g所属组 r--o其他人r 读   w 写   x 执行2.修改 chmodchmod [选项] 模式 文件名  选项:-R 递归  模式    [ugoa][+-=][rwx]    [mode=421]例:chmod u+x test  所有者加上执行权限    chmod g-w,o-w test 所属组和其他人去除写权限    chmod chmod u=rwx test 所有者可读可写可执行    chmod chmod u=rw test 所有人可读可写权限数字表示    r = 4 w = 2 x = 1    rwxr-xr-x    7 5 5例:chmod 755 test    常用权限:777 最高权限          644 文件读写权限          755 文件可执行权限3.权限作用    对文件作用    r 读取文件内容 (cat more head tail)    w 编辑 新增文件内容(但是不包含删除当前文件权限,需要对上级目录拥有w权限才可以删除下级文件)    x 运行文件    对目录作用    r 可以查询目录下文件名 (ls)    w 修改目录结构,如:新增和目录,删除此目录下文件和目录,重命名,复制,剪切    x 可以进入目录 (cd)    /*      对文件来讲:最高权限是x权限      对目录来讲:最高权限是w权限    */4.权限其他命令    chown 用户名 文件名 改变文件或目录所有者    例:chown user1 test    例:chown user1:user1 test    chgrp 组名 文件名 改变文件或目录所属组    chgrp user1 test5.文件默认权限    umask 查看默认权限    0022      第一位 文件特殊权限    022 文件默认权限    文件默认不能建立为执行文件,必须手动赋予权限    所有文件默认权限最大为666    默认权限需要换成字母再相减(不是数字直接相减)    建立文件之后的默认权限为666-umask值    目录默认最大权限为777    默认权限需要换成字母再相减(不是数字直接相减)    建立目录之后的默认权限为777-umask值    临时修改umask 0002    永久修改 vi/etc/profile

特殊权限

ACL权限(解决用户身份不够用的情况)    dumpe2fs -h /dev/sda*     查询指定分区详细文件系统信息的命令    临时开启    mount -o remount,acl /    永久开启acl defaults后面增加    vi /etc/fstab UUID=*******... / ext4 defaults,acl    mount -o remount / 重新挂载    1.查看ACL权限        getfacl 文件名    2.设置ACL权限命令        setfacl 选项 文件名          选项:            -m 设定acl权限            -x 删除指定的acl权限            -b 删除所有acl权限            -d 设定默认acl权限            -k 删除默认acl权限            -R 递归设定acl权限        例:setfacl -m u:user1:rx test            getfacl test    3.最大有效权限 mask        ACL权限需要与mask进行与运算          setfacl -m m:rx test  设置最大有效权限    4.删除ACL权限        setfacl -x u:用户名 文件名        setfacl -x g:组名 文件名        setfacl -b 文件名         删除文件的全部ACL权限    5.递归设定ACL权限 -R      (x权限对目录与文件的作用是不一样的,注意递归时权限溢出问题)        setfacl -m u:user:rx -R test/    6.默认ACL权限(父目录设定默认权限,以后新建的子目录自动继承)           setfacl -d u:user:rx test/sudo权限    普通用户临时获取root权限    visudo 命令设置sudo权限        root       ALL=(ALL)  ALL        用户  被管理主机的地址=(可使用的身份) 授权命令(绝对路径)        %wheel     ALL=(ALL)  ALL        组名  被管理主机的地址=(可使用的身份) 授权命令(绝对路径)        例:user1 ALL=/sbin/shutdown -r now 授权普通用户可以任何主机上重启服务器            user1 ALL=/usr/bin/passwd       授权修改用户密码(有风险,可直接修改root密码)            user1 ALL=/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root (需要过滤root)            写的越详细越能限制权限大小    sudo -l    查看可执行命令    例:sudo /sbin/shutdown -r now 普通用户使用,需要验证user1密码文件特殊权限    SetUid        需要二进制可执行文件才设置SUID        需要用户对该文件拥有x执行权限        作用        执行该文件时会临时将身份变成文件所有者        例:ll /usr/bin/passwd  普通用户执行passwd命令 临时获得root权限 可修改密码        (身份转换只在执行的过程中有效)        设置        chmod 4755 test        chmod u+s test            4代表SUID        取消        chmod 0755 test        chmod u-s test    SetGid        除文件外还可对目录作用        文件        执行该文件时会临时将身份变成文件所属组        例:ll /urs/bin/locate命令 普通用户执行时升级为slocate组身份,对/var/lib/mlocalte/mlocate.db用有读权限        (身份转换只在执行的过程中有效)        目录        普通用户必须对目录拥有r和x权限,才能进入此目录        任何用户在此目录下建立的文件所属组都属于设置用户的所属组        设置        chmod 2755 test        chmod g+s test            2代表SGID    Sticky BIT         只对目录有作用        普通用户对此目录拥有w和x权限        作用        限制777目录权限删除目录下不是自己的文件        例:/tmp 目录 任何用户可查看,防止误删除,设置SBIT        设置SBIT        chmod 1777 test        chmod o+t test            1代表SBIT        取消SBIT        chmod 0777 test        chmod o-t不可改变位权限 chattr    chattr [+-=] [选项] 文件或目录名      + 增加权限      - 删除权限      = 等于某权限      常用选项        a 追加append        i 插入insert        i 文件 无法进行删除,增加,修改文件          目录 不能新建删除文件,只能修改目录下文件的数据        例:chattr +i test        a 文件 只能增加数据,不能删除,不能修改(不能使用vi)          目录 只能新建和修改文件,不能删除        例:chattr +a test    查看    lsattr [选项] 文件名        选项:            -a 显示所有文件和目录           -d 若目标是目录,仅列出目录本身的属性,而不是子文件的
原创粉丝点击