第一周
  3JMYEzTXlvT8 2023年11月26日 17 0

一、计算机发展及分类

计算机先后经历 电子管、晶体管、集成电路、大规模集成电路 四个时代。

冯-诺依曼体系

冯-诺依曼体系要点:

1、计算机数制采用二进制。最小单位为 bit(比特),1字节等于8比特,1 byte=8 bit。

2、计算机按程序执行顺序运行

3、计算机硬件由五大部分组成:运算器、控制器、存储器、输入设备、输出设备

分类

按规模

1、超级计算机:每秒运算可达百万亿次以上,用于国防尖端技术和现代科学计算中。

2、大型计算机:每秒可执行千万条指令,用于数据处理和网络服务器使用等。

3、小型计算机:采用精简指令集(RISC)处理器,高性能的64位处理器。国内通常指UNIX服务器。

4、微型计算机:采用X86 CPU架构的PC服务器,用于商业、服务业、日常办公等情景

按功能

Web服务器、数据库服务器、文件服务器、中间件应用服务器、邮件服务器等

按外形

塔式服务器、机架服务器、刀片服务器。

按CPU体系架构

X86服务器:采用CISC(复杂指令集)架构服务器。如Inter的至强系列和AMD的CPU

非X86服务器:采用RISC(精简指令集)架构服务器,主要是ARM架构。如华为的海思鲲鹏

二、计算机组成

硬件

1、CPU

中央处理器,由控制器和运算器构成。分为CISC(复杂指令集)、RISC(精简指令集),CISC系统庞大,功能复杂,执行速度慢,RISC功能简单,执行速度快。

2、内存

用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据;计算机中所有程序的运行都在内存中进行。

3、硬盘

硬盘是计算机最重要的存储设备。

根据存储介质不同,可分为HDD(机械硬盘)、SSD(固态硬盘)

根据接口不同,可分为SATA接口、SAS接口、U.2 NVME接口、IDE接口、SCSI接口

4、主板

安装在机箱内,是服务器基本的、最重要的部件之一。

作用:

1、连接组件    连接CPU、内存、硬盘等计算机部件

2、提供电源    当主机加电的时候,电流通过主板上每个接口为对应的组件提供电源

3、数据传输    将CPU、内存、硬盘及外部接口的数据都要通过主板进行数据交换

4、平衡控制    比如:当CPU工作量大发热严重时就会启动风扇降温

5、网卡

网卡又被称为网络适配器或网络接口卡NIC计算机依靠网卡接入网络

可分为NIC网卡(以太网卡)、HBA卡(特指FC网卡,用于连接存储或光纤交换机)、HCA卡(IB卡,应用于高带宽、低延时的高性能计算项目中)

6、电源

服务器必不可少的组件,为服务器提供电力,通常有冗余设计

其余还有阵列卡、显卡、风扇等

软件

可分为操作系统(Windows、Linux)和应用软件。

三、通过VMWare安装Linux系统

VMWare官网下载地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html

下载VMWare

第一周_服务器

安装VMWare

中途可改变安装位置,其余一直下一步即可,直至完成。

第一周_服务器_02

下载Linux系统

以Rocky、Ubuntu为例。

Rocky 下载地址:https://rockylinux.org/download

Ubuntu 下载地址:https://mirrors.ustc.edu.cn/ubuntu-releases/22.04/

安装Rocky

打开虚拟机,步骤如下

第一周_centos_03

第一周_centos_04

第一周_centos_05

第一周_服务器_06

第一周_服务器_07

第一周_centos_08

点击完成

第一周_centos_09

选中新创建的虚拟机,按下图指引

第一周_服务器_10

选中启动时连接,点击浏览,选中已下载的rocky镜像,然后确定

第一周_centos_11

选中Rocky8,开启此虚拟机,然后选择第一项:安装Rocky

第一周_服务器_12

设置语言

调整分区

第一周_centos_13

选择自定义,点击完成

第一周_服务器_14

点击左下角 + 号,设置/boot分区,点击添加挂载点。

第一周_服务器_15

