第一周作业

  1. 总结计算机发展相关,并且总结服务器硬件相关知识。
    (1)计算机发展
    1)第一代计算机(1946-1957) 电子管时代
    2)第二代计算机(1958-1964) 晶体管时代
    3)第三代计算机(1965-1970) 集成电路时代
    4)第四代计算机(1971以后) 大规模集成电路时代
    (2)服务器硬件
    主板、CPU处理器、内存、硬盘、网卡、显卡、电源、风扇、PCIe扩展卡、远程管理卡等。
  2. 制作一个教程,说明vmware软件如何下载安装。安装rocky 8.7, ubuntu 22.04,并结合xshell说明如何通过虚拟IP登入系统。
    (1)VMware下载安装
    1)下载地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
    2)选择对应的操作系统版本进行下载

    3)VMware安装
    双击下载好的安装包

    点击"下一步"

    选中"我接受许可协议中的条款",点击"下一步"

    安装位置可自定义,点击"下一步"

    选择快捷方式,点击"下一步"

    等待安装完成

    (2)安装rocky 8.7
    创建新虚拟机

    选用典型

    选择"稍后安装操作系统"

    版本选择"Centos 8 64位"

    名称自定义,安装虚拟机的位置自定义

    设置虚拟机磁盘大小,选择"将虚拟磁盘存储为单个文件"

    如果需要修改硬件参数,可选择"自定义硬件"

    可更改内存和处理器核数、网络

    选择镜像文件

    虚拟机设置完成,开启虚拟机

    第一行为直接安装,第二行为进行自检并安装,按需进行选择

    进入安装界面,语言按需选择

    磁盘可选择自动分区或者自定义分区

    选择软件安装内容

    选择"Server with GUI"

    设置网络和主机名

    设置时区

    选择"Shanghai",设置正确的时间

    设置root密码


    点击开始安装

    等待安装完成

    安装完成,重启即可

    选择"LICENSING"

    勾选我接受授权协议

    使用root账户登录


    完成安装

    (3)安装Ubuntu 22.04
    创建新虚拟机

    选用典型

    选择"稍后安装操作系统"

    选择"Ubuntu 64位"

    名称自定义,安装虚拟机的位置自定义

    设置虚拟机磁盘大小,选择"将虚拟磁盘存储为单个文件"

    如果需要修改硬件参数,可选择"自定义硬件"

    可更改内存和处理器核数、网络

    选择镜像文件

    虚拟机设置完成,开启虚拟机

    安装Ubuntu

    选择语言

    直接选择"Done"


    设置网络

    直接选择"Done"

    镜像源默认官方,可使用阿里源

    选择安装的磁盘

    选择"Continue"

    设置用户名密码

    勾选并安装ssh服务

    开始安装

    安装完成,重启

    Ubantu 22.04完成安装

    (4)使用xshell连接虚拟机
    在虚拟机上查看虚拟机IP地址

    在虚拟机上ping测试电脑ip,通信正常

    进入Xshell---新建---填写虚拟机ip---连接

    输入账号

    输入密码

    正常SSH连接上主机
  3. 结合man命令总结linux常用基本命令用法,以及查看帮助文档的方法
    (1)语法
    man 【选项】【参数】
    【选项】
    -a:在所有的man帮助手册中搜索
    -f:等价于whatis指令,显示给定关键字的简短描述信息
    -P:指定内容时使用分页程序
    -M:指定man手册搜索的路径
    【参数】
    数字:指定从哪本man手册中搜索帮助
    关键字:指定要搜索帮助的关键字
    (2)查看帮助文档的方法
    man 【选项】 【章节】 手册页...
    man passwd #默认打开第一章帮助
    man 5 passwd #指定第五章帮助
    man 9 passwd #总共9个章节,中间的数字不能超过9,如果要找的章节里面没有对应的内容,则会显示没有
    man 10 passwd #总共9个章节,中间的数字不能超过9,如果是数字小于9,则直接定位到最小的章节
    man -a passwd #打开所有帮助
    man -f passwd #显示passwd相关的章节,相当于whatis passwd
    man -k passwd #在man手册中搜索所有与passwd相关的内容,使用whatis数据库
    man -w ls #显示ls的man文件路径
    man -aw passwd #显示所有跟passwd有关的man文件路径
    man -w 5 passwd #显示第5章的passwd的man文件路径
    man -M /usr/local/share/man/zh_CN #显示中文man的内容
  4. 总结linux文件系统相关知识,并结合操作演示文件操作常见的命令
    (1)linux文件系统相关知识
    *文件和目录被组织成一个单根倒置树结构
    *文件系统从根目录下开始,用"/"表示
    *根文件系统(rootfs):root filesystem
    *标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:Mail,mail
    *以.开头的文件为隐藏文件
    *路径分割用/
    *文件名最长255个字节
    *包括路径在内文件名称最长4095字节
    *蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件
    *除了斜杆和NUL,所有字符都有效,但是用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用
    *每个文件都有两类相关数据:元数据(metadata),即属性,数据(data),即文件内容
    (2)文件操作常见的命令
    pwd #显示当前工作目录
    mkdir #创建文件夹
    touch #创建文件
    stat #查看文件状态
    vi/vim #打开查看和修改文件
    cd #切换目录
    cp #复制和粘贴文件(夹)
    mv #移动文件(夹)
    rm #删除文件(夹)
    ls #查看文件夹下文件
    cat/tail/head #查看文件(一般为文本文件)里的具体内容
  5. 总结linux安全模型
    *用户登录系统时必须提供用户名和密码
    *使用用户和用户组来控制使用者访问文件和其他资源的权限
    *系统上的每一个文件都一定属于一个用户(一般该用户就是文件的创建者)并与一个用户组相关
    *每一个进程(处理程序)也都会属于一个用户和用户组相关联。可以通过在所有的文件和资源上设定权限来只允许该文件的所有者或者某个用户组的成员访问它们
    *资源分派:
    Authentication:认证,验证用户身份
    Authorization:授权,不同的用户设置不同权限
    Accouting|Audition:审计
    *当用户登录成功时,系统会自动分配令牌 token,包括:用户标识和组成员等信息
  6. 总结学过的权限,属性及ACL相关命令及选项,示例
    *Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位。为了保护系统的安全性,Linux系统对不同用户访问同一文件的权限做了不同的规定
    *对于一个 Linux 系统中的文件来说,它的权限一般可以分为三种:读的权限、写的权限和执行的权限,分别用 r、w 和 x 表示。不同的用户具有不同的读、写和执行的权限
    *对于一个文件来说,它都有一个特定的所有者,也就是对文件具有所有权的用户。同时,由于在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其它用户。因此,Linux 系统按文件所有者、文件所有者同组用户和其它用户三类规定不同的文件访问权限
    *Linux中的文件能否被访问和工具(程序)无关,和访问的用户身份有关(谁去运行这个程序)

