Linux
文章平均质量分 66
吾昂王
所有昏暗的夜晚 终将被灿烂的明日替代
展开
-
linux shell 使用sed修改系统配置
问题本案例要求熟悉课上的sed应用案例,并编写脚本anonftp.sh,实现以下功能:通过yum安装vsftpd软件包修改vsftpd服务配置,开启匿名上传调整/var/ftp/pub目录权限,允许ftp写入启动vsftpd服务,并设置开机自运行步骤实现此案例需要按照如下步骤进行。步骤一:认识课堂上的sed练习1)修改默认运行级别确认当前的运行级别配置(以id:开头的行):[...原创 2019-05-30 21:19:53 · 423 阅读 · 0 评论 -
SELinux安全防护 必要时需要关闭
问题本案例要求熟悉SELinux防护机制的开关及策略配置,完成以下任务:1)将Linux服务器的SELinux设为enforcing强制模式2)在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问3)从/root目录下移动一个包文件到FTP下载目录,调整策略使其能够被下载步骤实现此案例需要按照如下步骤进行。步骤一:将Linux服务器的SELinux设为enforci...原创 2019-05-28 21:22:04 · 981 阅读 · 0 评论 -
Linux 加密与解密应用
问题本案例要求采用gpg工具实现加/解密及软件签名等功能,分别完成以下任务:1)检查文件的MD5校验和2)使用GPG实现文件机密性保护,加密和解密操作3)使用GPG实现软件包的完整性校验,检查软件包签名方案使用两台RHEL6虚拟机,加密操作主要在svr5上完成,而pc205作为接收方、测试用客户机、软件签名发布用机,如图-1所示。图-1步骤实现此案例需要按照如下步骤进行。步...原创 2019-05-28 21:46:21 · 378 阅读 · 0 评论 -
Linux OpenSSL及证书服务
问题本案例要求熟悉OpenSSL工具的基本使用,完成以下任务操作:1)使用OpenSSL加密/解密文件2)搭建企业自有的CA服务器,为颁发数字证书提供基础环境方案使用两台RHEL6虚拟机,其中svr5作为CA数字证书服务器,而pc205作为测试用客户机,如图-4所示。图-4步骤实现此案例需要按照如下步骤进行。步骤一:使用OpenSSL加密/解密文件1)加密文件创建一个明文的...原创 2019-05-28 21:48:16 · 407 阅读 · 1 评论 -
Linux 如何构建HTTPS安全网站
步骤实现此案例需要按照如下步骤进行。步骤一:使用openssl为网站服务器创建CSR证书签发申请1) 在www服务器上,先使用openssl创建私钥文件由于此例中的私钥主要用于Web自动加密通信,为了方便起见,可以不设置私钥口令,否则在启动httpd服务时需要验证私钥口令。[root@www ~]# cd /etc/pki/tls/private/ pc[root@www privat...原创 2019-05-28 22:01:22 · 556 阅读 · 0 评论 -
Linux 邮件TLS/SSL加密通信
问题本案例要求为基于Postfix+Dovecot的邮件服务器提供加密通信支持,主要完成以下任务操作:1)为SMTP服务(postfix)添加TLS/SSL加密通信支持2)基于dovecot配置POP3s+IMAPS加密通信支持3)客户端收发信测试,确保加密的邮件通信可用方案使用两台RHEL6虚拟机,其中svr5作为CA服务器,而mail作为测试用的Postfix+Dovecot邮件服...原创 2019-05-28 22:03:59 · 1977 阅读 · 0 评论 -
Linux 扫描与抓包分析
问题本案例要求熟悉Linux主机环境下的常用安全工具,完成以下任务操作:1)使用NMAP扫描来获取指定主机/网段的相关信息2)使用EtterCAP截获明文通信的密码、检测非加密通信的脆弱性3)使用Tcpdump分析FTP访问中的明文交换信息方案使用两台RHEL6虚拟机,其中svr5作为扫描、嗅探、抓包的操作用机,而mail作为测试用的靶机;另外准备一台Windows客户机pc120,也...原创 2019-05-28 22:06:41 · 541 阅读 · 0 评论 -
Linux shell 编程之 字符串的截取
1)方法一,使用 ${}表达式格式:${var:起始位置:长度}定义一个变量SCHOOL,并确认其字符串长度:[root@svr5 ~]# SCHOOL="Tarena IT Group."[root@svr5 ~]# echo ${#SCHOOL}16 //包括16个字符(含空格)使用${}截取时,起始位置可以省略,省略时从第一个字符开始截。比如,以下操作都可...原创 2019-06-01 17:42:08 · 416 阅读 · 0 评论 -
shell编程之 字符串的替换
1)只替换第1个子串格式:${var/old/new}以前面的SCHOOL变量作为测试,先确认变量值:[root@svr5 ~]# echo $SCHOOLTarena IT Group.将字符串中的第1个r替换为RRRR:[root@svr5 ~]# echo ${SCHOOL/r/RRRR}TaRRRRena IT Group.2)替换全部子串格式:${var//ol...原创 2019-06-01 17:44:42 · 12107 阅读 · 0 评论 -
shell编程之 字符串的匹配删除
以处理系统默认的邮箱路径为例,可直接使用环境变量MAIL:[root@svr5 ~]# echo $MAIL/var/spool/mail/root1)从左向右,最短匹配删除格式:${变量名#关键词}删除从左侧第1个字符到最近的关键词“oo”的部分, 作通配符理解:[root@svr5 ~]# echo ${MAIL#*oo}l/mail/root删除从左侧第1个字符到最近的关...原创 2019-06-01 17:46:21 · 3056 阅读 · 0 评论 -
Linux 提高SSH服务安全
问题本案例要求提高Linux主机上SSH服务端的安全性,完成以下任务:1)配置基本安全策略(禁止root、禁止空口令)2)针对SSH访问采用仅允许的策略,未明确列出的用户一概拒绝登录3)实现密钥验证登录(私钥口令)、免密码登入(无私钥口令)4)确认密钥验证使用正常后,禁用口令验证方案使用两台RHEL6虚拟机,其中svr5作为OpenSSH服务器,另一台pc205或svr5本机都可以...原创 2019-05-28 21:19:28 · 402 阅读 · 0 评论 -
Linux 使用sudo分配管理权限
问题本案例要求利用sudo机制分配管理操作权限,主要完成以下任务:1)为sudo机制启用日志记录,以便跟踪sudo执行操作2)允许网站运营专员tradm通过sudo方式控制httpd、mysqld服务的运行3)允许用户ugadm通过sudo方式添加/删除/修改除root以外的用户账号4)允许wheel组成员以特权执行/usr/bin/下的命令步骤实现此案例需要按照如下步骤进行。步骤...原创 2019-05-28 21:16:37 · 373 阅读 · 0 评论 -
Linux基本防护措施 用Linux 做点小坏事~
问题本案例要求练习Linux系统的基本防护措施,完成以下任务:1)禁止普通用户使用reboot、halt、poweroff程序2)修改用户zhangsan的账号属性,设置为2015-12-31日失效(禁止登录)3)锁定用户lisi的账户,使其无法登录,验证效果后解除锁定4)锁定文件/etc/resolv.conf、/etc/hosts,以防止其内容被无意中修改5)修改tty终端提示,使...原创 2019-05-28 21:12:47 · 223 阅读 · 0 评论 -
Linux shell sed多行文本处理
步骤一:修改主机名配置文件1)确认修改前的配置[root@svr5 ~]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=svr5.tarena.com2)使用sed修改主机名配置所在行的内容(c整行替换)[root@svr5 ~]# sed -i \ '/^HOSTNAME/cHOSTNAME=mysvr.tarena.com...原创 2019-05-30 21:21:05 · 1317 阅读 · 0 评论 -
Linux shell sed综合脚本应用
步骤一:编写getupwd.sh脚本[root@svr5 ~]# vim ./getupwd.sh #/bin/bash> /tmp/getupwd.log ## 创建空文件sed -n '/:\/bin\/bash$/w /tmp/urec.tmp' /etc/passwd ## 提取符合条件的账号记录UNUM=$(egrep...原创 2019-05-30 21:22:21 · 233 阅读 · 0 评论 -
Linux shell 编程 之awk的使用
使用awk提取文本步骤一:awk文本过滤的基本用法1)基本操作方法格式:awk [选项] ‘[条件]{编辑指令}’ 文件其中,print 是最常用的编辑指令;若有多条编辑指令,可用分号分隔。处理文本时,若未指定分隔符,则默认将空格、制表符等作为分隔符。直接过滤文件内容:[root@svr5 ~]# cat /etc/rc.local //文件的完整内容#!/bin...原创 2019-05-30 21:26:05 · 260 阅读 · 0 评论 -
Linux shell编程之awk的使用 (处理条件)
步骤一:认识awk处理条件的设置创建测试文件passwd.txt文件:[root@svr5 ~]# head -7 /etc/passwd > passwd.txt[root@svr5 ~]# cat passwd.txtroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daem...原创 2019-05-30 21:30:03 · 279 阅读 · 0 评论 -
Linux shell编程之 awk综合脚本应用
步骤一:任务需求及思路分析编写getupwd-awk.sh脚本的任务要求如下:分析出使用bash作登录Shell的本地用户列出这些用户的shadow密码记录按每行“用户名 – 密码记录”保存结果上一章实现时基本是用sed来过滤,结合变量替换截取来实现的,操作比较繁琐。现在学习了awk以后,再想想这个任务要求,是不是变简单了?—— 提取用户名列表时,只要通过awk命令以“:”为分隔提取...原创 2019-05-30 21:33:54 · 212 阅读 · 0 评论 -
Linux shell编程之 awk流程控制
步骤一:awk过滤中的if分支结构1)单分支统计/etc/passwd文件中UID小于或等于500的用户个数:[root@svr5 ~]# awk -F: 'BEGIN{i=0}{if($3<=500){i++}}END{print i}' /etc/passwd39统计/etc/passwd文件中UID大于500的用户个数:[root@svr5 ~]# awk -F: 'BE...原创 2019-05-30 21:35:43 · 191 阅读 · 0 评论 -
Linux shell编程之 awk扩展应用
去除文件重复行1)提取测试文件[root@svr5 ~]# awk -F: '{print $7}' /etc/passwd > a1.txt[root@svr5 ~]# cat a1.txt /bin/bash/sbin/nologin/sbin/nologin/sbin/nologin/sbin/nologin/bin/sync/sbin/shutdown/sbin...原创 2019-05-30 21:37:16 · 147 阅读 · 0 评论 -
Linux shell编程之shell函数
编写funexpr.sh脚本1)任务需求及思路分析用户在执行时提供2个整数参数,这个可以通过位置变量$1、$2读入。针对给定的两个整数,四则运算可以视为一组操作,可以定义为一个函数,依次负责加减乘除运算并输出结果。调用函数时,将用户提供的两个参数传递给函数处理。2)根据实现思路编写脚本文件[root@svr5 ~]# vim funexpr.sh#!/bin/bashmyexpr(...原创 2019-05-30 21:39:56 · 291 阅读 · 0 评论 -
Linux shell编程之 脚本退出及参数迁移
编写脚本chkint.sh1)编写脚本文件[root@svr5 ~]# vim chkint.sh #!/bin/bashread -p "请输入一个整数:" NUMif expr $NUM + 1 &> /dev/nullthen echo "您输入的整数是:$NUM"else echo "您输入的不是整数,请重新执行本程序。" ...原创 2019-06-01 17:57:23 · 888 阅读 · 0 评论 -
shell编程之 编写renfilex.sh脚本
1)验证原始改名脚本renfile.sh的效果脚本用途为:批量修改当前目录下的文件扩展名,将.doc改为.txt。脚本内容参考如下:[root@svr5 ~]# vim renfile.sh#!/bin/bashfor FILE in *.docdo mv $FILE ${FILE%.doc}.txtdone[root@svr5 ~]# chmod +x renfile....原创 2019-06-01 17:48:32 · 320 阅读 · 0 评论 -
shell编程之 认识字符串初值的最常见处理方法
1)只取值,${var:-word}若变量var已存在且非Null,则返回 $var 的值;否则返回字串“word”,原变量var的值不受影响。变量值已存在的情况:[root@svr5 ~]# echo $SCHOOL //查看原变量值Tarena IT Group.[root@svr5 ~]# echo ${SCHOOL:-Tarena} //因SCHOOL已存在,输出变量...原创 2019-06-01 17:49:26 · 175 阅读 · 0 评论 -
shell编程之 编写sumx.sh脚本,处理read输入的初值
用来从键盘读入一个正整数x,求从1到x的和;当用户未输入值(直接回车)时,为了避免执行出错,应为x赋初值1 。1)脚本编写参考如下[root@svr5 ~]# vim sumx.sh#!/bin/bashread -p "请输入一个正整数:" xx=${x:-1}i=1; SUM=0while [ $i -le $x ]do let SUM+=i let i++d...原创 2019-06-01 17:50:19 · 259 阅读 · 0 评论 -
构建并测试缓存DNS
需要完成的配置任务如下:1)缓存DNS服务器本身能够访问Internet,能够正常查询各种域名2)局域网内的客户机将DNS服务器设为缓存DNS的IP地址3)局域网内的客户机也能够查询各种域名步骤实现此案例需要按照如下步骤进行。步骤一:配置转发式缓存DNS1)确保缓存DNS本机可访问互联网(请参考物理网的设置)[root@svr5 ~]# ifconfig eth0eth0 ...原创 2019-06-04 21:12:11 · 431 阅读 · 0 评论 -
MySQL(MMM架构使用)
作者:李立衡来源:CSDN 原文:https://blog.csdn.net/LLcmpgheng/article/details/90379466 版权声明:本文为博主原创文章,转载请附上博文链接!本案例要求基于普通版的MySQL服务器改造MMM架构,完成以下任务操作:启动MMM集群架构设置集群中服务器为online状态MySQL-MMM架构部署完成后需要启动,数据库端启动mmm-a...转载 2019-07-02 15:44:25 · 1034 阅读 · 3 评论 -
那些年烦人的网络协议 包括端口
协议含义默认端口号http 超文本传输协议80https 安全的超文本传输协议443DNS 域名解析协议53ftp 文件传输协议21tftp 简单的文件传输协议69ssh 远程管理协议(加密传输)22telnet 远程管理协议(明文传输)23SMTP 邮件协议(发邮件)25pop3 邮件协议(收邮件)110...原创 2019-07-08 21:26:30 · 357 阅读 · 0 评论 -
Linux 基础进阶版 一(用户权限及管理)
重定向 : 将前面命令的输出 写入到文本文件> : 覆盖重定向>> : 追加重定向例 : cat /etc/passwd > /opt/1.txt #重定向会自动创建文本文件管道符 : |将前面命令的输出结果,交由后面的命令处理 也就是说作为后面命令的参数例 : cat /etc/passwd | head - 2 # 将/etc...原创 2019-07-08 22:03:25 · 228 阅读 · 0 评论 -
学Linux必备之网络基础
一.TCP/IP协议:TCP/IP是最广泛支持的通信协议集合.其包含大量的Internet应用中的标准协议支持跨网络架构,跨操作系统平台的通信二.主机与主机之间通信的三个要素:IP地址(IP address)子网掩码(subnet mask)IP路由(IP router) 相当于路由器三.IP地址唯一标识网络节点的地址.地址组成: ipv4---一共32个二进制位...原创 2019-07-03 20:58:13 · 391 阅读 · 1 评论 -
Linux基础中的基础 一
linux目录结构:类似倒挂的树. / : 根目录,所有数据都在此目录下(Windows中,通常说文件夹,文件. LINUX中通常为 目录 和 文件 )linux中 一切 皆文件!!!!例 : /dev : 存放系统设备相关的数据linux磁盘表示:hd,表示IDE设备sd:表示SCSI设备命令行提示符:[当前用户名@当前主机名 当前所在位置] # $ (#为此用户为超级...原创 2019-07-04 21:58:08 · 5665 阅读 · 0 评论 -
Linux云计算基础中的基础 二
(以下内容需在观看 <linu基础中的基础 一> 的前提下观看)关于命令行:用来实现,某一类的功能或程序(执行Linux大多数命令都要找到对应的程序)ps:命令的执行依赖解释器(/bin/bash)大体意思就是:用户把命令 输入到控制台 ---> 解释器 ---> 内核 ---> 硬件命令的分类: 内部命令:属于解释器的一部分 外部命令:解释器之...原创 2019-07-05 18:01:01 · 338 阅读 · 0 评论 -
Linux RHCE 常见题型----触发挂载(autofs)
准备工作:在划分一个2G的主分区(此处为我自己的分区)[root@server0 ~]# fdisk /dev/vdb[root@server0 ~]# partprobe #刷新分区表[root@server0 ~]# lsblk[root@server0 ~]# mkfs.xfs /dev/vdb3 #格式化文件系统[root@server0 ~]# blkid /d...原创 2019-07-31 20:04:38 · 558 阅读 · 0 评论 -
Linux 强制破解root密码 是root密码哦
1.开机时疯狂按键盘上的 e 键,进入如图界面:2.按方向键 ↓ 找到 linux16这一行3.按键盘上的End键跳到行末,并输入rd.break console=tty0(注意,与未改动的字符间一定要有空格!),之后按 Ctrl+x 键进恢复模式4.看到这个界面表示进入成功,如果屏幕上的字符无反应,就多敲几下回车5.输入某些不可告人的东西switch_root:/# mount...原创 2019-07-31 20:37:56 · 5737 阅读 · 9 评论 -
配置并验证Split分离解析
1)从客户机192.168.4.205、网段192.168.7.0/24来查询www.tedu.cn时,反馈的IP地址为192.168.4.1002)从其他客户机查询www.tedu.cn时,反馈的IP地址为1.2.3.4步骤实现此案例需要按照如下步骤进行。步骤一:配置Split分离解析1)为tedu.cn区域建立两份解析记录文件第一份解析记录文件提供给客户机192.168.4.205...原创 2019-06-04 21:10:35 · 343 阅读 · 0 评论 -
子域转发父域
需要完成的配置任务如下:1)在子DNS上添加到父域tedu.cn 转发设置2)测试父域转发查询步骤实现此案例需要按照如下步骤进行。步骤一:未配置转发时,向子DNS无法查询父域中的域名向子DNS服务器192.168.4.205查询父域中的域名www.tedu.cn,区域未知:[root@svr5 ~]# nslookup www.tedu.cn 192.168.4.205Server...原创 2019-06-04 21:08:19 · 674 阅读 · 0 评论 -
配置DNS子域授权
需要完成的配置任务如下:1)构建父DNS(tedu.cn)服务器2)构建子DNS(bj.tedu.cn)服务器3)在父DNS上配置子域授权4)测试子域授权查询使用两台RHEL6虚拟机,其中一台作为父DNS服务器(192.168.4.5)、另外一台作为子DNS服务器(192.168.4.205),CentOS真机、父/子DNS服务器中的任何一台都可以作为测试用的客户机,如图-2所示。图...原创 2019-06-04 21:06:47 · 1432 阅读 · 0 评论 -
shell编程之 认识数组的赋值/引用基本方法
1)declare命令的使用在Shell环境中,变量默认均作为字符串处理,当参与expr、[]数学运算时自动作为整数处理。比如,使用“1+2”、“X+2”、“[]数学运算时自动作为整数处理。比如,使用“1+2”、“X+2”、“[]数学运算时自动作为整数处理。比如,使用“1+2”、“X+2”、“X+2”表达式是无法将运算结果直接作为整数赋值给指定的变量的:[root@svr5 ~]# X=24...原创 2019-06-01 17:51:57 · 3075 阅读 · 0 评论 -
shell编程之 编写getips.sh脚本
1)任务需求及思路分析使用read命令从键盘读入用户指定的IP地址,每次读入一个。因为需要读多次,直到输入“EOF”时结束,所以可采用while循环结构,循环条件为输入的字符串不为“EOF”。要求用数组保存每次输入的IP地址,那肯定从下标为0的元素开始存放,赋值操作放在循环体内,下标的递增通过一个变量i控制。遇“EOF”结束while循环后,输出整个数组的内容,并显示数组元素的个数、第1个...原创 2019-06-01 17:54:07 · 363 阅读 · 0 评论 -
shell编程之 expect预期交互
方案expect是基于TCL编写的自动交互式程序,可以为交互式过程(比如FTP、SSH等登录过程)自动输送预先准备的文本或指令,而无需人工干预。触发的依据是预期会出现的特征提示文本。常见的expect指令:定义环境变量:set 变量名 变量值创建交互式进程:spawn 交互式命令行触发预期交互:expect “预期会出现的文本关键词:” { send “发送的文本\r” }在spa...原创 2019-06-01 17:55:46 · 241 阅读 · 0 评论