linux权限管理

xiaoxiao2021-02-28  139

文件基本权限

1.查看 ls -l -rw-r--r-- - 常见文件类型(-文件 d目录 l软链接文件) rw- u所有者 r--g所属组 r--o其他人 r 读 w 写 x 执行 2.修改 chmod chmod [选项] 模式 文件名 选项:-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 test 5.文件默认权限 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 若目标是目录,仅列出目录本身的属性,而不是子文件的
转载请注明原文地址: https://www.6miu.com/read-41931.html

最新回复(0)