GNU sed

Linux操作系统加固

眉间皱痕 提交于 2021-01-13 18:41:30
本帮助手册旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和加固。 1. 账号和口令 1.1 禁用或删除无用账号 减少系统无用账号,降低安全风险。 操作步骤 使用命令 userdel <用户名> 删除不必要的账号。 使用命令 passwd -l <用户名> 锁定不必要的账号。 使用命令 passwd -u <用户名> 解锁必要的账号。 1.2 检查特殊账号 检查是否存在空口令和root权限的账号。 操作步骤 查看空口令和root权限账号,确认是否存在异常账号: 使用命令 awk -F: '($2=="")' /etc/shadow 查看空口令账号。 使用命令 awk -F: '($3==0)' /etc/passwd 查看UID为零的账号。 加固空口令账号: 使用命令 passwd <用户名> 为空口令账号设定密码。 确认UID为零的账号只有root账号。 1.3 添加口令策略 加强口令的复杂度等,降低被猜解的可能性。 操作步骤 使用命令 vi /etc/login.defs 修改配置文件。 PASS_MAX_DAYS 90 #新建用户的密码最长使用天数 PASS_MIN_DAYS 0 #新建用户的密码最短使用天数 PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数 使用chage命令修改用户设置。 例如, chage -m 0 -M 30

如何进行Linux操作系统的安全合规性检查和加固?

扶醉桌前 提交于 2021-01-13 18:31:53
本文旨在指导系统管理人员或安全检查人员进行 Linux 操作系统的安全合规性检查和加固。 1. 账号和口令 1.1 禁用或删除无用账号 减少系统无用账号,降低安全风险。 操作步骤 使用 命令 userdel <用户名> 删除不必要的账号。 使用 命令 passwd -l <用户名> 锁定不必要的账号。 使用命令 passwd -u <用户名> 解锁必要的账号。 1.2 检查特殊账号 检查是否存在空口令和root权限的账号。 操作步骤 1. 查看空口令和root权限账号,确认是否存在异常账号: 使用命令 awk -F: '($2=="")' /etc/shadow 查看空口令账号。 使用命令 awk -F: '($3==0)' /etc/passwd 查看UID为零的账号。 2.加固空口令账号: 使用命令 passwd <用户名> 为空口令账号设定密码。 确认UID为零的账号只有root账号。 1.3 添加口令策略 加强口令的复杂度等,降低被猜解的可能性。 操作步骤 1.使用命令 vi /etc/login.defs 修改配置文件。 PASS_MAX_DAYS 90 #新建用户的密码最长使用天数 PASS_MIN_DAYS 0 #新建用户的密码最短使用天数 PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数 2.使用chage命令修改用户设置。 例如,chage -m

tripwire检查文件完整性

自闭症网瘾萝莉.ら 提交于 2021-01-10 15:29:01
在系统中使用yum安装 yum -y install tripwire 配置文件在 /etc/tripwire/ 使用: tripwire -m c 检查当前监控的文件中有没有改变 使用: tripwire -m c --interactive 更新本地的指纹数据库,需要输入local key 的密码,根据初始化时设置的密码 安装完tripwire之后,我们需要初始化tripwire数据库并确保没有错误, 使用下面命令初始化数据库 sudo tripwire --init 将被问到“local-key”密码短语,您可能会收到错误消息“no such directory”,如下所示。 得到的错误是因为系统没有在tripwire配置中已经定义的目录和文件,为了解决这个问题,我们需要编辑tripwire配置twpol.txt 并重新签署tripwire配置 sudo sh -c " tripwire --check | grep Filename > no-directory.txt " 所有不存在于CentOS 7系统上的目录和文件都列在文件'mo-directory.txt'中 使用以下bash脚本编辑tripwire配置'twpol.txt' - 在终端上运行此脚本。 for f in $( grep " Filename: " no-directory.txt | cut -f2

百万级高并发技术整体架构

我只是一个虾纸丫 提交于 2021-01-09 08:04:51
高并发是由于应用系统(如:移动APP或网站等)即页面浏览量或点击量大,单台服务器无法承载大量访问所带来的压力,因此会采用服务器硬件集群技术,用N台服务器进行分流,对于每次访问采取负载均衡策略,被分配到不同的服务器来处理请求。 负载均衡种类 一种是通过硬件来实现,常见硬件有F5,A10,NetScaler、Radware和Array等商用的负载均衡器,但是它们是比较昂贵,成本比较高。 另一种是通过软件来实现,常见的软件有LVS、Nginx、Apache等,它们是基于Linux系统并且开源的负载均衡策略。 整体架构图: 架构说明: Keepalived :是用来 检测服务器的状态,如果有一台web服务器宕机,或工作出现故障时,Keepalived将会检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 Keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 LVS (Linux Virtual Server):即Linux虚拟服务器,有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR),十种调度算法(rr|wrr

学习使用 Sed 文本编辑器

老子叫甜甜 提交于 2021-01-08 16:02:20
Sed 缺少通常的文本框,而是按照用户的命令直接写入到文件上。 sed 命令是为 AT&T 最初的 Unix 操作系统第 7 版创建的,此后,可能每一个 Unix 和 Linux 操作系统都包含了它。 sed 应用程序是一个 流编辑器 ,与文本编辑器不同的是,它不会打开一个视觉缓冲区,将文件的数据加载到其中进行处理。相反,它根据在终端输入的命令或脚本中的一系列命令,逐行对文件进行操作。 安装 如果你使用的是 Linux、BSD 或 macOS,那么你已经安装了 GNU 或 BSD 版的 sed 。这是两个不同的原始 sed 命令的重新实现,虽然它们很相似,但也有一些小的区别。GNU sed 通常被认为是功能最丰富的 sed ,而且它在这些平台上都可以广泛使用。 如果你找不到 GNU sed (在非 Linux 系统上通常被称为 gsed ),那么你可以 从 GNU 网站上下载它的源代码 。安装 GNU sed 的好处是,可以使用它的额外功能,但它也可以被限制为只符合 sed 的 POSIX 规范,如果你需要移植性的话。 在 Windows 上,你可以用 Chocolatey 来 安装 GNU sed 。 Sed 如何工作 sed 应用程序一次只处理一行。因为它没有视觉显示,所以它在内存中创建了一个模式空间:一个包含输入流的当前行的空间(去掉任何尾部的换行符)。一旦填充了模式空间

mysql多源复制及合并数据库

柔情痞子 提交于 2021-01-07 17:28:57
背景:机器1:10.1.6.99 机器2:10.1.6.100 机器3:10.1.6.101 1、分别在三台主机上安装mysql数据库 1)配置yum源 [root@master lucky-front]# cat /etc/yum.repos.d/mysql-community.repo [mysql-connectors-community] name=MySQL Connectors Community baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-community] name=MySQL Tools Community baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.5 [mysql55-community] name

