[模板] Linux 日志保存时间策略的配置模板 (logrotate 的配置模板)

# vim /etc/logrotate.d/messages
/var/log/messages
/var/log/secure
/var/log/maillog
{
    delaycompress
    nodateext
    rotate 5
    missingok
    notifempty
    weekly
    create 755 root root
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}


补充:
1) /etc/logrotate.d/messages 这个配置文件里的设置会影响到日志文件 /var/log/messages
2) 在配置文件里添加 /var/log/secure 参数则代表会将 /var/log/secure 日志文件里的内容添加到 /var/log/messages 日志文件里
3) 在配置文件里添加 delaycompress 参数则代表会将归档的日志进行压缩
4) 在配置文件里添加 rotate 5 参数则代表只会保留最近的 5 次的日志压缩文件
5) 在配置文件里添加 weekly 参数则代表每周会压缩一次日志文件
6) 在配置文件里添加 create 755 root root 参数则代表日志文件的所属主和所属组都是 root,权限是 755

[内容] DNS 客户端的设置 (Linux 版)

内容一:设置 DNS 客户端
1.1 直接在本地指定域名
1.1.1 直接在本地指定域名的方法

# vim /etc/hosts

添加以下内容:

......
<IP address> <domain name>

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.1.2 直接在本地指定域名的案例

# vim /etc/hosts

添加以下内容:

......
192.154.240.64 eternalcenter.com

(补充:这里以将 192.154.240.64 解析为 eternalcenter.com 为例)

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.2 使用远程的 DNS 服务器解析域名
1.2.1 使用远程的 DNS 服务器解析域名
1.2.1.1 使用远程的 DNS 服务器解析域名的方法
1.2.1.1.1 直接修改 /etc/resolv.conf 文件

# vim /etc/resolv.conf

添加以下内容:

......
nameserver <IP address of DNS server>

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.2.1.1.2 使用 nmcli 命令
1.2.1.1.2.1 使用 nmcli 命令配置一个 DNS 服务器的 IP 地址

# nmcli connection modify <network card name> ipv4.dns <IP address of DNS server>

(补充:不将 /etc/NetworkManager/NetworkManager.conf 里的 [main] dns=none 参数修改为 none 的话,此参数会覆盖 /etc/resolv.conf 里的设置)


注意:
1) 此方法只对 CentOS8&RHEL8 适用
2) /etc/hosts 里记录的 DNS 优先级要比使用 nmcli 命令的高

1.2.1.1.2.2 使用 nmcli 命令配置多个 DNS 服务器的 IP 地址

# nmcli connection modify <network card name> ipv4.dns "<first IP address of DNS server>,<second IP address of DNS server>,<third IP address of DNS server>......"

(补充:不将 /etc/NetworkManager/NetworkManager.conf 里的 [main] dns=none 参数修改为 none 的话,此参数会覆盖 /etc/resolv.conf 里的设置)


注意:
1) 此方法只对 CentOS8&RHEL8 适用
2) /etc/hosts 里记录的 DNS 优先级要比使用 nmcli 命令的高

1.2.1.2 使用远程的 DNS 服务器解析域名的案例
1.2.1.2.1 直接修改 /etc/resolv.conf 文件

# vim /etc/resolv.conf

添加以下内容:

......
nameserver 8.8.8.8

(补充:这里以使用 8.8.8.8 DNS 服务器为例)

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.2.1.2.2 使用 nmcli 命令

# nmcli connection modify eth0 ipv4.dns 8.8.8.8


补充:
1) 这里以给 eth0 网卡添加 8.8.8.8 DNS 服务器为例
2) 不将 /etc/NetworkManager/NetworkManager.conf 里的 [main] dns=none 参数修改为 none 的话,此参数会覆盖 /etc/resolv.conf 里的设置

(注意:/etc/hosts 里记录的 DNS 优先级要比使用 nmcli 命令的高)

1.2.2 查看正在使用远程的 DNS 服务器解析的域名

# nmcli connection show | grep -i ipv4.dns

内容二:检查 DNS 域名解析
2.1 使用 ping 命令解析域名
2.1.1 使用 ping 命令解析域名的格式

# ping <domain name>

2.1.2 使用 ping 命令解析域名的案例

# ping eternalcenter.com
PING eternalcenter.com (192.154.240.64) 56(84) bytes of data.
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=1 ttl=50 time=144 ms
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=3 ttl=50 time=70.8 ms
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=4 ttl=50 time=81.3 ms
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=5 ttl=50 time=103 ms
......

2.2 使用 host 命令解析域名
2.2.1 使用 host 命令解析域名的格式

# host <domain name>

2.2.2 使用 host 命令解析域名的案例

# host eternalcenter.com
eternalcenter.com has address 192.154.240.64

(补充:这里以解析 etenalcenter.com 域名为例)

2.3 使用 nslookup 命令解析域名
2.3.1 使用 nslookup 命令解析域名的格式

