Linux 权限相关例题练习

news2024/12/24 9:58:45

目录

一、前期准备工作:

1)新建redhat用户

2)新建testdir目录及其file1

二、例题详解

1、当用户redhat对/testdir目录无写权限时,该目录下的只读文件file1是否可修改和删除?

2、复制/etc/fstab文件到/var/tmp下,设置文件所有者为redhat,有读写权限,所属组为cxk组,有读写权限,其他人无权限​编辑

3、要求在/tmp/testdir里创建的新文件自动属于g1组,组g2的成员如alice能对这些新文件有读写权限,组g3的成员如tom只能对新文件有读权限,其他用户(不属于g1,g2,g3)不能访问这个文件夹

4.让普通用户有能力使用cat文件阅读/etc/shadow文件

5.创建/tmp/aaaa/目录,该目录中的文件只能文件拥有者可以删除


一、前期准备工作:

1)新建redhat用户

[root@localhost ~]# useradd redhat

[root@localhost ~]# echo 123 | passwd --stdin redhat
Changing password for user redhat.
passwd: all authentication tokens updated successfully.

2)新建testdir目录及其file1

[redhat@localhost ~]$ mkdir testdir
[redhat@localhost ~]$ chmod u="r-x" testdir
[redhat@localhost ~]$ cd testdir
[redhat@localhost testdir]$ touch file1
[redhat@localhost testdir]$ ll
total 0
-rw-r--r--. 1 redhat redhat 0 Sep 25 21:46 file1
[redhat@localhost testdir]$ chmod u="r--" file1
[redhat@localhost testdir]$ ll
total 0
-r--r--r--. 1 redhat redhat 0 Sep 25 21:46 file1

二、例题详解

1、当用户redhat对/testdir目录无写权限时,该目录下的只读文件file1是否可修改和删除?

修改:(尝试修改文件的属主)————失败

[redhat@localhost testdir]$ chown root file1
chown: changing ownership of 'file1': Operation not permitted

删除:——失败

[redhat@localhost testdir]$ ll
total 0
-r--r--r--. 1 redhat redhat 0 Sep 25 21:52 file1
[redhat@localhost testdir]$ rm -f file1
rm: cannot remove 'file1': Permission denied

因此, 当用户redhat对/testdir目录无写权限时,该目录下的只读文件file1不可修改和删除

若对目录有写权限和执行权限,则对file1不能修改但可以删除

2、复制/etc/fstab文件到/var/tmp下,设置文件所有者为redhat,有读写权限,所属组为cxk组,有读写权限,其他人无权限

[redhat@localhost testdir]$ cp /etc/fstab /var/tmp
[redhat@localhost testdir]$ ll /var/tmp
total 4
-rw-r--r--. 1 redhat redhat 579 Sep 25 21:59 fstab
...

# 设置文件所有者
[redhat@localhost /]$ sudo chown redhat:cxk /var/tmp/fstab

由于Redhat无法成功创建cxk组,在网上查找资料后,要加上sudo命令,但Redhat也没有权限进行sudo,故给Redhat加上sudo权限

[redhat@localhost tmp]$ groupadd -g 1004 cxk
groupadd: Permission denied.    # 无法成功创建cxk
groupadd: cannot lock /etc/group; try again later.

[redhat@localhost /]$ sudo groupadd cxk
[sudo] password for redhat: 
redhat is not in the sudoers file.  This incident will be reported.    # 无使用sudo权限

 修改 /etc/sudoers 配置文件,使Redhat有权限使用sudo命令

[redhat@localhost /]$ su
Password: 
[root@localhost /]# vi /etc/sudoers
[root@localhost /]# exit
exit
[redhat@localhost /]$ 

此时可成功创建cxk

[redhat@localhost /]$ sudo groupadd cxk
[redhat@localhost /]$ cat /etc/group
...
cxk:x:1112:

 设置文件所有者:

此时redhat、cxk分别对fstab有读写操作和读操作

修改如下:

设置redhat有读写权限,cxk组有读写权限,其他人无权限

[redhat@localhost tmp]$ chmod g+w fstab
[redhat@localhost tmp]$ chmod o-r fstab

3、要求在/tmp/testdir里创建的新文件自动属于g1组,组g2的成员如alice能对这些新文件有读写权限,组g3的成员如tom只能对新文件有读权限,其他用户(不属于g1,g2,g3)不能访问这个文件夹