Linux中删除文件内空行的4种方法

会有一股神秘感。 提交于 2021-01-07 10:52:43
在Linux上处理一些数据文件时,有时候需要将其中的空行过滤掉,系统中提供的各种工具都可以完成这个功能。将常用的介绍如下吧: 1. grep grep . data.txt grep -v '^$' data.txt grep '[^$]' data.txt 2. sed sed '/^$/d' data.txt sed '/^\s*$/d' data.txt #这个命令还可将完全空格、tab等组成的空行删掉。 # The character class \s will match the whitespace characters <tab> and <space>. 3. awk awk NF data.txt # 这个也可以将空格、tab等组成的空行删掉。 awk '!/^$/' data.txt 4. tr tr -s '\n' < data.txt 来源: oschina 链接: https://my.oschina.net/u/4844418/blog/4882702

Linux文本处理工具

↘锁芯ラ 提交于 2021-01-06 04:48:58
Linux文本处理工具 Linux中熟练的使用文本处理工具非常的重要, 因为Linux在设计的时候是采用一切皆文件的哲学的, 甚至连计算机中的配置也都使用伪文件系统来表示, 要查询里面的内容就是对文件进行操作, 所以学会使用文件处理工具事半功倍。而在一切皆对象的Windows中, 因为对象封装了所有的操作, 包括显示标准输出的结果, 使用过powershell的人应该知道, 标准输出流显示的结果, 也就是控制台上显示的结果也都是对象, 而不是单纯的文本, 我们可以获取这个对象并调用器API对他进行更近一步的操作, 这个可以说是Windows平台上的一个优点 find -name -type: f, d -maxdepth: 查找的深度, 也就是目录递归的深度, 为1就是在当前目录查找 -regex: 正则表达式匹配, 是全路径匹配 -iregex: 忽略大小写的正则表达式匹配 -delete: 删除找到的文件或者目录 -print: 打印出结果, 默认就是这个选项, 打印出来的结果默认是\n分隔的 -print0: 将打印出来的结果使用\0进行分隔 -exec {} ; -atime: 访问时间, 单位是天, -atime 3 表示3天内访问 -mtime: 修改内容时间 -ctime: 修改元数据时间, 只要出发了atime或者mtime, ctime一定会改变 -amin:

Linux 入门系列

孤者浪人 提交于 2021-01-06 01:29:49
前言 以前我的不喜欢用 Linux 系统,什么目录啊,文件啊,权限啊,都得命令操作,入门难度较大。但是一旦熟练起来,真不想再去用 windows 了。再加上 shell 脚本,那才叫如虎添翼啊,真的是见识到了什么才是性能,什么才是自动化。 Linux 相较于 windows 而言,占用内存更小,因为 windows 的图形化界面比较占内存。 Linux 的生态也比较丰富,各种各样的服务端软件都会有 Linux 版本。 Linux 也衍生出各种格言的版本,我用的比较多的是 Centos 在 Linux 中,一切皆文件。所以各种目录、文件的权限、创建者、所属组都是比较实用的东西。 本文内容基于 Centos 7.4 版本。 主要内容: linux 目录说明 PATH 加载的原理及配置 常用简单命令 sed,awk,find,管道流,重定向,scp 目录介绍 Linux 中的目录还是要清楚的,有一些约定成俗的规定需要大家了解。 目录只介绍一些重要常用的。大致了解什么作用即可。 根目录- / 根目录下面有许多子目录 bin etc home opt usr sbin var tmp 等等。 /root 是用户 root 的家目录。 /home 除 root 用户之外的其它的用户家目录。 cd ~ 就是进入当前用户的家目录。 /bin /bin 实际是个软连接(理解为 windows

sed和文件查找及文件压缩

廉价感情. 提交于 2021-01-03 15:47:41
1、查找/etc目录下大于1M且类型为普通文件的所有文件 2、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。 3、利用sed 取出ifconfig命令中本机的IPv4地址 4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符 5、处理/etc/fstab路径,使用sed命令取出其目录名和基名 来源: oschina 链接: https://my.oschina.net/u/4329429/blog/4428201