重复上述过程,添加不同分区,结果如下;点击完成

第一周_centos_16

接受更改

第一周_服务器_17

调整日期和时间

第一周_centos_18

亚洲-上海

调整网络和主机名

第一周_服务器_19

编辑主机名

第一周_服务器_20

设置网络。

第一周_centos_21

保存后点击开关,如下所示,成功连接

第一周_centos_22

设置root密码,前后保持一致,完成

第一周_服务器_23

第一周_服务器_24

开始安装,安装完毕后重启系统

第一周_centos_25

登录系统,输入账号密码,通过 ip a 查看IP,ping 百度测试网络,如下图则成功

第一周_centos_26

第一周_centos_27

安装Ubuntu

前面步骤和安装rocky一致,此处版本选择Ubuntu 64 位

第一周_服务器_28

此处镜像选择Ubuntu

第一周_centos_29

然后打开虚拟机,选择第一项

第一周_centos_30

选择语言,回车确定

第一周_centos_31

选择键盘布局,回车确定

第一周_centos_32

回车确定

第一周_服务器_33

配置网络,按 空格 选中ens33 ,出现菜单,选中 Edit ipv4,回车确定

第一周_服务器_34

从上至下依次是 子网掩码、IP地址、网关、DNS

第一周_服务器_35

回车确定

第一周_服务器_36

修改软件源为 阿里云:https://mirrors.aliyun.com/ubuntu/

第一周_centos_37

磁盘分区,默认确定

第一周_服务器_38

第一周_centos_39

设置用户名、主机名、密码。回车确定

第一周_centos_40

使用空格选择安装ssh,一定要安装,不然后面无法远程连接

第一周_服务器_41

等待安装完毕,reboot now,重启

第一周_centos_42

远程连接Linux

第一周_服务器_43

第一周_服务器_44

根据提示输入用户名、密码即可。Ubuntu连接方法同样。

四、命令帮助

命令基本格式

Command [-Options] [Parameter] ,即 命令 [选项] [参数],可有多个选项、多个参数。

帮助文档

type

可判断某条命令是内部命令还是外部命令

[root@centos8 ~]#type -a echo   查看是否存在对应的内部命令和外部命令
echo is a shell builtin   表示内部命令
echo is /usr/bin/echo   表示外部命令

内部命令

help command   或  man 命令

外部命令

command --help

man 命令:使用man手册

info command:信息页

README、INSTALL、ChangeLog:程序自身的帮助文档

程序官方文档

网络搜索

五、文件系统

Linux文件系统有:ext2、ext3、ext4、xfs等。

Linux文件系统从 / 根目录开始;文件名称区分大小写。

目录结构

/bin 存放可执行的二进制文件,常用命令:ls,cd,mv等

/boot 存放系统启动时会用到的文件,包括内核文件以及启动选项和启动所需要的配置文件。Linux常用的内核名:vmlinuz。

/dev 存放一切设备文件。重要文件:/dev/null(黑洞文件)、/dev/zero(提供无限连续不断的空的数据流)、/dev/loop(挂载镜像文件或把文件作为块设备挂载)、/dev/sd(磁盘)等。

