[内容] Linux 常用的功能文件 (/dev/null、/dev/zero、/dev/urandom)

内容一:/dev/null 文件

1.1 /dev/null 文件的作用

空设备,任何进入此文件的数据都会被删除,一般用于删除输出内容

1.2 /dev/null 文件的修复

# rm -f /dev/null;mknod /dev/null c 1 3;chmod 666 /dev/null

内容二:/dev/zero 文件

2.1 /dev/zero 文件的作用

二进制的零流,可以连续不断地产生二进制零流,一般用于对设备和文件进行初始化

2.2 /dev/zero 文件的修复

# rm -f /dev/zero;mknod /dev/zero c 1 5;chmod 666 /dev/zero

内容三:/dev/urandom 文件

3.1 /dev/urandom 文件的作用

随机数流,可以连续不断地产生随机数流,一般用于清除机密数据,用随机的数据完全覆盖磁盘

3.2 /dev/urandom 文件的修复

# rm -f /dev/random;mknod /dev/random c 1 8;chmod 666 /dev/random

[命令] Linux 命令 locate (查找文件)

内容一:locate 命令的安装

1.1 安装 locate 命令

# dnf install mlocate

1.2 更新 locate 数据库

# updatedb


注意:如果不更新 locate 数据库,在使用 locate 命令后可能会报错

locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

内容二:locate 命令的选项

1) -b 或者 –basename 只显示使用指定模式匹配名称的条目
2) -c 或者 –count 只显示找的数量
3) -e 或者 –existing 只显示存在的条目
4) -i 或者 –ignore-case 查找时忽略大小写
5) -r 或者 –regexp 使用正则表达式
6) –regex 使用扩展正则表达式

内容三:locate 命令的案例

3.1 案例一:查找包含 passwd 的文件

# locate passwd

3.2 案例二:在 /etc/ 目录下查找以 sh 开头的文件

# locate /etc/sh

3.3 案例三:在当前目录下查找以 r 开头的文件并忽略大小写

# locate -i ~/r

3.4 案例四:使用正则表达式超找包含 1.txt 或 2.txt 的文件

# locate -r [1-2].txt

Linux 启动顺序

第一步启动:BIOS/UEFI

BIOS (Basic Input Output System) 即基本输入输出系统。

UEFI (Unified Extensible Firmware Interface) 即可扩展固件接口。

它们的主要作用是为计算机提供直接、底层的硬件控制和设置。UEFT 是 BIOS 的升级替代方案。

第二步启动:MBR/GPT

MBR (Master Boot Record) 即主引导记录。MBR 通常和 BIOS 搭配,最大分区容量不能超过 2T,最多可以有 3 个主分区,1 个扩展分区,不过扩展分区里可以有多个逻辑分区。

GPT (GUID Partition Table) 即全局唯一标识分区表。GPT 通常和 UEFI 搭配。

它们都是读取硬盘时最先读取的分区,里面有各自的启动代码。

第三步启动:GRUB2

GRUB2 (GRand Unified Bootloader version 2) 即多操作系统启动程序,可以选择系统分区上不同的系统内核,同时也可以向启动的内核传递参数。

第四步启动:initrd/Kernel

initrd (init ramdisk) 即初始化内存盘,作用是:
1) 提供开机必备的单 kernel 文件 (vmlinuz) 没有提供的驱动模块。
2) 通过引导加载程序加载内存,将内存视为临时根 “/” 目录,从中运行程序,之后再将根 “/” 目录转移到硬盘上真正的根 “/” 目录上。


注意:系统启动 initrd 的时间默认上限是 90 秒钟,如果 initrd 加载的时间超过 90 秒钟,则系统会报以下错误:

Warning: dracut-initqueue timeout - starting timeout scripts

(补充链接:Linux 解决启动时,某个盘挂不上或者报错 “Warning: dracut-initqueue timeout – starting timeout scripts”

第五步启动:systemdprocess

systemdprocess,即启动各类程序和进程。

[步骤] auditd 的设置 (日志保存时间)

方法一:通过 auditd 配置文件设置

1.1 设置 auditd 日志的保存时间

# vim /etc/audit/auditd.conf

确保部分内容如下:

......
local_events = yes
......
write_logs = yes
......
log_file = /var/log/audit/audit.log
......
max_log_file = 8
......
num_logs =5
......
max_log_file_action = ROTATE
......


补充:这里以
1) 开启 auditd 日志 (local_events = yes) (write_logs = yes)
2) 将 auditd 日志写入 /var/log/audit/audit.log 文件 (log_file = /var/log/audit/audit.log)
3) auditd 日志每达到 8M 大小就将旧的 auditd 日志进行备份并创建新的 auditd 日志 (max_log_file = 8) (max_log_file_action = ROTATE),也可以修改成: max_log_file_action = keep_logs
4) 旧的 auditd 日志保存 5 份 (num_logs =5)
为例

1.2 让设置的 auditd 时间生效

# service auditd restart

方法二:通过 logrotate 配置文件设置

2.1 设置 auditd 日志的保存时间

# vim /etc/logrotate.d/auditd

创建以下内容:

/var/log/audit/*
{
rotate 30
daily
missingok
compress
delaycompress
postrotate
touch /var/log/audit/audit.log ||:
chmod 0600 /var/log/audit/audit.log ||:
service auditd restart
endscript
}


补充:这里以:
1) 备份的日志文件保留 30 份 (rotate 30)
2) 每天将现在的日志文件进行备份并生成新的日志文件 (dayly)

2.2 让设置的 auditd 时间生效

# systemctl restart logrotate.service