linux 文件权限管理

来源:互联网 发布:网络推广经理职责 编辑:程序博客网 时间:2024/05/08 05:07

一、普通权限(ugo)

这里写图片描述
以权限标识修改文件和目录的权限
u: user 所有者
g: group 所属组
o: ohter 其他人
针对文件
r:READ读权限,读文件的内容
w:write 写权限,
x:可执行
针对目录
r:read 读取目录下文件和目录的内容
w:是否可在目录下创建文件或删除文件
x:是否可进入目录
chmod ugo+/-(rwx) file
chmod ugo=(rwx) file

以权限值修改文件和目录的权限

八进制 二进制 权限 0 000 – 1 001 –x 2 010 -w- 3 011 -wx 4 100 r– 5 101 r-x 6 110 rw- 7 111 rwx

chmod 777 filename

所对应权限的文件和目录能做的操作

权限 文件 目录 000 什么都不能做 什么都不能做 001 什么都不能做 cd 010 echo 什么都不能做 011 可以写,不可读写 ls 100 cat ls 101 可读,可执行 ls cd 110 可读可写 ls 111 什么都可以做 什么都可以做

修改所有者和所属组
chown 用户名:组名 /tmp —-修改用户名组名

chown 用户名 /tmp —-只修改用户名

chown :组名 /tmp —-只修改组名

添加附加组

  1. 创建用户组 group1,创建用户user1、user2
    groupadd group1
    useradd user1 && useradd user2

  2. 设置group1为user1、user2的附加组
    gpasswd -a user1 group1
    gpasswd -a user2 group2
    这里写图片描述

二、特殊权限

权限名 权限值 针对对象 作用 SUID 4 二进制可执行文件,目录 瞬间获得root权限 SGID 2 目录 ,命令文件 瞬间获得组权限 STICKY 1 目录 防止共同目录内不同用户之间互相破环文件

设置权限的命令
chmod u+s
chmod g+s
chmod o+t

suid
针对二进制文件
权限位 s

作用在所有者的x位上

作用:让普通用户瞬间获得二进制文件所有者(root)的权限

添加SUID
chmod u+s 文件名
权限演示:
//复制passwd文件到 /test/目录下
cp /usr/bin/passwd /test/
切换普通用户tom,用passwd命令修改密码
这里写图片描述

用复制的文件 passwd 修改密码
这里写图片描述

退出普通用户,设置SUID权限,再次切换到普通用户执行
chmod u+s /test/passwd
这里写图片描述
通过上面的实验可以看出设置了SUID后,用户对之前没有执行权限的文件拥有了执行权限。

guid
权限为:s
权限值:2
作用在所属组的x位上

针对目录:
让普通用户进入目录后具有目录所属组的权限,当用户退出此目录就不再具有此权限

添加sgid
chmod g+s /目录
权限演示:
这里写图片描述
上图所示:给test目录设置了GUID后,普通用户tom进入目录后创建的文件夹的组属性是root。

sticky
针对目录
权限为:t

作用在其他人的x上

作用:防止普通用户在用一个目录里删除其他用户的目录

添加:

chmod o+t /目录
权限演示:
这里写图片描述

虽然root将text目录的权限设置成777,但是jim仍然不能删除tom创建的文件夹

三、ACL

访问控制列表
被设置了acl权限的用户和组对文件具有相应的权限
由于ugo权限无法针对更多的用户模式细化的划分权限,acl可以实现更加细化的划分权限。

针对对象:针对用户、针对组

设置acl
setfacl
-m –添加一条acl
-x –删除一条acl
-b –删除所有acl

如何确认文件系统是否支持acl
dumpe2fs -h /dev/sda1 | grep acl
这里写图片描述

只有root用户能设置acl

查看文件的alc属性
getfacl filename

列表内容

针对用户添加acl
setfacl -m u:username:rwx filename
这里写图片描述

针对组设置acl
setfacl -m g:groupname:rwx filename
这里写图片描述

setfacl -x u:username filename 删除单条acl信息
setfacl -b filename 删除该文件里的所有acl信息

四、隐藏权限

隐藏权限,也称文件系统权限或附加权限

特点:防止root用户误删除

命令:
chattr +a filename 给文件添加不能覆盖文件内容的权限

chattr +i 文件名 root用户也不能删除文件

chattr - 删除添加的隐藏权限

lsattr 文件名 查看文件的隐藏权限

示例:chattr +a 111.txt
这里写图片描述

目录也可以添加隐藏权限
chattr =aei 1111/
查看
lsattr -d 1111/
这里写图片描述
设置权限之后无法进行任何操作

0 0
原创粉丝点击