/etc 存放系统主要的配置文件。重要文件:/etc/modprobe.d(自动处理可载入模块)、/etc/passwd(用户信息)、/etc/fstab(系统启动时会自动地从这个文件读取信息,并自动将此文件中指定的文件系统挂载到指定的目录)、/etc/issue(在登录前显示的信息)、/etc/opt(存放第三方辅助软件/opt的相关

/lib 存放系统启动时会用到的函数库以及/bin或/sbin下面命令会调用的函数库。必须存在:/lib/modules/: 驱动程序。

/media 存放可删除的设备。比如:软盘、光盘、DVD等设备。常见文件名:/media/floppy(软盘)、/media/cdrom(只读光盘)

/mnt 存放临时挂载的额外设备

/opt 存放第三方辅助软件。

/run 存放系统启动后产生的各种信息。系统重启时,此目录下文件应被删除。

/sbin 存放只有root才能使用的命令,包含启动,修复,还原系统所需要的命令。常用命令:fdisk(MBR磁盘分区命令)、fsck(检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查)、ifconfig(显示或设置网络设备)、mkfs(在特定分区建立Linux系统)等。

/tmp 存放各种临时文件

/srv 存放网络服务启动后所需的数据

/usr 存放Unix软件资源。与软件安装或执行有关

/var 与系统运行过程有关。系统运行后会逐渐占用硬盘容量的目录。

/home 系统默认的用户家目录。

/lib<qual> 存放与/lib不同格式的二进制函数库。

/root 系统管理员root家目录

/lost+found 使用ext2、ext3、ext4文件系统才会有的目录,当文件系统出错时会把遗失的片段放置在此。使用xfs文件系统的话,没有此目录。

/proc 虚拟文件系统,系统内存的映射。这个目录的数据都在内存中,不占任何硬盘空间。重要文件:/proc/cpuinfo(cpu信心)、/proc/dma、/proc/interrupts、/proc/io

/sys 虚拟文件系统,主要记录内核与系统硬件信息相关的内容,包括已加载的内核模块与内核检测到的硬件设备信息。不占任何硬盘空间。

文件类型

- 普通文件     d 目录文件     l 软链接     b 是块设备     c是字符设备    p是管道文件     s套接字文件

通常默认情况下:蓝色是目录、绿色是可执行文件、红色是压缩文件、浅蓝色是链接文件

Meta data、Inode、Block

Meta data:记录文件的属性信息,比如:文件的大小、时间、类型、权限等,这些信息是存放在inode表中的。

Inode:记录文件的属性权限,一个文件占用一个inode,同时记录此文件的数据所在的block号

Block:实际记录文件的内容,若文件太大,会占用多个block;

目录是特殊的文件,记录了目录下的文件和Inode之间的对应关系。

六、文件操作基本命令

[root@centos8 data]#pwd   显示当前目录
/data
[root@centos8 data]#touch a.txt   通过相对路径创建新文件
[root@centos8 data]#touch /data/b.txt   通过绝对路径创建新文件
[root@centos8 data]#cd /   切换目录
[root@centos8 /]#
[root@centos8 data]#stat a.txt   查看文件状态
  File: a.txt
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd02h/64770d    Inode: 131         Links: 1
Access: (0666/-rw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-11-23 23:27:03.055216526 +0800   即atime,最后一次读取文件内容的时间
Modify: 2023-11-23 23:24:43.678950066 +0800   即mtime,最后一次改变文件内容的时间
Change: 2023-11-23 23:26:54.390262127 +0800   即ctime,最后一次改变文件元数据(权限、属性、链接,大小等)的时间
 Birth: -

[root@centos8 data]#ls   已有:linux.txt是在linux系统中创建的;win.txt是在windows系统中创建的,再上传至linux
linux.txt  win.txt
[root@centos8 data]#file linux.txt   确定文件内容
linux.txt: ASCII text
[root@centos8 data]#file win.txt
win.txt: ASCII text, with no line terminators
在Linux中,文本文件的行终止符通常是换行符(\n);在Windows中,文本文件的行终止符是回车符和换行符的组合(\r\n)。
[root@centos8 data]#ls
a.txt
[root@centos8 data]#cp a.txt ./b.txt   复制
[root@centos8 data]#ls
a.txt  b.txt
[root@centos8 data]#mv b.txt c.txt   移动,同一个目录下相当于改名
[root@centos8 data]#ls
a.txt  c.txt

[root@centos8 data]#rm -f linux.txt win.txt   删除文件
[root@centos8 data]#tree -d -L 1 /   树状显示根目录下的一级目录。-d只显示目录,-L显示层级
/
├── bin -> usr/bin
├── boot
...
└── var
20 directories
[root@centos8 data]#mkdir /test   创建目录
[root@centos8 data]#ls /test/
[root@centos8 data]#rmdir /test/   删除空目录

七、Linux安全模型

通过用户和用户组来控制使用者访问文件和其他资源的权限。系统上的每一个文件都一定属于一个用户并与一个用户组相关。每一个进程也都会属于一个用户并且和用户组相关联。

当用户登录成功时,系统会自动分配令牌(token),包括用户标识和组成员等信息。

八、管理用户和用户组

用户

配置文件

/etc/passwd:用户相关信息。

账号名称:密码:UID:GID:用户信息说明栏:家目录:shell环境

第一周_服务器_45

/etc/shadow:用户密码相关

账号名称:密码:密码最近变动日期:密码变动最小间隔天数:密码在此天数内需要变动:密码过期前提前警告的天数:密码过期后账号宽限时间:账号失效日期:保留

第一周_服务器_46

创建用户

新建用户时系统会参考 /etc/default 、/etc/skel/* 、/etc/login.defs 三个文件

useradd 选项 用户名

选项:

-u 指定UID

-g 指定GID/组名

-c 注释信息

-d 指定家目录

-s 指定shell环境

-G 指定附加组,附加组必须事先存在

-r 创建系统用户,即UID<1000(centos7),UID<500(centos6)

-m 创建家目录,用于系统用户

-M 创建家目录,用于非系统用户

第一周_centos_47

修改用户

usermod 选项 用户名

选项:

-u 指定新UID

-g 指定新主组

-G 指定新附加组

-s 指定新shell

-c 指定新备注信息

-d 指定新家目录;新家目录不会自动创建,若要创建新家目录并移动原家数据,要同时使用-m选项

-l 指定新用户名

-L 锁指定用户,在/etc/shadow密码栏增加叹号!

-U 解锁指定用户,把/etc/shadow密码栏叹号!取消

-e YYYY-MM-DD 指定用户账号过期日期

-f 指定宽限日期

第一周_服务器_48

删除用户

userdel 选项 用户名

选项:

-f 强制删除

-r 同时删除用户家目录和邮箱

第一周_centos_49

查看用户

id 选项 用户名

选项:

-u 显示UID

-g 显示GID

-G 显示用户所属的组ID

-n 显示名称,配合u g G 使用

第一周_服务器_50

切换用户

su 用户名:非登录式切换,不会读取目标用户的配置文件,不改变当前工作目录。使用exit回到原用户

su - 用户名:登录式切换,读取目标用户的配置文件,切换至目标用户的家目录。使用exit回到原用户

设置密码

passwd 选项 用户名

选项:

-d 删除指定用户密码

-l 锁定指定用户

-u 解锁指定用户

-e 强制指定用户下次登录修改密码

-f 强制操作

-n 至少多少天后才能修改密码

-x 多少天内必须修改密码

-w 密码过期前警告的天数

-i 密码过期多少天后失效

第一周_centos_51

以wang登录时提示,要求先输入旧密码123,再输入新密码

第一周_centos_52

修改密码策略

chage 选项 用户名

选项:

-d 最后一次更改密码的日期

-m 密码变动最小间隔天数

-M 密码在多少天内需要变动

-W 密码过期前警告的天数

-I 密码过期后账号宽限时间

-E 账户有效期

-l 显示该账号密码相关策略

设置用户wang的密码至少经过5天才能修改、30天内必须修改、密码过期前提前3天开始警告、密码过期后可宽限4天、2023-12-03账号失效

第一周_centos_53

创建组

groupadd 选项 组名

选项:

-g 指定GID

-r 创建系统组

修改组

groupmod 选项 组名

选项:

-n 新组名

-g 新GID

删除组

groupdel 选项 组名

选项:

-f 强制删除,即使是用户主组也强制删除,但会导致无主组的用户无法登录

管理组成员:gpasswd

让一个群组有一个管理员,可以管理哪些账号加入、移除群组。

gpasswd 组名

没有任何参数时,表示给予该组一个密码(/etc/gshadow)

gpasswd 【-A 用户名1,…】 【-M 用户2,…】 组名

-A:将该组的控制权交给用户1,即用户1为该群组群管理员;用户1可以不是该组成员。

-M:将用户2加入该群组

gpasswd 【-rR】 组名

-r:将该群组密码移除

-R:将该群组密码栏失效

gpasswd 【-ad】 用户1 群名

-a:将用户1加入该群

-d:将用户1移除该群

创建名为webs的组;用户nginx,使用webs作为附加组;用户varnish,使用webs作为附加组;用户mysql,不可交互系统,且不是webs的成员;nginx、varnish、mysql密码都是magedu

第一周_centos_54

九、权限管理

属性

例如:通过 ll -a 命令查询出当前目录有以下文件

–rw-r–r–  1  root  root  24  May  4  18:01  test

第一个字符代表这个文件是目录或文件或链接文件

【-】 则为文件;【d】则为目录;【l】则为链接文件;

【b】 则为设备文件中可供存储的周边设备;【c】 则为设备文件中串行端口设备,例如鼠标、键盘等;

rw- 代表文件拥有者具备的权限;r– 代表用户组内账号具备的权限; r– 代表非此拥有者且没有加入此用户组的其他账号的权限。

1 代表链接数。

root 代表文件拥有者;root 代表文件所属用户组。

24 代表文件大小,默认单位 字节,byte。

May 4 18:01 代表文件最后被修改的时间。

test 代表文件名字。

chown

改变文件拥有者。前提:用户必须存在于 /etc/passwd 文件中。

常用命令:

chown【-R】用户名 文件或目录 ;-R:进行递归变更,连同次目录下的所有文件都变更;

chown【-R】账号名称:组名 文件或目录 ;可以同时修改所属组。

chgrp

改变文件所属组。

常用命令:

chgrp【-R】组名 文件或目录;-R:进行递归变更,连同次目录下的所有文件都变更;

chmod

改变文件权限。

常用命令:

chmod 对象(u / g / o / a) 赋值符(+ / – / =) 权限类型(r / w / x)

权限

u:用户     g:组     o:其它     a:全部(用户、组、其它)

r:读  4      w:写  2      x:执行 1

文件是实际含有数据的地方,对于文件:

r:可读取此文件的实际内容,如读取文本文件的文字内容等。

w:可编辑、新增、修改、该文件内容(不包括删除该文件)。

x:该文件具有可被系统执行的权限。

目录主要内容在记录文件名列表,对于目录:

r:可读取目录结构列表的权限。

w:可建立新的文件与目录;删除已经存在的文件或目录(不论该文件权限为何);将已存在的文件或目录改名;移动该目录内文件、目录位置。

x:代表用户能否进入该目录。

开放目录给任何人浏览时,至少要给r和x权限。

新建文件和目录的默认权限

umask 

当前用户新建文件或目录时默认权限。

查询出来的默认值是需要减掉的权限。

建立文件默认最大权限是666;即新建文件的权限是 666-umask

建立目录默认最大权限是777;即新建文件的权限是 777-umask

root用户的umask默认是022

    建立文件默认权限644;建立目录默认权限是755;

非特权用户的umask默认是002

    建立文件默认权限664;建立目录默认权限是775;

复制/etc/fstab文件到/var/tmp下,设置文件所有者为tomcat读写权限,所属组apps有读写权限,其它人无权限。

第一周_服务器_55

特殊权限

例如:/根目录下 /tmp 目录 和 /usr/bin/passwd

第一周_服务器_56

Set UID(4)

SUID权限仅对二进制程序(binary program)有效;

执行者对于该程序需要具有x的可执行权限;

本权限仅在执行该程序的过程中有效(run-time);.

执行者将具有该程序拥有者(owner) 的权限。

设置在目录上无意义

Set GID(2)

对于文件来说

SGID对二进制程序有用;

程序执行者对于该程序来说,需具备x的权限;

执行者在执行的过程中将会获得该程序群组的支持!

对于目录来说

用户若对于此目录具有r与x的权限时,该用户能够进入此目录;

用户在此目录下的有效群组(ffective group)将会变成该目录的群组;

用途:若用户在此目录下具有w的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同。

Sticky Bit(1)

当用户对于此目录具有w,x 权限,亦即具有写入的权限时;

当用户在该目录下建立文件或目录时,仅有自己与root 才有权力删除该文件。

设置在文件上无意义

总结

SUID

user,占据属主的执行权限位

s:属主拥有x权限

S:属主没有x权限

SGID

group,占据属组的执行权限位

s:属组拥有x权限

S:属组没有x权限

Sticky:

other,占据other的执行权限位

t:other拥有x权限

T:other没有x权限

ACL

除了所有者、属组、其它人之外单独设定权限。

CentOS7默认创建的xfs和ext4文件系统具有ACL功能;CentOS7之前版本,默认手工创建的ext4文件系统无ACL功能,需要手动增加。

开启 /dev/sdb1 的acl功能
    tune2fs -o acl /dev/sdb1
在挂载时开启 /dev/sdb1 的acl功能
    mount -o acl /dev/sdb1 /mnt/test
getfacl

getfacl 目标文件名

取得某个文件或目录的ACL设定项目。

setfacl

setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名

设定某个文件或目录的ACL规范。

-m 设定acl参数给目标文件

-x 删除acl参数给目标文件

-b 移除所有的acl参数

-k 移除预设的acl参数

-R 递归设定acl;包括次级目录也会被设定

-d 预设acl参数,只对目录有效,新建目录时会引用此默认值

针对特定使用者:

设定规范:setfacl -m u:用户列表:权限 文件或目录

[root@centos8 data]#umask
0022
[root@centos8 data]#echo "123" > testACL
[root@centos8 data]#ll
total 4
-rw-r--r-- 1 root root 4 Nov 25 02:59 testACL
[root@centos8 data]#getfacl testACL
# file: testACL
# owner: root
# group: root
user::rw-
group::r--
other::r--
[root@centos8 data]#setfacl -m u:zhangsan:r testACL   设定zhangsan可读取testACL
[root@centos8 data]#getfacl testACL
# file: testACL
# owner: root
# group: root
user::rw-
user:zhangsan:r--
group::r--
mask::r--
other::r--

针对特定群组:

设定规范:setfacl -m g:群组列表:权限 文件或目录

[root@centos8 data]#setfacl -m g:lisi:rw testACL   设定群组lisi的成员可读取testACL内容
[root@centos8 data]#getfacl testACL
# file: testACL
# owner: root
# group: root
user::rw-
user:zhangsan:r--
group::r--
group:lisi:rw-
mask::rw-
other::r--
[root@centos8 data]#setfacl -x g:lisi testACL   删除群组lisi读取testACL的权限
[root@centos8 data]#getfacl testACL
# file: testACL
# owner: root
# group: root
user::rw-
user:zhangsan:r--
group::r--
mask::r--
other::r--
[root@centos8 data]#setfacl -b testACL   清空testACL的acl配置
[root@centos8 data]#getfacl testACL
# file: testACL
# owner: root
# group: root
user::rw-
group::r--
other::r--

十、vim

vim 文件路径 用来 打开指定文件

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

常用命令

i 切换到输入模式,以输入字符。

: 切换到底线命令模式,以在最低一行输入命令.

光标移动

移动至行首 shift + 6 不是小键盘的6

移动至行末 shift + 4 不是小键盘的4

移动至首行 gg

移动至末行 G

翻屏 上翻:ctrl+b 或 PgUp 下翻:ctrl+f 或 PgDn

左下上右 hjkl

复制操作

复制光标所在行 yy 然后在想粘贴位置按p。

以光标所在行为准(包含当前行),向下复制指定的行数  数字yy

输入模式

在命令模式下按 i 进入输入模式。esc 退出输入模式,进入命令模式

底部命令行模式

在命令模式下输入冒号 : 进入底部命令行模式

q 退出

w 保存

! 代表强制;q! 代表强制退出

第一周_服务器_57

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月26日 0

暂无评论

推荐阅读
  wwLZeziuqjLR   2023年12月11日   16   0   0 Dockercentos
  wwLZeziuqjLR   2023年12月08日   68   0   0 Dockercentosbash
  Yoru5qB4TSKM   2023年12月10日   15   0   0 服务器重启IP
  wwLZeziuqjLR   2023年12月07日   17   0   0 Dockercentos