进程的发起者(谁去运行这个程序)

进程的发起者若是文件的所有者: 拥有文件的属主权限

进程的发起者若属于文件属组:拥有文件的属组权限

应用文件"其它"权限

访问控制列表 ACL:Access Control List,实现灵活的权限管理

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

CentOS7 默认创建的xfs和ext4文件系统具有ACL功能

CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加

示例:

tune2fs --o acl /dev/sdb1

mount --o acl /dev/sdb1 /mnt/test

ACL生效顺序:所有者,自定义用户,所属组|自定义组,其他人

setfacl #可设置ACL权限 setfacl -m u:zxc:- a.txt

getfacl #可查看设置的ACL权限 getfacl a.txt

  1. 结合vim几种模式,学会使用vim几个常见操作

1)如何打开文件。并在打开文件(命令模式)之后如何退出文件。

(1)打开文件

vim [OPTION]... FILE...

+# 打开文件后,让光标处于第#行的行首,+默认行尾

+/PATTERN 让光标处于第一个被PATTERN匹配到的行行首

-b file 二进制方式打开文件

-d file1 file2... 比较多个文件,相当于 vimdiff

-m file 只读打开文件

-e file 直接进入ex模式,相当于执行ex file

-y file Easy mode (like "evim", modeless),直接可以操作文件,ctrl+o:wq|q! 保存和不保存退出

(2)打开文件(命令模式)之后退出文件

先输入冒号 :

q 退出

q! 强制退出

wq 保存退出

wq! 强制保存退出

2)打开文件(命令模式)之后,进入插入模式。并在插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件

打开文件---》命令模式-----i------》插入模式

插入模式------Esc----------》命令模式

命令模式退出文件

先输入冒号 :

q 退出

q! 强制退出

wq 保存退出

wq! 强制保存退出

3)打开文件(命令模式)之后,进入插入模式,编写一段话,"马哥出品,必属精品", 之后从插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件

[root@ubuntu22 ~]#vim 20240105.txt

i

马哥出品,必属精品

Esc

:

wq

4)使用cat命令验证文件内容,是刚刚自己写的内容

5)(可选),命令模式下,光标在单词,句子上进行前后,上下跳转。行复制粘贴。行删除

h: 左

L: 右

j: 下

k: 上

COMMAND:跳转由#指定的个数的字符

单词间跳转:

w:下一个单词的词首

e:当前或下一单词的词尾

b:当前或前一个单词的词首

COMMAND:由#指定一次跳转的单词数

行间移动:

G或者扩展命令模式下

:# 跳转至由第#行

G 最后一行

1G, gg 第一行

d 删除命令,可结合光标跳转字符,实现范围删除

d$ 删除到行尾

d^ 删除到非空行首

d0 删除到行首

dw

de

db

dd: 剪切光标所在的行

dd 多行删除

D:从当前光标位置一直删除到行尾,等同于d$

y 复制,行为相似于d命令

y$

y0

y^

ye

yw

yb

yy:复制行

Y:复制整行