自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

东方隐

Linux入门

  • 博客(65)
  • 收藏
  • 关注

原创 官网 RPM 包安装 MySQL 5.7

#!/bin/bashmysql_common='mysql-community-common-5.7.33-1.el7.x86_64.rpm'mysql_libs='mysql-community-libs-5.7.33-1.el7.x86_64.rpm'mysql_client='mysql-community-client-5.7.33-1.el7.x86_64.rpm'mysql_server='mysql-community-server-5.7.33-1.el7.x86_64.rpm'

2021-07-16 16:44:34 278

原创 CentOS7下JRE/JDK的安装、Tomcat运行

JRE//rpmyum install jre-8u271-linux-x64.rpm-- 无需自定义环境变量//tar.gz 将tar.gz放到/apps目录下tar xvf jre-8u271-linux-x64.tar.gzln -sv jre1.8.0_271/ jrevim /etc/profile.d/jre.sh-- 添加以下两行内容export JAVA_HOME=/apps/jreexport PATH=$JAVA_HOME/bin:$PATH. /etc/pro

2020-11-27 20:57:14 282

原创 CentOS离线安装MySQL 5.7

//在本地下载 tar 安装包,下载完成后上传到服务器wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar//解压 tar 包tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar//CentOS 7 默认是 mariadb 数据库,安装mysql之前要先卸载 mariadbrpm -qa | grep mari

2020-11-27 16:33:44 276 1

原创 vsftpd、NFS、samba、rsync+inotify、iptable应用示例

1、实现基于 MYSQL 验证的 vsftpd 虚拟用户访问;实验环境:CentOS 7、MariaDB(1)mysql (MariaFB)安装配置# 安装yum install -y mariadb-server# 启动(同时设置为开机启动)systemctl enable --now mariadb# 进入数据库[root@localhost ~]# mysql# 创建数据库MariaDB [(none)]> create database vsftpd;Query O

2020-08-30 18:16:35 243

原创 ansible 的 playbook 应用实例和 httpd 虚拟主机配置实例

一、使用 ansible 的 playbook 实现自动化安装 httpd1、实验环境(均用root用户)控制服务器:10.10.10.71应用服务器:10.10.10.72,10.10.10.732、控制服务器配置安装 ansibleyum install -y ansible添加主机信息echo -e '[websvr]\n10.10.10.72\n10.10.10.73' >> /etc/ansible/hosts生成公钥和私钥ssh-keygen

2020-08-11 22:56:02 315

原创 mysql备份、主从、高可用用法示例

1、编写脚本,支持让用户自主选择,使用 mysqldump 还是 xtraback 全量备份;环境准备# 安装 mariadbyum install -y mariadb-server# 设置开机启动并立即启动systemctl enable --now mariadb# 导入备份文件mysql < hellodb_innodb.sql# 下载 xtrabackup 安装包wget https://www.percona.com/downloads/Percona-Xtra

2020-08-10 00:01:25 198

原创 CentOS7 安装 vsftpd ,实现本地用户登录

1、安装yum install -y vsftpd2、创建用户并修改密码useradd solinecho password | passwd --stdin solin3、创建文件上传目录,修改权限mkdir -p /solin/ftpFilechown -R solin:solin /solinchmod -w /solin4、修改配置文件vim /etc/vsftpd/vsftpd.conf# 禁用匿名用户登录,【修改】以下行anonymous_enable=NO#

2020-07-30 20:20:20 1008

原创 mysql select 命令基础及存储引擎特点

1、 导入 hellodb.sql 生成数据库准备备份文件 hellodb_innodb.sql[root@localhost data]# lltotal 8-rw-r--r-- 1 root root 7786 Mar 23 14:47 hellodb_innodb.sql安装并启动 mariadbyum install -y mariadb-serversystemctl start mariadb恢复mysql < hellodb_innodb.sql

2020-07-21 20:58:43 153

