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 文件读取(3)
1.gps ,数值格式的读取 clear all test=importdata('2017- 9-27- 8-26-51.txt'); [r,c]=size(test.data);%row行,col ...
- vi文本编辑器的学习
vi文本编辑器的启动与退出 启动:快捷键Ctrl+Alt+t进入终端, 在系统提示符($或#)的提示下,输入vi <文件名称>,可以自动载入你要编辑的文件或者新建一个文件. 退出:在指令模 ...
- 【WPF学习】第六十四章 构建基本的用户控件
创建一个简单用户控件是开始自定义控件的好方法.本章主要介绍创建一个基本的颜色拾取器.接下来分析如何将这个控件分解成功能更强大的基于模板的控件. 创建基本的颜色拾取器很容易.然而,创建自定义颜色拾取器仍 ...
- c期末笔记(1)
运算符 1.i++与++i的细微区别 i++与++i 和i++放在一个语句中,则i原本的值先被利用.语句结束后,i的值加一. i的原始值失效,直接加一. 2.int加法 整形数据(int)加上任何类型 ...
- python编程笔记整理(2)
1.向字典中添加元素 字典名[键名] = 键值 my["姓名"] = "许嘉祺" (使用此代码可以把键值对添加到名为name的字典里.) (由于 ...
- php 分页使用limit还是用mysql_data_seek()呢?
目前大部分教程中介绍的时LIMIT方法,使用这种方法要认识到以下几点: (1)limit不是标准的sql语句; (2)如果选择使用limit,那么您就必须首先向数据库发送一个查询语句来获取记录的总数, ...
- 这可能是 Github 上最全面的 Flutter 教程
引语 晚上好,我是猫咪,我的公众号「程序媛猫咪」会推荐 GitHub 上好玩的项目,挖掘开源的价值,欢迎关注我. 刚下班到家,金三银四,虽然今天行情尤其地不好,但身边的同事也是走了一波,不免会受到影响 ...
- 创建堆(python)
创建最大(小)堆 二叉堆本质上是一种完全二叉树,存储方式并不是链式存储,而是顺序存储 堆操作:插入(叶子节点上调),删除(堆顶元素下沉) 堆创建:非叶子节点下沉(从最后一个非叶子节点开始) 最小堆: ...
- 29.2 Iterator 迭代器
/* * 集合的遍历方式: * 1.toArray(),可以把集合转换成数组,然后遍历数组即可 * 2.iterator(),可以返回一个迭代器对象,我们可以通过迭代器对象来迭代集合 * * Iter ...
- String 对象-->概念和创建
1.String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法: var txt = new String("string ...