# nslookup <domain name>

2.3.2 使用 nslookup 命令解析域名的案例

# nslookup eternalcenter.com
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	eternalcenter.com
Address: 192.154.240.64

(补充:这里以解析 etenalcenter.com 域名为例)

[内容] Linux SELinux 布尔 (boolean) 值的设置

内容目录:

内容一:开启 SELinux 布尔(boolean)值
1.1 查看当前 SELinux 状态
1.2 将 SELinux 的状态设置为 Enforcing 以开启布尔(boolean)值
1.2.1 当当前 SELinux 的状态为 Disabled 时开启布尔(boolean)值的方法
1.2.1.1 修改 SELinux 配置文件
1.2.1.2 重启系统
1.2.2 当当前 SELinux 的状态为 Perssive 时开启布尔(boolean)值的方法

内容二:查看所有 SELinux 布尔(boolean)值

内容三:布尔(boolean)值的管理
3.1 允许某一个 SELinux 布尔(boolean)值开启
3.1.1 临时允许某一个 SELinux 布尔(boolean)值开启
3.1.1.1 临时允许某一个 SELinux 布尔(boolean)值开启的格式
3.1.1.2 临时允许某一个 SELinux 布尔(boolean)值开启的案例
3.1.2 永久允许某一个 SELinux 布尔(boolean)值开启
3.1.2.1 永久允许某一个 SELinux 布尔(boolean)值开启的格式
3.1.2.2 永久允许某一个 SELinux 布尔(boolean)值开启的案例
3.2 取消某一个 SELinux 布尔(boolean)值开启
3.2.1 临时取消某一个 SELinux 布尔(boolean)值开启
3.2.1.1 临时取消某一个 SELinux 布尔(boolean)值开启的格式
3.2.1.2 临时取消某一个 SELinux 布尔(boolean)值开启的案例
3.2.2 永久取消某一个 SELinux 布尔(boolean)值关闭
3.2.2.1 永久取消某一个 SELinux 布尔(boolean)值开启的格式
3.2.2.2 永久取消某一个 SELinux 布尔(boolean)值开启的案例

具体的操作步骤:

内容一:开启 SELinux 布尔(boolean)值
1.1 查看当前 SELinux 状态

# getenforce

1.2 将 SELinux 的状态设置为 Enforcing 以开启布尔(boolean)值
1.2.1 当当前 SELinux 的状态为 Disabled 时开启布尔(boolean)值的方法
1.2.1.1 修改 SELinux 配置文件

# vim /etc/selinux/config

将以下内容:

......
SELINUX=disabled
......

修改为:

......
SELINUX=enforcing
......

1.2.1.2 重启系统

# reboot

1.2.2 当当前 SELinux 的状态为 Perssive 时开启布尔(boolean)值的方法

# setenfoce 1

(补充:系统重启后失效)

内容二:查看所有 SELinux 布尔(boolean)值

# semanage boolean -l

内容三:布尔(boolean)值的管理
3.1 允许某一个 SELinux 布尔(boolean)值开启
3.1.1 临时允许某一个 SELinux 布尔(boolean)值开启
3.1.1.1 临时允许某一个 SELinux 布尔(boolean)值开启的格式

# setsebool <boolean value> 1

或者:

# setsebool <boolean value> on

3.1.1.2 临时允许某一个 SELinux 布尔(boolean)值开启的案例

# setsebool httpd_can_network_connect 1

或者:

# setsebool httpd_can_network_connect on

3.1.2 永久允许某一个 SELinux 布尔(boolean)值开启
3.1.2.1 永久允许某一个 SELinux 布尔(boolean)值开启的格式

# setsebool -P <boolean value> 1

或者:

# setsebool -P <boolean value> on

3.1.2.2 永久允许某一个 SELinux 布尔(boolean)值开启的案例

# setsebool -P httpd_can_network_connect 1

或者:

# setsebool -P httpd_can_network_connect on

3.2 取消某一个 SELinux 布尔(boolean)值开启
3.2.1 临时取消某一个 SELinux 布尔(boolean)值开启
3.2.1.1 临时取消某一个 SELinux 布尔(boolean)值开启的格式

# setsebool <boolean value> 0

或者:

# setsebool <boolean value> off

3.2.1.2 临时取消某一个 SELinux 布尔(boolean)值开启的案例

# setsebool httpd_can_network_connect 0

或者:

# setsebool httpd_can_network_connect off

3.2.2 永久取消某一个 SELinux 布尔(boolean)值关闭
3.2.2.1 永久取消某一个 SELinux 布尔(boolean)值开启的格式

# setsebool -P <boolean value> 0

或者:

# setsebool -P <boolean value> off

3.2.2.2 永久取消某一个 SELinux 布尔(boolean)值开启的案例

# setsebool -P httpd_can_network_connect 0

或者:

# setsebool -P httpd_can_network_connect off