#创建g1,g2,g3组
[redhat@localhost /]$ sudo groupadd g1
[redhat@localhost /]$ sudo groupadd g2
[redhat@localhost /]$ sudo groupadd g3
[redhat@localhost testdir]$ sudo useradd -G g2 alice
[redhat@localhost testdir]$ sudo useradd -G g3 tom

#创建testdir目录
[redhat@localhost tmp]$ mkdir testdir
#再在testdir中创建data
[redhat@localhost testdir]$ mkdir data

[redhat@localhost testdir]$ sudo chgrp g1 data
[redhat@localhost testdir]$ chmod g+s data
[redhat@localhost testdir]$ setfacl -m g:g2:rw data
[redhat@localhost testdir]$ setfacl -m g:g3:r data
[redhat@localhost testdir]$ chmod o=- data
[redhat@localhost testdir]$ getfacl data    #查看data相关信息

 

4.让普通用户有能力使用cat文件阅读/etc/shadow文件

普通用户在未提权前无法查看 /etc/shadow文件

[redhat@localhost var]$ cat /etc/shadow
cat: /etc/shadow: Permission denied

5.创建/tmp/aaaa/目录,该目录中的文件只能文件拥有者可以删除

# 创建目录
[redhat@localhost tmp]$ mkdir aaaa
# 给满权限
[redhat@localhost tmp]$ chmod 777 aaaa/
[redhat@localhost tmp]$ ll aaaa/ -d
drwxrwxrwx. 2 redhat redhat 6 Sep 26 09:49 aaaa/
# 设置Sticky Bit权限
[redhat@localhost tmp]$ chmod a=rwxrwxrwt aaaa/
[redhat@localhost tmp]$ ll aaaa/ -d
drwxrwxrwt. 2 redhat redhat 6 Sep 26 09:49 aaaa/

# 在aaaa中创建a文件
[redhat@localhost tmp]$ cd aaaa
[redhat@localhost aaaa]$ touch a

# 其他用户zx对该文件进行删除操作,删除失败
[zx@localhost ~]$ cd /tmp/aaaa
[zx@localhost aaaa]$ ll
total 0
-rw-r--r--. 1 redhat redhat 0 Sep 26 09:54 a
[zx@localhost aaaa]$ rm -rf a
rm: cannot remove 'a': Operation not permitted

# 原用户redhat进行操作,删除成功!
[redhat@localhost aaaa]$ rm -f a
[redhat@localhost aaaa]$ ll
total 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1044405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++11之新的类功能

这里写目录标题 新的类功能默认成员函数类成员变量初始化强制生成默认函数的关键字default禁止生成默认函数的关键字deletefinal与override关键字override 新的类功能 默认成员函数 原来C类中,有6个默认成员函数: 构造函数析构函数拷贝构造函数拷贝赋…

Spring学习笔记13 Spring对事务的支持

Spring学习笔记12 面向切面编程AOP-CSDN博客 什么是事务:在一个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全. 多条DML要么同时成功,要么同时失败,叫做事务(Transaction) 事务四…

安防视频平台EasyCVR视频调阅全屏播放显示异常是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

Apache DolphinScheduler在中国信通院“2023 OSCAR开源尖峰案例”评选中荣获「尖峰开源项目奖」!

在近日由中国信息通信研究院(以下简称“中国信通院”)和中国通信标准化协会联合主办的“2023 OSCAR 开源产业大会”上,主办方公布了 2023 年“OSCAR 开源尖峰案例”评选结果,包括“开源人物”“开源项目”“开源社区”“开源企业”…

python+vue实验室课程预约管理系统

实验室课程管理系统运用计算机完成数据收集、查询、修改和删除以及统计等工作,提高了管理者工作效率,避免了因信息量巨大,造成的人为错误.通过前面的功能分析可以将实验室课程管理系统的功能分为管理员、学生和教师三个部分&#…

Linux高性能服务器编程 学习笔记 第八章 高性能服务器程序框架

TCP/IP协议在设计和实现上没有客户端和服务器的概念,在通信过程中所有机器都是对等的。但由于资源(视频、新闻、软件等)被数据提供者所垄断,所以几乎所有网络应用程序都采用了下图所示的C/S(客户端/服务器)…

LeetCode_BFS_中等_1926.迷宫中离入口最近的出口

目录 1.题目2.思路3.代码实现(Java) 1.题目 给你一个 m x n 的迷宫矩阵 maze (下标从 0 开始),矩阵中有空格子(用 ‘.’ 表示)和墙(用 ‘’ 表示)。同时给你迷宫的入口 …

电脑提示vcruntime140.dll缺失重新安装的修复方法

