云计算学习日志-第3周-1-文件权限管理2

本文详细解读了高级权限suid、sgid和sticky在Linux中的作用,包括如何提权、目录权限控制和权限解除,以及sudo和针对普通用户的提权方式。通过实例演示了如何设置文件权限和操作权限,适合系统管理员和开发者学习。
摘要由CSDN通过智能技术生成

高级权限

高级权限 suid,sgid,sticky
1.1.高级权限的类型
suid ==== 4 提权 (只对二进制命令文件生效,其他不管用)
sgid ==== 2 组继承 (只能对目录设置)
sticky == 1 (t权限) 权限控制
1.set uid
1、SUID权限仅对命令文件(二进制文件)有效;
2、执行者将具有该程序拥有者(owner)的权限。

[root@bogon ~]# chmod u+s /usr/bin/cat
[root@bogon ~]# su - lu
上一次登录:一 523 11:18:21 CST 2022pts/0[lu@bogon ~]$ cat /root/1.txt
123456
# 当加入s 后,lu普通用户可以查看文件

取消提权

[root@bogon ~]# chmod u-s /usr/bin/cat
[root@bogon ~]# ls
1.txt  anaconda-ks.cfg
[root@bogon ~]# rm -rf 1.txt
[root@bogon ~]# mkdir /we
mkdir: 无法创建目录"/we": 文件已存在
# 取消后普通用户无法创建目录

2.Set GID
把s放到文件的所属用户组的x位置上的话,就是SGID。那么SGID的功能是什么呢?和SUID一样,只是SGID是获得该程序所属用户组的权限。
SGID主要用在目录上-----如果用户在此目录下具有w权限的话,使用者在此目录下建立新文件,则创建的这个文件的群组与此目录的群组相同。

[root@bogon ~]# echo '234' > we/2.txt
[root@bogon ~]# ll we
总用量 8
-rw-r--r--. 1 root root 4 523 11:33 1.txt
-rw-r--r--. 1 root root 4 523 11:34 2.txt
# 直接创建 显示属组 属主均为root
[root@bogon ~]# chmod g+s we
[root@bogon ~]# useradd hr1
[root@bogon ~]# chown .hr1 we
[root@bogon ~]# echo '456' > we/3.txt
[root@bogon ~]# ll we
-rw-r--r--. 1 root hr1  4 523 11:35 3.txt
# 创建用户并授权属组,在此查看发现属组为hr1

去除权限

[root@bogon ~]# chmod g-s we
[root@bogon ~]# echo '123' > we/5.txt
[root@bogon ~]# ll we
总用量 20
-rw-r--r--. 1 root root 4 523 11:33 1.txt
-rw-r--r--. 1 root root 4 523 11:34 2.txt
-rw-r--r--. 1 root hr1  4 523 11:35 3.txt
-rw-r--r--. 1 root hr   4 523 11:37 4.txt
-rw-r--r--. 1 root root 4 523 11:41 5.txt
# 去除权限后发现创建的文件属组 属主为root

3.Sticky Bit
这个就是针对others来设置的了,和上面两个一样,只是功能不同而已。
SBIT(Sticky Bit)目前只针对目录有效,对于目录的作用是:当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。

[root@bogon ~]# chmod o+t /home/test/
[root@bogon ~]# su - jack
上一次登录:一 523 11:47:20 CST 2022pts/0[jack@bogon ~]$ rm -rf /home/test/*
rm: 无法删除"/home/test/tom.txt": 不允许的操作
[jack@bogon ~]$ rm -rf /home/test/tom.txt
rm: 无法删除"/home/test/tom.txt": 不允许的操作
# 登录发现jack无法删除tom建立的文件

4.目前两种给普通用户提权手段:
sudo: 有针对性,例如针对某个用户以能够以root的身份执行某些命令。
suid: 基本针对所有用户,任何用户在执行有suid权限的程序时(例如/usr/bin/rm),都是以root身份在执行。

放开所有命令使用权
配置解释:
root表示用户名
第一个 ALL 指示允许从任何终端、机器访问 sudo
第二个 (ALL) 指示 sudo 命令被允许以任何用户身份执行
第三个 ALL 表示所有命令都可以作为 root 执行

[root@bogon ~]# visudo
# 进入配置文件
root    ALL=(ALL)       ALL
  101 tom     ALL=(ALL)  NOPASSWD:/usr/bin/mkdir,/usr/bin/touch,/usr/bin/rm
  102 jack    ALL=(ALL)  NOPASSWD:/usr/bin/mkdir,/usr/bin/touch,/usr/bin/rm
# 修改文件无密码登录,授权mkdir、touch的权限

作业
1.创建用户tom,jack,zhuzhuxia;zhuzhuxia用户的附加组为tom
[root@bogon ~]# useradd tom [root@bogon ~]# useradd jack [root@bogon ~]# useradd zhuzhuxia -G tom
[root@bogon ~]# id zhuzhuxia
uid=4011(zhuzhuxia) gid=4012(zhuzhuxia) 组=4012(zhuzhuxia),4011(tom)
2.切换到用户tom,在/tmp目录下创建文件tom.txt (观察文件的归属和权限)
[root@bogon ~]# su - tom
[tom@bogon ~]$ touch /tmp/tom.txt
[tom@bogon ~]$ ll /tmp/tom.txt
-rw-rw-r–. 1 tom tom 0 5月 23 12:11 /tmp/tom.txt
3.将tom创建的文件权限修改为rw-r-----
[root@bogon ~]# chmod g-w,o-r /tmp/tom.txt
[root@bogon ~]# ll /tmp/tom.txt
-rw-r-----. 1 tom tom 0 5月 23 12:11 /tmp/tom.txt
4.向tom创建的文件中写入内容"Tihs is tom file ,dont touch"
[root@bogon ~]# echo ‘Tihs is tom file ,dont touch’ >> /tmp/tom.txt
5.请问: jack,zhuzhuxia能不能查看文件的内容?
jack不可以,zhuzhuxia可以(作为属组成员,具有 r 权限)
6.创建一个目录/opt/test目录,要求该目录的属组为it组,任何用户在该目录下创建文件继承该目录的属组?
[root@bogon ~]# mkdir /opt/test/
[root@bogon ~]# chown .it /opt/test/
[root@bogon ~]# chmod g+s /opt/test/
7.使用root用户创建目录/prov,修改属主为tom,属组为tom,权限为750
[root@bogon ~]# mkdir /prov
[root@bogon ~]# chown tom.tom /prov
[root@bogon ~]# chmod 750 /prov
8.列出/home/下面的所有文件包括隐藏文件?
ll -a /home/
9.查看自己的ip地址
ip addr
10.chown是用来做什么的?chmod是用来做什么的?
chown----授权 chmod----修改权限
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值