关于firewalld和systemd的一些命令速记

前言

CentOS 7 已经用firewalld替换掉了iptables并用systemd来管理启动服务(之前是chkconfig)。而且下一个Ubuntu的长期支持版也要这么干了。

这两个工具在操作上和之前的系统有很多的变化,所以集中记录一下常用的命令,以免每次都要靠搜索引擎。

firewalld

关于firewalld:http://fedoraproject.org/wiki/FirewallD/zh-cn

图形化配置工具: firewall-config

命令行工具:firewall-cmd

默认配置位于: /usr/lib/firewalld

用户配置位于: /etc/firewalld

添加服务

在 /etc/firewalld/services 创建 [服务名称].xml 格式如下:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>服务名称</short>
  <description>服务名称 server port whitelist</description>
  <port protocol="协议" port="端口"/>
  <port protocol="tcp" port="8001"/>
</service>

添加区域规则

和添加服务类似,可以从/usr/lib/firewalld/zones拷贝到/etc/firewalld/zones然后改。

主要流程是控制某一个区域开启哪些服务或者端口

常用命令

systemd

关于systemd: https://wiki.archlinux.org/index.php/Systemd_(简体中文)

系统配置位置:/usr/lib/systemd/system/

用户配置位置:/etc/systemd/system/

其实systemd的enable操作就是把系统配置软链接到用户配置

添加服务

具体文档可以 man 5 systemd.unitman 5 systemd.service

直接在 /usr/lib/systemd/system或者/usr/lib/systemd/user里添加 <单元>.service文件

然后执行上面的命令即可

文件内容示例:

启动级别

SysV 启动级别

Systemd 目标

注释

0

runlevel0.target, poweroff.target

中断系统(halt)

1, s, single

runlevel1.target, rescue.target

单用户模式

2, 4

runlevel2.target, runlevel4.target, multi-user.target

用户自定义启动级别,通常识别为级别3。

3

runlevel3.target, multi-user.target

多用户,无图形界面。用户可以通过终端或网络登录。

5

runlevel5.target, graphical.target

多用户,图形界面。继承级别3的服务,并启动图形界面服务。

6

runlevel6.target, reboot.target

重启

emergency

emergency.target

急救模式(Emergency shell)

常用命令

顺带记一下怎么开启coredump

Written with StackEdit.

Last updated

Was this helpful?