电脑出现 vcruntime140.dll 丢失的情况,通常是由于系统缺失了 Microsoft Visual C Redistributable 的运行库文件。这个文件是许多应用程序在运行时所需的依赖库,如果丢失了该文件,可能会导致某些软件无法正常运行。 下面是关于 vcruntime140…

免费录音软件推荐,告别杂音,音质更清晰!

“求推荐一款免费的录音软件!最近下载了好多的录音软件,不是音质太差,就是需要收费解锁新的功能,根本不好用,有没有人知道一款免费优秀的录音软件呀,告诉我一下。” 录音已成为现代人们学习和工作中的一项…

DataExcel控件读取和保存excel xlsx 格式文件

需要引用NPOI库 https://github.com/dotnetcore/NPOI 调用Read 函数将excel读取到dataexcel控件 调用Save 函数将dataexcel控件文件保存为excel文件 using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; using NPOI.SS.UserModel; using NPOI.SS.Util; using System; using …

pytho实例--pandas读取表格内容

前言:由于运维反馈帮忙计算云主机的费用,特编写此脚本进行运算 如图,有如下excel数据 计算过程中需用到数据库中的数据,故封装了一个读取数据库的类 import MySQLdb from sshtunnel import SSHTunnelForwarderclass SSHMySQL(ob…

Java BigDecimal 详解

目录 一、BigDecimal 1、简介 2、构造器描述 3、方法描述 4、使用 一、BigDecimal float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它…

25841-2017 1000kV电力系统继电保护技术导则

声明 本文是学习GB-T 25841-2017 1000kV电力系统继电保护技术导则. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了交流1000 kV 系统及1000 kV 变电站相关电压等级具有特别要求的继电保护装置 的基本准则。 本标准适用于1000 k…

大厂秋招真题【BFS+DP】华为20230921秋招T3-PCB印刷电路板布线【欧弟算法】全网最全大厂秋招题解

题目描述与示例 题目描述 在PCB印刷电路板设计中,器件之间的连线,要避免线路的阻抗值增大,而且器件之间还有别的器任和别的干扰源,在布线时我们希望受到的干扰尽量小。 现将电路板简化成一个M N的矩阵,每个位置&am…

如何快速学习AdsPower RPA(1)——简单、进阶部分

你是否刚开始学习使用AdsPower的RPA功能? 你是否对着这些操作选项头皮发麻,不知所措? 你是否想快速学会RPA? 你是否想编写出满足各种业务场景的RPA流程? 以上这些,Tool哥统统都帮你搞定! Too…

科技成果鉴定测试有多重要?可出具专业测试报告的软件测评机构推荐

科技成果鉴定测试在现代社会中具有重要意义,它不仅可以评估科技成果的价值和可行性,还可以为科技创新提供决策依据,推动科技进步和社会发展,那么科技成果鉴定测试究竟重要在哪呢? 1、对于科技项目的投资决策至关重要。鉴定测试可…

YOLOV8-DET转ONNX和RKNN

目录 1. 前言 2.环境配置 (1) RK3588开发板Python环境 (2) PC转onnx和rknn的环境 3.PT模型转onnx 4. ONNX模型转RKNN 6.测试结果 1. 前言 yolov8就不介绍了,详细的请见YOLOV8详细对比,本文章注重实际的使用,从拿到yolov8的pt检测模型&…

玩转gpgpu-sim 04记—— __cudaRegisterBinary() of gpgpu-sim 到底做了什么

官方文档&#xff1a; GPGPU-Sim 3.x Manual __cudaRegisterBinary(void*) 被执行到的代码逻辑如下&#xff1a; void** CUDARTAPI __cudaRegisterFatBinary( void *fatCubin ) { #if (CUDART_VERSION < 2010)printf("GPGPU-Sim PTX: ERROR ** this version of GPGPU…

查看Linux系统信息的常用命令

文章目录 1. 机器配置查看2. 常用分析工具3. 常用指令解读3.1 lscpu 4. 定位僵尸进程5. 参考 1. 机器配置查看 # 总核数物理CPU个数x每颗物理CPU的核数 # 总逻辑CPU数物理CPU个数x每颗物理CPU的核数x超线程数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| w…

电子电路学习笔记之NCV6324BMTAATBG——同步降压转换器

关于同步降压转换器&#xff1f; 是一种广泛应用于各种电子产品中的转换器。它具有输入范围宽、转换效率高、输出电流大等优点。在同步降压型转换器的驱动电路中&#xff0c;一般包括电平移位电路、死区时间控制电路以及过零检测电路等。 电平移位电路用于将固定电平Vcc和GND…