文件权限二(特殊权限、隐藏属性、文件访问控制列表、切换用户方式)

文件特殊权限:
SUID:将文件执行者临时获取所以者权限;U=user 用户
命令格式:chmod u + s 文件
SGID:临时获取所有组权限;G=group 组
命令格式:chmod g + s 文件
SBIT:只能自己删除自己的文件,因为SBIT保护位将文件保护起来
命令格式:chmod o + t 文件

注意:文件/目录用数字4位表示,其中第一位表示是否有特殊权限,第2-4位表示一般权限或特殊权限转换后的值。通过用数字的方式表示权限可以使设置用户(或文件、目录)权限时,更加方便,不用去记9位的rwx

一般权限或特殊权限转换方式:
文件权限二(特殊权限、隐藏属性、文件访问控制列表、切换用户方式)
针对suid和sgid
当末位有x时,末位转换成小s;
当末尾为-时,末位转换成大S;
针对sbit
当末位有x时,末位转换成小t;
当末尾为-时,末位转换成大T;

eg1:6642转换成特殊权限。思路:先将后面3位表示成一般权限的方式,然后第一位表示特殊权限的类型
第一位:6 4+2(表示suid sgid有权限,需要对一般权限的第二、三位提升权限)
第二位:6 rw- 需要转换特殊权限表示方式 rwS(因为末位为-,用大S表示)
第三位:4 r- - 需要转换特殊权限表示方式 r-S(因为末位为-,用大S表示)
第四位:2 -w- 无须转换 -w-(因为无需sbit权限)
最后得出:rwSr-S-w-
eg2:rws-wsr-T转换成数字表示权限。思路:先确定是否存在特殊权限(以确定数字首位数值),然后将对应有特殊权限的位进行转换得出一般权限,最后写出对应的数字
rws -ws r-T
s=suid(小写表示末位为x) s=sgid(小写表示末位为x) T=sbit(小写表示末位为-)
对应得出存在3个特殊权限=suid(4)+sgid(2)+sbit(1)=7(首位数字为7)
rws对应rwx(7) -ws对应-wx(3) r-T对应r--(4)
最后得出:7734

文件隐藏属性
chattr +[参数] 权限 文件 (设置、增加权限)

  • [参数] 权限 文件 (删除、减去权限)

文件权限二(特殊权限、隐藏属性、文件访问控制列表、切换用户方式)

lsattr [参数] 文件查看隐藏权限

文件访问控制列表
facl(file access control list)可以只针对某个用户、某个组给予精准访问的权限
setfacl [参数] 文件名称 表示设置精确的访问权限
eg:setfacl -Rm u:linuxprobe:rwx /reboot
-R表示针对目录的递归参数
m表示修改
u:linuxprobe:rwx表示单个用户linuxprobe给与rwx(读写执行)权限
/reboot 表示执行的命令
文件权限二(特殊权限、隐藏属性、文件访问控制列表、切换用户方式)

注意:在设置后,查看ACL列表信息时会发现,原最后文件的权限表示为点(.)变为加号(+),说明文件已经被设置为ACL

getfacl [参数] 文件名称 查看ACL

su与sudo命令
su 用户名 在不用登陆的情况下,从当前用户切换到指定用户
su - 用户名 在登陆情况下,从当前用户完全切换到指定用户

sudo命令 可以把一些命令的执行权限授予指定用户,确保普通权限用户执行一些特定的命令,也可以避免暴露root管理员密码
命令格式:
sudo [参数] 命令名称
文件权限二(特殊权限、隐藏属性、文件访问控制列表、切换用户方式)
另外,可以用visudo来为某个用户编辑执行的命令
格式为:谁可以使用 允许使用的主机(以谁的身份) 可执行的命令(列表)

猜你喜欢

转载自blog.51cto.com/948891/2396519