Linux指令
概述
随着大数据的兴起,信息系统及网络安全越发重要。内部审计从原先的抽样审计已经逐渐进步到采取全量数据进行全业务分析,大大弥补了随机抽样带来的不确定性。
同时,客户也越来越重视信息系统的安全,尤其关注运维人员方面的操作是否合规。这次的内审项目的主题是系统日志专项审计,主要关注主机层、数据库层、应用层的登录和操作日志是否存在异常违规操作、是否存在违规授权root账户、是否按要求开启日志功能等。
借由这个项目,我第一次了解了跟Linux相关的知识,包括用户管理、常见指令、脚本运行、ftp的使用等。
一. Linux常见操作指令
1、cd 切换路径
2、touch 创建文件,可用于创建ctrl(控制文件)或sh(脚本)
3、vi 编辑文件
4、%d 【Enter】 清除当前文档内容
5、【Esc】 :wq 保存文件
6、tail -f 查询文件的最后几行记录
7、last 查询登录日志,一般来说登录记录会保存在wtmp文件中

8、history 查询操作日志,但是单纯输入该指令,只会输出操作,不会输出操作对应的操作时间,需要提前进行相关的设置。
9、 su – [用户名],切换账户,如su -root, 为切换为root账户(超级管理员权限)
10、rm 删除文件
11、stat 查询某一文件的文件修改时间、数据修改时间、文件状态修改时间
12、$HISTSIZE 查询主机容量配置(这个点其实有点迷).有些主机可能无法识别这个指令,那么可以选择执行如下操作:
> cd /etc
> grep HIST profile
13、查询主机账号清单
> passwd -as 可以显示主机上的所有账号
> cat /etc/passwd 同样为查询主机账号清单,但是可以显示账号是否被锁定,如果锁定,会显示LK字样
二、Linux进阶操作
1、通过主机连接数据库
STEP1. 连接主机,并切换至本用户目录:> cd /exp
STEP2. 使用sqlplus连接oracle:> sqlplus username/password@databasename
** 注意根据实际情况替换username\passward\databasename
STEP3. 如果成功,会显示:sql>
**直接像使用数据库一样输入sql语句即可
2、运行脚本
脚本文件一般可为sh格式或者ctrl格式的文件,可以通过touch指令创建一个新的脚本文件>touch test.sh
或者使用ftp将脚本传送至主机.


2.1 多表合并脚本
适用场景:当数据库中有大量的日表需要合并成一张年表时,在数据库中运行可能会导致数据库卡死,那么这个时候可考虑放在主机上作为一个默认的任务/脚本运行,效率更高。

2.2 sqload,从主机导入数据
首先,确认需要上传的原始表,如【test1.txt】,增加字段之间的分隔符(“|”或“,”)均可,将原始表通过ftp上传至主机。
其次,在数据库中根据原始表创建对应的表结构,字段需与原表保持一致,如【account】
再次,编写控制文件的脚本,脚本用<ctl>,如【test.ctl】. 可线下编辑好脚本上传至主机,或直接用touch、vi等指令在主机上修改脚本。脚本如下:

最后,输入脚本运行指令:

注意:
(1)上述指令test为脚本文件名,可做相应替换;
(2)rows为每次灌入的行数,如果数据量过大,比如有100万的数据要导入,建议将rows改成更大的数值,如rows=10000,这样主机就会自动以每次10000行的速度导入数据,速度更快。
- Pingback: 关于“系统日志审计”的思考