[步骤] AIDE 的使用 (高级入侵检测环境:Adevanced Intrusion Detection Environment) (openSUSE & SLE 版)

步骤一:安装 AIDE

# zypper -n install aide

步骤二:生成 AIDE 的配置文件
2.1 生成 AIDE 配置文件的模板

# /usr/bin/aide --init
AIDE initialized database at /var/lib/aide/aide.db.new

Number of entries:      62624

2.2 将 AIDE 配置文件的模板转换成配置文件

# mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

步骤三:使用 AIDE

# /usr/bin/aide --check
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:      62623
  Added entries:                0
  Removed entries:              1
  Changed entries:              0

(补充:AIDE 要检查哪些文件不检查哪些文件可以在 /etc/aide.conf 中设置)

[内容] Linux 变量组合

案例一:直接组合变量

# part1=a
# part2=1
# result=$part1$part2
# echo result
a1

(补充:这里以将 a 和 1 组合成 a1 为例)

案例二:带空格组合变量

# part1=a
# part2=1
# result="$part1 $part2"
# echo result
a1

(补充:这里以将 a 和 1 组合成 a1 为例)

案例三:带空格和特殊符号组合变量

# part1=a
# part2=1
# result="$part1: $part2"
# echo result
a: 1

或者:

# part1=a
# part2=1
# result="$part1": "$part2"
# echo result
a: 1

(补充:这里以将 a 和 1 组合成 a: 1 为例)

案例四:带空格和特殊符号组合变量

# part1=a
# part2=1
# result="${part1}file: ${part2}.txt"
# echo result
afile: 1.txt

(补充:这里以将 a 和 1 组合成 afile: 1.txt 为例)

[步骤] Linux 位置变量

内容目录:

案例一:脚本本身
1.1 脚本本身的名称
1.2 显示脚本本身的名称

案例二:脚本某一个参数
2.1 脚本某一个参数
2.2 显示脚本某一个参数的值

案例三:脚本最后一个参数
3.1 脚本最后一个参数
3.2 显示脚本最后一个参数的值

案例四:脚本参数的个数
4.1 脚本参数的个数
4.2 显示脚本参数的个数

案例五:脚本所有参数的值
5.1 脚本所有参数的值
5.2 显示脚本所有参数的值

案例六:上一个命令的退出状态代码
6.1 上一个命令的退出状态代码
6.2 显示上一个命令的退出状态代码

案例七:上一个进程的 PID
7.1 上一个进程的 PID
7.2 显示上一个进程的 PID

案例八:设置位置变量

具体的内容:

案例一:脚本本身
1.1 脚本本身的名称

$0

1.2 显示脚本本身的名称

# echo $0 

案例二:脚本某一个参数
2.1 脚本某一个参数

$<number>

(补充:当 为 1 时代表第 1 个位置参数、当 为 2 时代表第 2 个位置参数以此类推)

2.2 显示脚本某一个参数的值

# echo $<number>

案例三:脚本最后一个参数
3.1 脚本最后一个参数

\$$#

3.2 显示脚本最后一个参数的值

# eval echo \$$#

案例四:脚本参数的个数
4.1 脚本参数的个数

$#

4.2 显示脚本参数的个数

# echo $#

案例五:脚本所有参数的值
5.1 脚本所有参数的值

$*

或者:

$@


补充:
1) 当所有参数不被双引号 “””” 包括时,$* 和 $@ 会让每个参数都被一个双引号 “””” 包括,例如:”1″ “2” “3” “4” “5” ……
2) 当参数被双引号 “””” 包括时,$* 会将所有参数视为一个整体并用双引号 “””” 包括,例如:”1 2 3 4 5 ……”
3) 当参数被双引号 “””” 包括时,$@ 会让每个参数都被一个双引号 “””” 包括,例如:”1″ “2” “3” “4” “5” ……

5.2 显示脚本所有参数的值

# echo $*

或者:

# echo $@

案例六:上一个命令的退出状态代码
6.1 上一个命令的退出状态代码

$?


补充:常用退出状态代码如下:
1) 0 成功
2) 1 未知错误
3) 2 Shell 命令被误用
4) 126 无法执行
5) 127 命令没有找到
6) 128 退出参数无效
7) 128+x 来自 Linux 信号 x 的致命错误
8) 130 按键 “Crtl” + “C” 的终止命令
9) 255 不属于规范内的退出状态

6.2 显示上一个命令的退出状态代码

# echo $?

案例七:上一个进程的 PID
7.1 上一个进程的 PID

$$

7.2 显示上一个进程的 PID

# echo $$

案例八:设置位置变量

# set a b c d e

(补充:这里以设置 $1 为 a、$2 为 b、$3 为 c、$4 为 d、$5 为 e)

[CONTENT] Linux Variable Default Value

中文

Content One: Set default values for variables on command Line
1.1 Assign Values to Ordinary Variables

# a=1
# b=

(Add: let a be 1 and B be null as an example)

1.2 Set default values for variables on command Line

# var1=${a:-no}
# var2=${b:-no}


Add:
If a is null, var1 is no, otherwise var1 is equal to a
If B is null, var2 is no, otherwise var2 is equal to B

1.3 View variable results

# echo $var1
1
# echo $var2
no


Add:
The value of a is 1, so var1 is 1
The B is null, so var2 is no

Content Two:Set variable defaults in script
2.1 Setting variable defaults in scripts

# vim var_default.sh
Create the following:
#!/bin/bash
var_default="${1:-no}"
echo $var_default

(Add:If the variable of $1 is null, then var_default is no, otherwise var_default is equal to $1, and print it out as an example)

2.2 Test variable defaults in scripts

# bash var_default.sh
no
# bash var_default.sh 1
1
# bash var_default.sh 2
2
# bash var_default.sh 3
3