当前位置:网站首页>【Day6】文件系统权限管理 文件特殊权限 隐藏属性
【Day6】文件系统权限管理 文件特殊权限 隐藏属性
2022-08-05 05:18:00 【明里柚伊】
目录
一、文件系统权限管理
用户身份划分及用户权限划分
用户管理
添加用户
使用useradd命令创建用户时,系统会默认分配一个uid和gid(在/etc/passwd 文件下查看)
useradd -g 1234 user7 (创建用户user7,同时指定gid,1234为已存在的组的gid)
useradd -u 5678 user8 (在创建用户的同时指定uid)
useradd -G group2 user8 (创建用户user8,并给user8指定附加组为group2)
修改用户属性
给某个用户指定附加组时,这个组和用户必须存在:
usermod -G group1 user1 (将用户user1添加到group1组里)
或者 gpasswd -a user1 group1
将用户从附加组移除:
gpasswd -d user1 group1
使用usermod -G 修改用户所属附加组,原来的附加组不会被覆盖
usermod -u 1111 user1 (给user1修改uid)
usermod -g user6 user1 (给user1 修改基本组为user6,前提是这个组必须事先存在)
删除用户
userdel 用户名
userdel -r (删除用户时一并删除他的家目录)
组管理
添加组
groupadd -g user4 231 (新建一个user4组,gid为231)
修改组属性
groupmod -g 6575 love 改love组的gid为6575)
groupmod -n lover love (修改love组的组名为lover)
删除组
改变属主 chown
chown root /u Change the owner of /u to "root".(只改变属主)
chown root:staff /u Likewise, but also change its group to "staff".(属主属组都改变)
chown -hR root /u Change the owner of /u and subfiles to "root".改变属组 chgrp
-R参数实现递归修改,即目录下的文件也被同时修改
改变权限 chmod
chmod 640 test1 (640表示-rw--r----,other什么权限都没有)
修改密码
显示ID
sudo (重要)
在/etc/sudoers里给不同用户附加权限时最好加上命令的绝对路径,不然系统识别不了。
修改完成后,执行命令时。要加上sudo
二、文件特殊权限
针对独立于属主、属组、其他人之外的用户使用的权限;
Linux SetUID(SUID)
定义:文件所有者权限中的x权限位,出现了s权限,此种权限通常称为SetUID,简称 SUID 特殊权限。
针对二进制文件,功能:程序运行时的权限从执行者变更成程序所有者的权限
举例来说:
二进制文件passwd,它的属主数组都是root用户,其他人是不能修改这个文件,但是有了这个特殊权限,普通用户就从执行者变成了所有者,就可以对文件进行修改这个文件。
用法:chmodu+s xxx
只针对(二进制可执行程序)系统命令生效
Linux SetGID(SGID)
当s权限位于所属组的x权限位时,就被称为SetGID,简称SGID 特殊权限。
限定:既可以给二进制可执行程序设置,也可以给目录设置。
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的权限。(继承了上级目录的属组)
用法:chmodg+s xxx
同 SUID 类似,对于文件来说,SGID 具有如下几个特点:
•SGID 只针对可执行文件,有效赋予 SGID 时需要用户对此可执行文件有 x 权限;•用户在执行具有 SGID 权限的可执行文件时,用户的群组身份会变为文件所属群组;•SGID 权限赋予用户改变组身份的效果,只在可执行文件运行过程中有效;
Linux Stick BIT(SBIT)
Sticky BIT,简称 SBIT 特殊权限,可意为粘着位、粘滞位、防删除位等。
限定:只作用于目录,对其他用户加的权限
功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。
用法:chmodo+t xxx
创建一个目录,目录默认权限为755,属组用户与普通用户只能使用ls命令查看目录中文件与进入目录的权力,即使在该目录下创建了文件,给目录设置了666权限,属组用户与普通用户也不能删除文件。
ACL访问控制列表
我们就无法针对同一目录或文件为不同用户设置不同的权限集。因而,访问控制列表(ACL)应运而生。
1.查看当前操作系统版本是否支持acl控制 grep -i acl /boot/config*
2. 检查所需的程序包。
在开始处理ACL之前,要确保你已安装了所需的程序包。
检查是否安装:rpm -qa |grep acl
如果没有安装需要:yum install nfs4-acl-tools acl lib-acl -y
常用参数:
举例:
隐藏属性
查看文件隐藏属性
lsattr filename
修改文件隐藏属性
chattr +i filename 文件不能被删除、改名、设定硬链接关系,同时不能写入或新增
chattr +a filename 只能向文件中添加数据 不能删除 不能覆盖
chattr -a filename 和 chattr -i filename 可以去掉已经加上的文件隐藏属性
边栏推荐
猜你喜欢
随机推荐
腾讯云云函数SCF—入门须知
【UiPath2022+C#】UiPath 练习-数据操作
专有宿主机CDH
D39_向量
Autoware中安装Yolo3目标检测模块遇到的问题
三、自动配置源码分析
每日一题-DFS
偷题——腾讯游戏开发面试问题及解答
C语言入门笔记 —— 初识
(C语言)动态内存管理
Spark源码-任务提交流程之-6-sparkContext初始化
Jupyter notebook选择不同的Anaconda环境作为内核运行
什么?CDN缓存加速只适用于加速静态内容?
spark源码-任务提交流程之-1-sparkSubmit
不吹不黑,这的确是我看过微服务架构最好的文章!
函数在开发环境中的应用(简易实例)
六、请求处理—获取请求参数系列注解是怎样工作的?
Unity huatuo 革命性热更系列1.3 huatuo示例项目源码分析与启发
每日一题-单调栈
URP渲染管线实战教程系列 之URP渲染管线实战解密(一)