服务管理
1.管理命令
systemctl 管理服务
- 开机自启动
- 管理正在运行的服务
旧版本的系统:Centos5.x 6.x需要使用service命令
#检查sshd远程连接服务状态
[root@lnh ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
#服务是否开机自启动
Active: active (running) since Thu 2022-12-15 08:42:37 CST; 4 days ago
#running 表示服务正在运行
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1356 (sshd)
CGroup: /system.slice/sshd.service
└─1356 /usr/sbin/sshd -D
Dec 15 15:30:49 lnh sshd[2363]: Accepted password for root from 10.0.0.1 port 55013 ssh2
Dec 16 09:27:55 lnh sshd[3195]: Accepted password for root from 10.0.0.1 port 64174 ssh2
Dec 16 10:31:24 lnh sshd[3368]: Accepted password for root from 10.0.0.1 port 51101 ssh2
Dec 16 10:35:06 lnh sshd[3460]: Accepted password for root from 10.0.0.1 port 51497 ssh2
#如何设置开启
#开机自启动
[root@lnh ~]# systemctl enable sshd
#开启服务
[root@lnh ~]# systemctl start sshd
#关闭防火墙firewalld
#开机不会自启
[root@lnh ~]# systemctl disabled firewalld
#关闭正在运行的服务
[root@lnh ~]# systemctl stop firewalld
#服务永久关闭
[root@lnh ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
systemctl | 命令 | |
---|---|---|
开机自启动 | systemctl enable sshd | |
systemctl disable firewalld | ||
服务开启关闭重启 | systemctl start sshd | |
systemctl stop sshd | ||
systemctl restart sshd | ||
查看服务状态 | systemctl status 服务名字 | |
服务运行情况 | systemctl list-units | |
服务开机自启动情况 | systemctl list-unit-files |
服务无法使用system出台了管理实现开机自启,这时候怎么办?
这时候我们可以使用/etc/rc.local文件。第一次使用需要授予执行权限 chmod +x /etc/rc.d/rc.local
然后把服务启动命令写入到/etc/rc.local中即可
2.linux运行级别 必会
面试题或笔试题
运行级别 | Centos7 | Centos6 |
---|---|---|
0 | 关机 | 关机 |
1 | 救援模式 secure | 单用户模式,找回root密码 |
2 | 多用户模式 | 无网络的多用户模式 |
3 | 多用户模式 multiuser | 命令行模式,文本模式,工作默认模式 |
4 | 多用户模式 | 未使用 |
5 | 图形化界面模式,桌面模式,x11 graphical | 图形化界面模式,桌面模式,x11 |
6 | 重启 | 重启 |
2.1Centos6 VS Centos7 运行级别
[root@lnh ~]# ll /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 Dec 4 10:58 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Dec 4 10:58 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Dec 4 10:58 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Dec 4 10:58 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Dec 4 10:58 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Dec 4 10:58 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Dec 4 10:58 /usr/lib/systemd/system/runlevel6.target -> reboot.target
2.2 修改和查看
#查看当前系统运行级别
[root@lnh ~]# systemctl get-default
multi-user.target
#修改运行级别(未来生产中不修改)
systemctl set-default graphical.target #multi-user.target
3 Linux启动流程 面试题,必会
4.root密码忘记如何解决
工作中要尽可能避免出现这种情况
- 多准备几个备用用户,普通用户设置sudo权限
- 未来不仅仅是只有密码认证,还有其他认证方式
- 做好密码更新与统计工作。如,keepass保存密码
忘记了如何处理
4.1 普通救援模式
- 重启Linux
- 进入grub菜单(先不要继续),选择第一个(也就是默认的,正在使用的Linux内核),按e,编辑内核配置
- 找到Linux的16行,修改这一行的内容ro改为rw,按end键到这一行的最后,输入init=/bin/bash
- 修改完成,执行ctrl+x启动系统,进入救援模式
- 通过vi编辑/etc/passwd文件,去掉root的x标记(没有密码了),重启Linux
- 本地登录Linux设置密码
4.2光盘救援模式
- 重启。让系统以光盘启动(U盘)
- 在vmwarelogo页面的时候按1次esc键,弹出启动菜单,选择光盘
- 进入到系统安装页面,选择第3个“Troubleshooting” ,回车进入
- 然后选择第2个“Rescue a CentOS system”,进入光盘救援模式
- 耐心等待后,出来多个选项:输入1选择第1个选项
- 输入 chroot /mnt/sysimage
提示:
/mnt/sysimage 是磁盘原有的根目录
查找/etc/passwd 文件,要输入/mnt/sysimage/etc/passwd
可以使用chroot命令切换系统的根目录的位置,切换为/mnt/sysimage下
这样的话,就可以直接输入/etc/passwd
救援模式 | 特点 | 应用场景 |
---|---|---|
光盘救援模式 | 进入系统,重置密码 | 系统无法正常进入,作为进入系统最后的手段 |
普通救援模式 | 进入系统,重置密码 | 重置密码等操作 |