2019-2020-1 20199310《Linux内核原理与分析》第一周作业
1.问题描述
1.1 问题一
Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,探究根目录下主要文件用途。
1.2 问题二
有一个非常重要的文件(passwd.list),只知道它在 /etc/ 目录下,现在需要把这个文件找出来,然后设置成某一新建用户(louhao 用户)可以访问,但是其他用户并不能访问。
2.解决思路
2.1 linux系统文件目录
使用ls命令显示根目录下文件,通过上网查询确定其用途。
2.2 文件查询和权限设置
在shiyanlou用户下用sudo adduser命令创建louhao用户,并进行设置。新建的用户没在sudoers的管理文件中未配置,所以使用shiyanlou用户通过find命令查询passwd.list文件并通过chown和chmod命令赋予权限。
3.解决过程
3.1 问题一
3.1.1 根目录显示
显示根目录下各文件,如图所示:
3.1.2 主要文件用途
/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader);
/dev: 设备文件,包括:块设备(随机访问,数据块),字符设备(线性访问,按字符为单位),设备号:(主设备号major和次设备号minor);
/etc:配置文件;
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME;
/root:管理员的家目录;
/lib:库文件,包括:静态库(.a)和动态库( .dll, .so);
/lib/modules:内核模块文件;
/media:挂载点目录,移动设备;
/mnt:挂载点目录,额外的临时文件系统;
/opt:可选目录,第三方程序的安装目录;
/proc:伪文件系统,内核映射文件;
/sys:伪文件系统,跟硬件设备相关的属性映射文件;
/tmp:临时文件, /var/tmp;
/var:可变化的文件;
/bin: 可执行文件, 用户命令;
/sbin:管理命令;
链接 linux文件系统
3.2 问题二
3.2.1 代码和注释
#添加和配置新用户louhao
sudo adduser louhao
#在home目录下显示新用户文件
cd /home
#在/etc目录下查找passwd.list
sudo find /etc -name passwd.list
#将文件赋予louhao用户
sudo chown louhao /etc/password/passwd.list
#将文件查看修改权限赋予louhao用户,其他用户无权限
sudo chmod 600 /etc/password/passwd.list
#分别使用shiyanlou用户和louhao用户测试查看该文件
cat /etc/password/passwd.list
3.2.2 演示截图
创建用户louhao
使用shiyanlou用户赋予文件权限,并测试其他用户是否可以打开该文件
使用目标用户louhao查看该文件
4.总结
本文主要学习了linux文件系统和基本用户、文件权限的管理,熟悉了ls,find,chown和chmod等命令。在解决过程中,遇到了新建用户没有sudo权限的问题,主要原因是没有在系统文件sudoers件中对新用户进行未配置。该问题也需要在sudo权限下才可以对系统文件sudoers进行修改。sudo为superuser do,一般只有root才拥有。在实验楼linux系统环境中,shiyanlou用户默认拥有sudo权限,故在其用户环境下对文件进行权限操作。
2019-2020-1 20199310《Linux内核原理与分析》第一周作业的更多相关文章
- Linux内核原理与分析-第一周作业
本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...
- 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业
前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...
- 2019-2020-1 20199303<Linux内核原理与分析>第二周作业
2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...
- 20169219 linux内核原理与分析第二周作业
"linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...
- 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业
1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...
- Linux内核原理与分析-第二周作业
写之前回看了一遍秒速五厘米:如果
- 2018-2019-1 20189221《Linux内核原理与分析》第一周作业
Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...
- 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业
这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...
- 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业
<Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业
<Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...
随机推荐
- MATLAB—地图
一.画亚洲地图 1.worldmap() (1) clear all worldmap('World') clear all worldmap('World')%世界地图 load coast %载入 ...
- 用css3实现摩天轮旋转的动画效果
用css3实现摩天轮旋转的动画效果 1.CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes 规则.@keyframes 规则用于创建动画.在 @keyf ...
- 作为 attribute 和 property 的 value 及 Vue.js 的相关处理
attribute 和 property 是 Web 开发中,比较容易混淆的概念,而对于 value,因其特殊性,更易困惑,本文尝试做一下梳理和例证 attribute 和 property 的概念 ...
- 【故障公告】部署在 k8s 上的博客后台昨天与今天在访问高峰多次出现 502
非常抱歉,从昨天上午开始,部署在 k8s 集群上的博客后台(基于 .NET Core 3.1 + Angular 8.2 实现)出现奇怪问题,一到访问高峰就多次出现 502 ,有时能自动恢复,有时需要 ...
- 汇编学习-三(VB)
闲来无事做了一下160个crackme,因为是VB程序,所以将得到的一点心得记录如下(OD加载注释) push eax ; Andréna.004018A8 call dword ptr ds:[&l ...
- P1345 [USACO5.4]奶牛的电信(点拆边 + 网络最小割)
题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,-,a©,且a1与a2相连,a2 ...
- RabbitMQ的高可用集群部署
RabbitMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RabbitMQ部署的三种模式 1.1 单一模式 单机情况下不做集群, 仅仅运行一个RabbitMQ. # docker-c ...
- html5 css写出一个实心三角形和空心三角行
原理:css中的border属性的特殊性. 实心三角形: html5: <div id="mydiv"></div> css: #mydiv{ height ...
- [go]map基本使用和底层原理
1.map基本使用 map声明 var m4 map[int]int //只是声明 没有开辟空间 m4[1]=100 //报错 log.Println(m4) 创建 //1 m3:=make(map[ ...
- Vue 核心最基本的功能
~~~<html><head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"& ...