原创 编译安装Mariadb,并启动后可以正常登录

环境: CentOS 7.8,mariadb 10.5.4源码包创建用户useradd -r -s /sbin/nologin -d /data/mysql mysql创建数据目录、安装目录及授权# 创建数据目录及授权mkdir -p /data/mysqlchown mysql:mysql /data/mysql# 创建安装目录及授权mkdir /usr/local/mysqlchown -R root:mysql /usr/local/mysql/下载源码包wge

2020-07-19 17:13:24 274

原创 DNS 服务器原理及 DNS 服务搭建

1、DNS 服务器原理相较于由数字构成的 IP 地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源。但是,网络中的计算机之间只能基于 IP 地址来相互识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的 IP 地址来完成。为了降低用户访问网络资源的门槛,DNS(Domain Name System,域名系统)技术应运而生。这是一项用于管理和解析域名与 IP 地址对应关系的技术,简单来说,就是能够接受用户输入的域名或 IP 地址,然后自动查找与之匹配(或者说具有映射关

2020-07-19 16:43:38 1119

原创 时间服务器 Chrony 和 Cobbler自动化安装的部署

1、配置chrony服务,实现服务器时间自动同步安装yum install -y chrony配置/etc/chrony.conf 文件中指定时间服务器(注释默认的服务器相关的行),建议指定多个服务器server ntp1.aliyun.com iburst设置允许查询和同步allow 10.10.10.0/24如果指定的远程同步服务器无法同步,默认本机不能作为服务器。取消以下行的注释,允许继续作为服务器,为其他设备提供同步服务local startum 10启动s

2020-07-06 20:21:25 169

原创 Tcp Wrapper 黑名单及 sudoers

1、编写脚本 /root/bin/checkip.sh,每5分钟检查一次,如果发现通过ssh登录失败次数超过10次,自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问脚本(/root/bin/checkip.sh)#!/bin/bashcat /var/log/secure | grep '^.*sshd.*Failed password.*' | awk '{ip[$11]++}END{for(i in ip){if(ip[i]>10){system("echo sshd:"

2020-07-05 23:12:53 190

原创 CentOS 7.8 2003 二进制安装 mariadb-10.5.4-linux-systemd-x86_64.tar.gz

命令方式# 确认是否有 mysql 用户[root@localhost ~]# getent passwd mysql# 创建用户[root@localhost ~]# useradd -r -s /sbin/nologin -d /data/mysql mysql# 创建目录及授权[root@localhost ~]# mkdir -p /data/mysql[root@localhost ~]# chown mysql:mysql /data/mysql# 准备文件## 下载.

2020-07-04 18:15:46 1762

原创 Linux 三剑客实现相同功能

文本(link.txt)内容如下:http://www.sohu.com/index.htmlhttp://www.sohu.com/1.htmlhttp://www.sohu.com/2.htmlhttp://post.sohu.com/index.htmlhttp://mp3.sohu.com/index.htmlhttp://www.sohu.com/3.htmlhttp://post.sohu.com/2.html如何使用Linux三剑客得到如下结果:域名的出现次数、域名。4 ww

2020-07-01 20:30:08 144

原创 Linux 练习 - 文本处理三剑客之AWK

1、文件 ip_list.txt 如下格式,请提取 ”.solin.com” 前面的主机名部分并写入到回到该文件中1 blog.solin.com2 www.solin.com…999 study.solin.com[root@centos7 ~]# awk -F "[ .]" '{print $2}' ip_list.txt >> ip_list.txt2、统计 /etc/fstab 文件中每个文件系统类型出现的次数[root@centos7 ~]# awk '/^UUID/{

2020-06-30 20:57:23 519 1

原创 SElinux、AWK基础用法示例

1、编写脚本 selinux.sh,实现开启或禁用 SELinux 功能脚本#!/bin/bashif [ $# -eq 0 ];then echo 请输入参数,ON 为启用,OFF为禁用。elif [[ $1 =~ [Oo][Nn] ]];then sed -i "s/^SELINUX=[[:alpha:]].*/SELINUX=enforcing/" /etc/selinux/config echo SELinux 已启用,重启后生效。eli

2020-06-27 20:15:08 201

原创 Linux 练习 - 安全加固SELinux

1、启用 SELinux 策略并安装 httpd 服务,改变网站的默认主目录为 /website,添加 SELinux 文件标签规则,使网站可访问;# 安装 httpd[root@localhost ~]# yum install -y httpd# 创建 /website 及首页文件[root@localhost ~]# mkdir /website[root@localhost ~]# echo selinux > /website/index.html# 修改 /website

2020-06-24 20:50:46 463

原创 编译安装内核、启动管理、内核卸载

1、编译安装kernel,启用支持ntfs文件系统功能# 下载内核包[root@localhost ~]# wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.5.tar.xz# 解压[root@localhost ~]# tar xf linux-4.20.2.tar.xz -C /usr/# 进入 /usr/src 目录,创建软链接[root@localhost ~]# cd /usr/src[root@localho

2020-06-23 20:21:36 349

原创 为编译安装的 httpd 服务,编写 service unit 文件

编译安装 httpd# 安装相关工具[root@localhost ~]# yum -y install gcc openssl-devel pcre-devel apr-devel apr-util-devel# 下载安装包[root@localhost ~]# wget https://downloads.apache.org/httpd/httpd-2.4.43.tar.bz2# 解压[root@localhost ~]# tar -xvf httpd-2.4.43.tar.bz2.

2020-06-23 20:17:48 1144

原创 创建新硬盘,定制 linux 和 busybox ,使其可启动系统,并具有网络功能

1、自定义 Linux创建新硬盘,用lsblk命令可以看到设备名称为 /dev/sdb[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot├─sda2 8:2 0 50G 0 part /└─sda3 8:3 0 2G 0 part [SW

2020-06-22 22:02:24 550

原创 用脚本自动创建用户、expect 自动登录、启动流程、CentOS 7 密码破解

1、编写脚本,接受二个位置参数,solin 和 /www ,判断系统是否有 solin ,如果没有则自动创建 solin 用户,并自动设置家目录为 /www#!/bin/bashif [ $# == 2 ];then if `id $1 &> /dev/null` ;then echo "用户已存在,用户信息如下:" echo `id $1` else usera

2020-06-18 20:52:35 466

原创 删除 /etc/fstab 和 /boot 目录的所有文件,尝试恢复(CentOS 7)

删除文件并重启,重启后启动失败[root@localhost ~]# rm -rf /boot/*[root@localhost ~]# rm -f /etc/fstab[root@localhost ~]# reboot插入光盘,进入救援模式用 df 查看,确认没有自动挂载根,用 blkid 可以看到分区信息挂载根,创建 /etc/fstab 文件# 创建挂载目录mkdir /mnt/root# 挂载mount /dev/sda2 /mnt/root# 确认 .

2020-06-17 18:46:50 923

原创 增加新硬盘,在其上制作能单独运行 kernel 和 bash 的系统

1、CentOS 6添加一块容量为 20G 的新硬盘;[root@localhost ~]# lsblk | grep sdbsdb 8:16 0 20G 0 disk创建分区( /boot:1G , / :19G )[root@localhost ~]# fdisk /dev/sdbWARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch of

2020-06-17 18:41:14 139

原创 删除 vmlinuz 和 initramfs 文件后无法启动,用两种方法恢复(无图)

删除文件#CentOs 7(6、8类似)[root@localhost ~]# rm -f /boot/vmlinuz-3.10.0-1062.el7.x86_64[root@localhost ~]# rm -f /boot/initramfs-3.10.0-1062.el7.x86_64.img方法一:复制光盘文件(CentOS 6/7/8 类似)从光盘(相同版本)启动,进入救援模式(中间界面除网络不启用外保持默认即可)恢复文件# 切根chroot /mnt/sysimage.

2020-06-13 18:54:39 1188

原创 破坏本机 grub stage1,在救援模式下修复

Linux 练习 - 系统启动和内核管理破坏本机 grub stage1,在救援模式下修复1 CentOS 6备份 MBR 内容;[root@cobbler ~]# dd if=/dev/sda of=mbr bs=1 count=512破坏 grub stage1(即 bootloader,清空 MBR 前 446 字节);[root@cobbler ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446重启失败(未截图)插入光盘,

2020-06-13 18:52:08 795

原创 破解 root 口令,并为 grub 设置保护功能(密码)

1 破解 root 口令 - CentOS 6进入启动界面,按 e 键,编辑启动项;选择内核(kernel)行,按 e 键编辑启动选项;在 quiet 后面添加 single (以单用户模式登录),按回车键;回到前一个界面,按 b 键启动;不需要密码即可以 root 用户登录系统,用 passwd 命令修改密码,修改后重启即可。2 grub 设置密码 - CentOS 6生成密码;[root@localhost ~]# grub-md5-cryptP

2020-06-13 18:45:56 698

原创 进程和计划任务 - 练习

1、显示统计占用系统内存最多的进程,并排序;[root@centos7 ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head PID PPID CMD %MEM %CPU 6974 6782 /usr/bin/gnome-shell 9.9 0.2 7348 6782 /usr/bin/gnome-software --g 4.1 0.0 1584

2020-06-08 11:39:37 173

原创 网络协议基础 -练习

1、简述 OSI 七层模型和 TCP/IP 五层模型1.1 OSI 七层模型OSI(Open System Interconnect),即开放式系统互联。 一般都叫 OSI 参考模型,是 ISO(国际标准化组织)组织在 1985 年研究的网络互连模型。OSI 定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),每一层实现各自的功能和协议,并完成与相邻层的接口通信。物理层传输比特流。为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范。数

2020-06-05 20:21:26 334

原创 Shell脚本 - 编程进阶09

1、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序;升序脚本#!/bin/bashwhile :do declare -a NUMS read -p "请输入一个数字( e 结束输入,q 退出程序 ):" N if [ $N == "q" ];then break elif [ $N == "e" ];then L=${#NUMS[*]} if [ $L == 0 ];then ec

2020-06-02 20:11:49 226

原创 Shell脚本 - 编程进阶08

1、编写函数实现两个数字做为参数,返回最大值函数 functionsmaxnum(){ MAX=0 if [ $# != 2 ] then echo "参数个数不对,请提供两个参数。" elif [[ ! $1 =~ ^[[:digit:]]+$ ]] then echo "第一个参数不是数字,请重新输入。" elif [[ ! $2 =~ ^[[:digit:]]+$ ]] then ech

2020-06-02 20:11:12 266

原创 Shell脚本 - 编程进阶07

1、编写脚本 /root/bin/copycmd.sh(1)提示用户输入一个可执行命令名称;(2)获取此命令所依赖到的所有库文件列表;(3)复制命令至某目标目录(例如 /mnt/sysroot )下的对应路径下, 如:/bin/bash ==> /mnt/sysroot/bin/bash,/usr/bin/passwd ==> /mnt/sysroot/usr/bin/passwd;(4)复制此命令依赖到的所有库文件至目标目录下的对应路径下, 如:/lib64/ld-linux-x86-

2020-06-02 20:10:35 221

原创 Shell脚本 - 编程进阶06

1、编写服务脚本 /root/bin/testsrv.sh,完成如下要求(1)脚本可接受参数:start, stop, restart, status;(2)如果参数非此四者之一,提示使用格式后报错退出;(3)如是star,则创建/var/lock/subsys/SCRIPT_NAME, 并显示“启动成功”;考虑:如果事先已经启动过一次,该如何处理?(4)如是stop,则删除/var/lock/subsys/SCRIPT_NAME, 并显示“停止完成”;考虑:如果事先已然停止过了,该如何处理?(5

2020-06-02 20:09:35 222

原创 Shell脚本 - 编程进阶05

1、编写函数,实现 OS 的版本判断;#!/bin/bashos-version(){ echo OS Version : `cat /etc/redhat-release | sed -nr 's/^.* ([0-9]+).*/\1/p'`}os-version执行结果# CentOS 6[root@localhost ~]# ./os-version.shOS Version : 6# CentOS 7[root@centos7 ~]# ./os-version.

2020-06-02 20:08:54 220

原创 Shell脚本 - 编程进阶04

1、扫描 /etc/passwd 文件每一行,如发现 GECOS 字段为空,则将用户名和单位电话为 62985600 填充至 GECOS 字段,并提示该用户的 GECOS 信息修改成功。#!/bin/bashwhile read userinfodo user=`echo $userinfo | cut -d: -f1` memo=`echo $userinfo | cut -d: -f5` if [[ ! $memo ]] then usermod $

2020-06-02 20:08:10 281

原创 Shell脚本 - 编程进阶03

1、每隔 3 秒钟到系统上获取已经登录的用户的信息;如果发现用户 hacker 登录,则将登录时间和主机记录于日志 /var/log/login.log 中,并退出脚本;脚本#!/bin/bashwhile :do echo "<----`date +'%F %T'`----No Information !---->" if [[ `who | grep hacker` ]] then echo User Hacker was logined

2020-06-02 20:07:41 590

原创 Shell脚本 - 编程进阶02( while 循环 )

1、编写脚本,求 100 以内所有正奇数之和;脚本#! /bin/bashSUM=0i=1while [ $i -lt 100 ]do if [ $[i%2] != 0 ] then #echo $i let SUM+=i fi let i++doneecho $SUM执行结果[root@centos7 ~]# ./while_sum.sh25002、编写脚本,提示请输入网络地址,如 192.168.0.0,判断输入的网段中主机在线状态,并统计在线和离线主

2020-06-02 20:07:03 619

原创 Shell脚本 - 编程进阶01( for循环 )

1、判断 /var/ 目录下所有文件的类型;脚本#! /bin/bashpath='/var'for files in `ls $path`;do filetype='None' file=$path/$files [ -b $file ] && filetype=Block [ -c $file ] && filetype=Char [ -d $file ] && filetype=Dirtory [ -f $file ] &

2020-06-02 20:05:53 900

原创 Linux 练习 - 进程和计划任务

1、每周的工作日 1:30,将 /etc 备份至 /backup 目录中,保存的文件名称格式为 “etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间;脚本(root 用户家目录)#!/bin/bash[-d /backup ] || mkdir /backup tar -Jcvf /backup/etcbak-`

2020-06-02 20:04:45 401

原创 Linux 练习 - 磁盘存储和文件系统

1、创建一个 2G 的文件系统,块大小为 2048byte,预留 1% 可用空间,文件系统 ext4,卷标为 TEST,要求此分区开机后自动挂载至 /test 目录,且默认有 acl 挂载选项;# 1、先准备有空余空间的硬盘,此处为 /dev/sdb ,可用空间20G# 2、用fdisk创建分区[root@centos7 data]# fdisk -l /dev/sdbDisk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnit

2020-05-30 22:13:05 583

原创 Linux 练习 - 软件包管理

1、查询命令 java 来自于哪个 rpm 包;[root@centos7 yinxd]# rpm -qf `which java`2、yum 的配置和使用,包括 yum 仓库的创建;# 网络源(以阿里云为例)## 1、备份系统自带的 repo 文件[root@localhost ~]# mkdir /etc/yum.repos.d/bak[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/## 2、创建

2020-05-30 13:02:28 469

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除