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内核原理与分析》第一周作业的更多相关文章

  1. Linux内核原理与分析-第一周作业

    本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...

  2. 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业

    前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...

  3. 2019-2020-1 20199303<Linux内核原理与分析>第二周作业

    2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...

  4. 20169219 linux内核原理与分析第二周作业

    "linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...

  5. 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业

    1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...

  6. Linux内核原理与分析-第二周作业

    写之前回看了一遍秒速五厘米:如果

  7. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  8. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

  9. 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业

    <Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...

  10. 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业

    <Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...

随机推荐

  1. Codeforces #614 div.2 (A-E)

    A  ConneR and the A.R.C. Markland-N #include <bits/stdc++.h> using namespace std; #define ll l ...

  2. git 为什么要先commit,然后pull,最后再push?而不是commit然后直接push?

    情况是这样的,现在远程有一个仓库,分支就一个,是master.然后我本地的仓库是从远程的master上clone下来的.大家都是clone下来,再在自己本地改好,再commit然后pull然后push ...

  3. js 数组 随机排序

    方法一: function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) } fu ...

  4. .NET Core项目部署到Linux(Centos7)(一)前言

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  5. Java第二十一天,集合三大接口Set、List、Map的新方法——of方法

    of public static List<E> of(E.....e) 这是jdk 9推出的一个针对于Set,List,Map三大集合接口的新方法. 注意: 是静态方法. 只适用于Set ...

  6. linux如何杀死指定进程

    ps aux | grep '进程名称' sudo kill pid

  7. 基础类封装-pymysql库操作mysql封装

    import pymysql from lib.logger import logger from warnings import filterwarnings filterwarnings(&quo ...

  8. 7.1 java 类、(成员)变量、(成员)方法

    /* * 面向对象思想: * 面向对象是基于面向过程的编程思想. * * 面向过程:强调的是每一个功能的步骤 * 面向对象:强调的是对象,然后由对象去调用功能 * * 面向对象的思想特点: * A:是 ...

  9. 在Sping的配置文件中,关于dataSource的配置,就我们常用的方法大致可以有三种:

    在Sping的配置文件中,关于dataSource的配置,就我们常用的方法大致可以有三种: 1.一般的配置方法,直接在配置中指定其值.具体的例子我们参照Mysql的配置如下: <bean id= ...

  10. 013-结构体-C语言笔记

    013-结构体-C语言笔记 学习目录 1.[掌握]返回指针的函数 2.[掌握]指向函数的指针 3.[掌握]结构体的声明 4.[掌握]结构体与数组 5.[掌握]结构体与指针 6.[掌握]结构体的嵌套 7 ...