linux操作系统的开机引导的过程
linux操作系统开机流程图
1、开机自检:根据bios的设置,对cpu、内存、显卡、键盘等设备进行初步检测,如果以上检测设备正常工作,系统会把控制权移交到硬盘
总结:检测包含系统启动操作系统的设备,硬盘,U盘,光驱
2、MBR引导/GPT引导:硬盘掌握系统控制权之后,根据分区表来找操作系统的引导文件,MBR的硬盘的一个扇区的主引导记录。GPT:默认的guid是1
分区之后,需要创建文件系统,然后挂载,设备才能正常使用。
操作系统文件都是保存在硬盘也就是系统的挂载点
MBR和GPT是由分区表组成的--------->映射到挂载
总结:根据硬盘的分区表,找到操作系统的文件,识别系统中的操作系统
控制权-------->grub引导程序
3、grub菜单:
当计算机当中有一个以上的操作系统,就会有这个grup菜单,多个操作系统,用户可以自行选择需要的系统
控制权-------->linux的内核
加载了操作的文件,加载系统的内核
4、加载linux的内核
内核是一个编译的二进制可执行文件,介于硬件和操作系统之间,负责资源分配和调度
总结:内核和镜像文件系统加载到内存,也就是把系统初始化需要的程序和资源放入内存当中
5、systemd进程初始化
串行;按照顺序,一个一个的执行
并行:一起执行
systemd进程初始化:系统加载到内核的程序和资源并行处理,大大提高了系统的开机时间
服务控制以及系统的运行级别
systemd是一个管理linux系统服务和进程的管理器
使用单元UNIT,来描述和控制系统服务和资源
service单元:管理和启动系统服务以及第三方服务的单元 .service
socket单元:端口。监听网络的通信套接字
默认端口
nginx:80
tomcat:8080
mysql:3306
ssh:22
端口号在主机上是唯一的,一旦被使用,其他程序就无法使用,
系统日志:/var/log/syslog ubuntu
/var/log/messages centos
服务通信的必要条件也是服务识别的一个标志
target单元:是一组服务的集合,用来描述系统或者服务的运行级别
path单元:用来监控文件或者目录的状态
mount单元:管理文件系统的挂载
Device单元:用来管理硬件设备的单元
单元控制命令:
systemctl 控制
控制的状态:
命令 | 含义 |
---|---|
start | 启动 |
stop | 停止 |
restart | 重启 |
reload | 当修改了单元文件,需要reload重新加载单元文件 |
status | 查看服务状态 |
systemctl daemon-reload 加载所有 |
systemctl reload nginx 加载单个
系统和进程的运行级别
runlevel 查看系统运行级别的命令
N:表示当前系统没有切换过运行级别
5:表示当前的运行级别
运行级别 | systemd的单元类型 | 说明 |
---|---|---|
0 | target | 关机 |
1 | rescue.target | 单用户模式,不需要验证密码就可以登录系统,系统维护 |
2 | multi-user.target | 字符串界面的多用户模式 |
3 | multi-user.target | 字符串界面的多用户模式 |
4 | multi-user.target | 字符串界面的多用户模式 |
5 | graphical.target | 图形化界面的多用户模式 |
6 | reboot.targett | 重启 |
1、怎么调整? init 级别
关机:init 0 或者 poweroff
重启:init 6 或者 reboot
2、为什么没意义
工作中的操作系统是没有图形化界面的,系统的默认级别都是3
系统的基本加固和sudo权限
1、账号的安全措施:
修改不需要登录的用户的shell
usermod -s /sbin/nologin 用户名 #禁止用户登录
锁定长期不使用的账户或则直接删除:
usermod -L 用户名 usermod -U 解锁
passwd -l 用户名 passwd -u 解锁
userdel -r 用户 删除用户一并删除其家目录
2、锁定重要文件
lsattr查看文件的状态
------e-----文件时正常状态
chattr +i 锁定文件,不能再对文件进行编辑,只读模式(包括root)
-----i------e—
chattr -i 解锁文件
3、用户密码的有效期控制:
- 适用于新建用户
vim /etc/login.defs(配置文件第165行,修改密码的最长有效天数)
- 适用于已用用户
chage -M 30 用户名 #修改用户的密码最长有效期30天
4、限制命令历史的记录
history #查看目录历史的记录
echo $HISTSIZE #查看历史记录多少条
在vim /etc/profile里面到最后一行输入HISTSIZE 数目,然后保存退出
source /etc/profile
history -c #清空历史记录
5、登录超时时间
远程连接的超时时间
vim /etc/profile
TMOUT=10
10秒钟之内,如果远程连接方没有任何操作,就会自动断开远程连接
source /etc/profile #重载和执行环境变量
sudo权限
sudo赋予普通用户可以使用管理员命令的权限
/sbin和/bin保存的都是系统可执行的命令文件
/sbin都是管理员可以用的命令文件
/bin所有用户都可以使用的命令文件