服务(service)管理
介绍:
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql,sshd防火墙等),因此我们又称为守护进程,是linux中非常重要的知识点。
service管理指令:
service 服务名 [start|stop|restart|reload|status]
systemctl(centos7.0后)
使用案例:
查看当前防火墙的状态,关闭防火墙和重启防火墙
#查看防火墙状态
firewall-cmd --state
#启动防火墙
systemctl start firewalld.service
#关闭防火墙
systemctl stop firewalld.service
细节讨论:
1、关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]
telnet 192.168.84.200 22
2、这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置
3、如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令
查看服务名:
方式1:使用setup -> 系统服务 可以看到
方式2:/etc/init.d/服务名称
[root@localhost ~]# ls -l /etc/init.d/
服务的运行级别(runlevel)
查看或者修改默认级别:vi/etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和6
- 运行级别0: 系统停机状态,系统默认运行界别不能为0,否则不能正常启动
- 运行级别1: 单用户工作状态,root权限,用于系统维护,禁止远程登陆
- 运行级别2: 多用户状态(没有NFS),登陆后进入控制台命令行模式
- 运行级别3: 完全的多用户状态(有NFS),登陆后进入控制台命令行模式
- 运行级别4: 系统未使用,保留
- 运行级别5: X11控制台,登陆后进入图形GUI模式
- 运行级别6: 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机流程说明
开机 -> BIOS -> /boot -> init进程 -> 运行级别 -> 运行级对应的服务
chkconfig指令
- 介绍
通过chkconfig命令可以给各个运行级别设置自启动/关闭 - 基本语法
1、查看服务chkconfig --list|grep xxx
2、chkconfig 服务名 --list
3、chkconfig --level 5 服务名 on/off
应用实例
1、案例1:请显示当前系统所有服务的各个运行级别的运行状态
[root@localhost ~]# chkconfig --list
2、案例2:请查看sshd服务的运行状态
[root@localhost ~]# service sshd status
3、案例3:将sshd服务在运行级别5下设置为不自动启动,看看有什么效果?
chkconfig --level 5 sshd off
4、案例4:当运行级别为5时,关闭防火墙
chkconfig --level 5 iptables off
5、案例5:当所有运行级别下,关闭防火墙
chkconfig iptables off
6、案例6:在所有运行级别下,开启防火墙
chkconfig iptables on
- 使用细节
chkconfig重新设置服务后自启动或关闭,需要重启机器reboot才能生效