1、管理命令
systemctl
管理服务
- 开机自启动
- 管理正在运行的服务
1)检查sshd远程连接服务状态
lua
systemctl status sshd
systemctl status 单个或者多个服务名
2)如何设置服务开启
bash
#运行服务
systemctl start sshd
#开机自启动
systemctl enable sshd
#重启命令restart
未来新部署的服务,需要设置开机自启动与启动服务。
3)如何设置服务关闭
常见关闭防火墙firewalld
bash
#关闭服务
systemctl stop firewalld.service
#开机不会自启动
systemctl disable firewalld.service
温馨提示: 如果无法自动补全命令的选项需要安装
scss
bash-completion(默认源) bash-completion-extras(epel源)
yum install -y bash-completion bash-completion-extras
服务无法使用systemctl管理实现,这时候怎么办? 比如编译安装或者二进制安装。
这时候我们可以使用/etc/rc.local
文件。(开机自启动文件)
如果第1次使用需要授予执行权限chmod +x /etc/rc.local
,然后把服务启动命令写入到/etc/rc.local
中即可。
后面我们可以手动书写systemctl配置或脚本。
2、Linux运行级别
运行级别: Liunx不同状态,命令行模式,图形化界面模式(桌面).
运行级别 | 含义 | 说明 |
---|---|---|
0 | 关机 | |
1 | 救援模式 | 单用户模式,找回root密码. |
2 | 多用户模式 | 无网络的多用户模式. |
3 | 多用户模式 | 命令行模式,文本模式,工作默认模式. |
4 | 多用户模式 | 未使用,待开发待使用。 |
5 | 图形化界面模式(桌面模式) | |
6 | 重启 |
perl
[root@nanjing ~]# ll /usr/lib/systemd/system/runlevel*.target
/usr/lib/systemd/system/runlevel0.target -> poweroff.target
/usr/lib/systemd/system/runlevel1.target -> rescue.target
/usr/lib/systemd/system/runlevel2.target -> multi-user.target
/usr/lib/systemd/system/runlevel3.target -> multi-user.target
/usr/lib/systemd/system/runlevel4.target -> multi-user.target
/usr/lib/systemd/system/runlevel5.target -> graphical.target
/usr/lib/systemd/system/runlevel6.target -> reboot.target
修改和查看
csharp
#查看当前系统运行级别
systemctl get-default
#修改运行级别(未来生产中不修改)
systemctl set-default graphical.target #multi-user.target
init命令(临时切换运行级别)
shinit 6 #重启 init 0 #关机
3、Linux启动流程
经典的面试题:请描述下Linux启动流程。
4、root密码忘记如何解决
尽可能避免这个情况出现:
1、多准备个备用用户,普通用户设置sudo权限。
2、未来不仅仅只有密码认证,还有其他认证方式。
3、做好密码更新与统计工作。keepass保存密码。 excel表格。
1)公有云厂商(腾讯云为例)
一般重启Linux密码需要重启Linux,也可以选择在线。
2)物理服务器
1、重启服务器
2、进入grub菜单(先不要继续)选择第1个(目前使用中的Linux内核),按e
编辑内核配置。
3、找到Linux16的行,修改这一行的内容ro
改为rw
,按END
键到这一行的最后,输入init=/bin/bash
4、修改完成,执行ctrl+x启动系统,进入救援模式(此时无法远程连接)。
5、通过vi/vim编辑/etc/passwd
文件,去掉root的x标记(没有密码了),重启Linux.
6、本地登录Linux设置个密码即可。passwd