
Linux 练习
东方隐
这个作者很懒,什么都没留下…
展开
-
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
编译安装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 阅读 · 0 评论 -
DNS 服务器原理及 DNS 服务搭建
1、DNS 服务器原理相较于由数字构成的 IP 地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源。但是,网络中的计算机之间只能基于 IP 地址来相互识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的 IP 地址来完成。为了降低用户访问网络资源的门槛,DNS(Domain Name System,域名系统)技术应运而生。这是一项用于管理和解析域名与 IP 地址对应关系的技术,简单来说,就是能够接受用户输入的域名或 IP 地址,然后自动查找与之匹配(或者说具有映射关原创 2020-07-19 16:43:38 · 1119 阅读 · 0 评论 -
时间服务器 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 · 170 阅读 · 0 评论 -
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 · 191 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 202 阅读 · 0 评论 -
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 · 465 阅读 · 0 评论 -
编译安装内核、启动管理、内核卸载
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 阅读 · 0 评论 -
为编译安装的 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 阅读 · 0 评论 -
创建新硬盘,定制 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 阅读 · 0 评论 -
用脚本自动创建用户、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 阅读 · 0 评论 -
删除 /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 · 924 阅读 · 0 评论 -
增加新硬盘,在其上制作能单独运行 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 阅读 · 0 评论 -
删除 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 · 1191 阅读 · 0 评论 -
破坏本机 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 阅读 · 0 评论 -
破解 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 · 699 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 470 阅读 · 0 评论 -
Linux 练习 - 文本处理三剑客之SED
1、删除 centos7 系统 /etc/grub2.cfg 文件中所有以空白开头的行行首的空白字符;[root@centos7 ~]# sed -ri 's/^[ ]+(.*)$/\1/' /etc/grub2.cfg或[root@centos7 ~]# sed -ri.bak 's/^[ ]+(.*)$/\1/' /etc/grub2.cfg2、删除 /etc/fstab 文件中所有以#开头,后面至少跟一个空白字符的行的行首的 # 和空白字符;[root@localhost ~]# sed原创 2020-05-29 21:54:42 · 278 阅读 · 0 评论 -
Linux 练习 - 文件查找
1、查找 /var 目录下属主为 root,且属组为 mail 的所有文件[root@centos7 ~]#find /var -user root -group mail -ls33628784 0 drwxrwxr-x 2 root mail 245 May 26 11:20 /var/spool/mail33621114 4 -rw------- 1 root mail 690 May 15 10:59 /var/spool原创 2020-05-28 20:06:50 · 1210 阅读 · 0 评论 -
Linux 练习 - 文本处理工具和正则表达式
1、找出 ifconfig “网卡名” 命令结果中本机的 IPv4 地址[yinxd@centos7 ~]$ ifconfig eth0 | head -2 | tail -1 | tr -s " " | cut -d " " -f 32、查出分区空间使用率的最大百分比值[yinxd@centos7 ~]$ df | tr -s ' ' % | cut -d % -f 5 | sort -nr | head -13、查出用户 UID 最大值的用户名、UID 及 shell 类型[yinxd@原创 2020-05-22 17:52:20 · 387 阅读 · 0 评论 -
Linux 练习 - 用户组和权限管理
1、创建用户 gentoo ,附加组为 bin 和 root ,默认 shell 为 /bin/csh ,注释信息为 “Gentoo Distribution”[root@centos7 ~]# useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo[root@centos7 ~]# id gentoouid=2007(gentoo) gid=2007(gentoo) groups=2007(gentoo),0(root),1(b原创 2020-05-22 13:57:54 · 743 阅读 · 0 评论 -
Linux 练习 - 标准IO和管道
1、将 /etc/issue 文件中的内容转换为大写后保存至 /tmp/issue.out 文件中[yinxd@centos7 ~]$ cat /etc/issue\SKernel \r on an \m[yinxd@centos7 ~]$ cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out[yinxd@centos7 ~]$ cat /tmp/issue.out \SKERNEL \R ON AN \M2、将当前系统登录用户的信息转原创 2020-05-15 11:44:47 · 828 阅读 · 0 评论 -
Linux 练习 - 文本编辑工具 vim
1、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符[yinxd@centos7 ~]$ cp /etc/profile /tmp[yinxd@centos7 ~]$ vim /tmp/profile#在vim扩展命令模式下执行以下命令:%s/^[[:blank:]]\+// % 范围为全文 s/// 查找替换格式,/ 可以换成 @ 或 # ^ 行首 [[:blank:]] 空格 \+ 1个或多个前面指定的符号(此原创 2020-05-14 17:48:42 · 243 阅读 · 0 评论 -
Linux 练习 - 文件管理
1、显示 /var 目录下所有以 l 开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录[yinxd@centos7 ~]$ ll /var/l*[0-9]*[a-z]2、显示 /etc 目录下以任意一位数字开头,且以非数字结尾的文件或目录[yinxd@centos7 ~]$ ll /etc/[0-9]*[^0-9]3、显示 /etc/ 目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录[yinxd@centos7 ~]$ ll /etc/[^[:alpha:]]原创 2020-05-14 08:43:27 · 1039 阅读 · 1 评论 -
Linux 练习 - Linux 基础
1、显示当前时间,格式:2020-05-13 14:10:10[yinxd@centos7 etc]$ date +"%F %T"2020-05-13 14:10:102、显示前天是星期几# 缩写显示[yinxd@centos7 etc]$ date -d "-2day" +"%a"Mon# 完整显示[yinxd@centos7 etc]$ date -d "-2day" +"%A"Monday# 显示一周中的第几天,值为0-6,0表示星期天[yinxd@centos7 et原创 2020-05-13 15:52:18 · 583 阅读 · 0 评论