某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第九天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?
awk内置了大量的函数可供我们直接调用实现更丰富的功能,同时还允许自定义函数。 下面为大家介绍一些常用的内置函数,以及如何编写自定义函数。 内置I/O函数,内置数值函数,内置字串函数,内置时间函数,用户自定义函数
KVM虚拟化使用一种称为虚拟交换的技术实现虚拟机的网络互联,虚拟交换是运行在宿主主机上的一个软件结构,虚拟主机通过与这个虚拟交换进行直连实现与外界通信。当我们部署完成虚拟化环境后,libvirt进程会在宿主主机上自动创建一个默认的虚拟交换virbr0,我们可以通过ifconfig命令查看该虚拟交换设备的详细信息。
KVM存储池是被libvirt所管理的文件、目录或存储设备,存储池可以位于本地,也可以通过网络共享,存储池最终可以被虚拟主机所使用。默认libvirt使用基于目录的存储池设计,/var/lib/libvirt/images目录就是默认的存储池。本地存储池可以是本地的一个目录、磁盘设备、物理分区或LVM卷,但本地存储池不适合于大规模产品部署,也不支持虚拟机迁移功能。网络共享存储池使用标准的网络协议进行存储设备的共享,它支持SAN、IP-SAN、NFS、GFS2等协议。在KVM虚拟化技术中,存储池可以包含多个存储卷,对虚拟主机而言,这些存储卷将被识别为物理硬件存储设备。 下面将以目录存储以及共享NFS存储为例,演示KVM存储池及存储卷的创建流程。
博主著作新书推荐《Linux shell核心编程指南》 拒绝语法定义:摆脱固话的语法和命令堆积。 精心设计:通过生动有趣的案例学生Shell编程。 重在实战:大量案例脚本可以快速应用于生产。
#定义函数check_http: #使用curl命令检查http服务器的状态 #-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接 #-s设置静默连接,不显示连接时的连接速度、时间消耗等信息 #-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容) #-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码
编写shell脚本,测试某网段内主机连通性: 1.测试192.168.4.0/24整个网段的连通性(while版本) 2.测试192.168.4.0/24整个网段的连通性(for版本) 3.测试192.168.4.0/24整个网段的连通性(多进程版本)
1.生成随机密码(urandom版本):/dev/urandom文件是Linux内置的随机设备文件 2.生成随机密码(字串截取版本):设置变量key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符,使用$#统计密码库的长度 3.生成随机密码(UUID版本,16进制密码):使用UUID动态生产密码字串 4.生成随机密码(进程ID版本,数字密码):使用进程的进程号作为随机密码
使用shell脚本编写石头剪刀布游戏 通过随机数获取计算机的出拳,出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是3中不同的可能 通过read读取用户的输入(出拳),根据用户输入的不同值,与计算机出拳的值对比,判断胜负~!
fdisk非交互式对虚拟机的vdb磁盘进行分区格式化,使用<<将需要的分区指令导入给程序fdisk n(新建分区),p(创建主分区),1(分区编号为1),两个空白行(两个回车,相当于将整个磁盘分一个区) 注意:1后面的两个回车(空白行)是必须的!
#Author:丁丁历险(Jacob) #该脚本使用guestmount工具,可以将虚拟机的磁盘系统挂载到真实机文件系统中 #Centos7.2中安装libguestfs-tools-c可以获得guestmount工具 #虚拟机可以启动或者不启动都不影响该脚本的使用 #将虚拟机磁盘文件挂载到文件系统后,就可以直接读取磁盘文件中的网卡配置文件中的数据
#Author:丁丁历险(Jacob) #该脚本使用guestmount工具,Centos7.2中安装libguestfs-tools-c可以获得guestmount工具 #脚本在不登陆虚拟机的情况下,修改虚拟机的IP地址信息 #在某些环境下,虚拟机没有IP或IP地址与真实主机不在一个网段 #真实主机在没有virt-mange图形的情况下,远程连接虚拟机很麻烦 #该脚本可以解决类似的问题
Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率。你可以使用它进行本地数据或远程数据的复制,Rsync可以使用SSH安全隧道进行加密数据传输。Rsync服务器端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器上实际复制数据至本地,如果源数据在服务器端被删除,则客户端数据也会被删除,以确保主机之间的数据是同步的。Rsync使用TCP 873端口。
Samba 团队发布安全通告(https://www.samba.org/samba/security/CVE-2017-7494.html) ,并提供了补丁(https://arstechnica.com/security/2017/05/a-wormable-code-execution-bug-has-lurked-in-samba-for-7-years-patch-now/)。 一个一直存在了七年的远程代码执行漏洞,该漏洞编号为 CVE-2017-7494,在某些条件满足的情况下仅仅只需要一行代码就能利用该漏洞执行恶意代码。这些条件包括:445 端口可通过互联网访问,配置共享文件有写入权限,文件的服务器路径能被猜出。恶意攻击者之后只需要上传一个共享库,就能让服务器加载和执行恶意代码。 Samba 团队称,该漏洞影响 3.5.0 之前的所有版本。
SELinux(Security-Enhanced Linux)是基于Linux内核的强制访问控制机制实现,它是由美国国家安全局开发的项目,旨在增强传统Linux操作系统的安全性。SELinux项目在2000年以GPL协议形式开源,目前所有的Linux内核2.6及以上版本中都集成了SELinux功能。
在Shell中经常会使用到单引号、双引号、反引号(键盘中Tab键上方的按键)、反斜线(转换某些Shell元字符的含义)。如我们有时希望echo命令输出的字符中就包含$符号本身,但一般情况下,Shell会将$视为取变量值,像这样的情况我们需要使用某些功能来屏蔽$符号本身的特殊含义,使其还原字面意义。
近期精心打造了一套Docker视频,发布在51CTO学院,本视频根据官方文档为基础,精心设计案例。通过理论结合实践操作,让初学者急速掌握全新的Docker容器技术! http://edu.51cto.com/course/course_id-8200.html
最近抽时间写了一份LNMP部署脚本,使用源码安装所需软件,源码软件包网络上很容易获取,这里仅贴出脚本内容,大家可以自行在网络上下载对应的软件放在脚本当前目录即可,实际下载的软件包如果与脚本所调用的软件版本号及压缩格式有差异时,可以修改脚本开始的变量定义即可。 脚本会检测目标主机的语音环境,如果目标主机运行中文环境,则脚本运行中的所有提示信息均为中文,反之则提示信息为英文。脚本在安装相关软件的依赖包时会调用YUM安装对应的软件,运行脚本前确认YUM是可用的,否则脚本检测无YUM源可用后将直接退出。 脚本测试环境:RHEL6.5,希望可以成为大家编写自动部署LNMP及相关脚本的参考。
今日Samba再报重大漏洞,该漏洞目前编号为CVE-2015-0240,Samba守护进程smbd里一个为初始化的指针可被远程漏洞利用,她可以让恶意的Samba客户端发送一个特定的netlogon数据包从而获得smbd运行的权限,并且smbd的默认权限还是root超级管理员
Apache2月9日邮件提示:Tomcat请求漏洞(Request Smuggling) 通过在chucked请求中包含一个非正常的chunk数据有可能导致Tomcat将该请求的部分数据当成一个新请求。 漏洞名称:Request Smuggling 危害程度:重要!
丁丁历险最近开微信公众号了,互联网技术运维,每天学习新知识,尽在微信公众号! 扫描看微信!
MySQL数据库备份之复制 1. MySQL复制 使用MySQL复制功能可以将主服务器上的数据复制到多台从服务器上。默认情况下复制是异步传输方式,从服务器不需要总是连接主服务器去更新数据。也就是说数据更新可以在远距离连接的情况下进行,甚至是在使用拨号网络的临时连接环境下也可以进行。根据自定义设置,我们可以对所有数据库或部分数据库甚至是部分数据表进行复制。通过主从复制,在企业级应用环境中就不必再担心数据库的单点故障,当一台服务器宕机时其他服务器一样可以提供非常稳定可靠的数据服务。
Linux运维之脚本有奖征文活动 时间:从即日起至2014-2-6 前言: 岁末年初,值此新春佳节,51CTO特别推出有奖征文活动。在从事Linux运维工作的过程中,我们少不了要用到Shell编写任务脚本,高度自动化与智能化的脚本可以让IT运维人员从繁杂而无聊的日常工作中解脱出来。
《linux运维之道》图书推荐。 历时一年,本人新作终于可以与大家见面了,希望可以为技术的发展与推广尽一份贡献。
pache HTTP Server项目是在Windows与Unix等平台上都可以运行的跨平台开源HTTP服务器软件,该项目的目标是提供安全、高效、可扩展的HTTP服务。Apache httpd自从1996年发布以来,如今已经成为世界排名第一的Web服务器软件。Apache httpd最新的稳定版本为2.4.4。安装Apache httpd软件可以选择源码安装或二进制包安装,但由于源码安装是可以定制的一种安装方式,这种安装方式灵活性比较大,可以满足企业对这种环境的不同需求。二进制包安装在CentOS 6.3系统中可以选择RPM包安装,这种安装的最大好处就是简单快捷。本书采用的是源码安装软件包,由于源码安装需要大量的依赖包,需要先安装这些依赖软件包。
随着ABC公司业务的扩张,计算机越来越多的情况下,让员工记忆所有公司内部服务器的IP地址可能性不大,因此公司决定采用DNS解决方案,这样实现主机之间的通讯可以变的更简单。案例中我们使用的域为abc.com域,这个是正向解析的域,网络采用的是私有网络:172.16.0.0/16。
DHCP是动态主机配置协议(Dynamic Host Configuration Protocol)的简写,使用DHCP协议可以为客户端主机自动分配TCP/IP信息,如IP地址、子网掩码、网关、DNS等信息,服务器可以选择固定分配特定参数信息给指定的一台主机,也可以设置多台主机分享这些参数信息,所有客户端竞争 获得TCP/IP参数信息。客户端主机通过UDP广播的形式发送请求给本地网络,服务器收到请求后根据配置将TCP/IP信息租赁给客户端,时间是有限的,当租期到了以后客户端可以再次向服务器发出请求实现续约。在本书第一章大规模部署操作系统的实施过程中就需要使用DHCP服务为大量主机自动动态分配网络参数信息。在企业办公环境中使用DHCP服务可以帮助员工实现移动办公,不管是台式机、笔记本还是平板电脑只要接入网络就可以自动获得网络参数。
Rsync(remote sync)是Unix及类Unix平台下一款神奇的数据镜像备份软件,她不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异备份,从而减少数据流量、提供工作效率。你可以使用她进行本地数据或远程数据的拷贝,Rsync可以使用SSH安全隧道进行加密数据传输。Rsync服务端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器上实际拷贝数据至本地,如果源数据被删除则客户端数据也会被删除以确保主机之间的数据是同步的。Rsync使用TCP 873端口。
Samba是Linux、Unix与Windows之间进行交互操作的软件组件,Samba是基于GPL协议的自由开源软件。自从1992年以来,Samba开始通过SMB/CIFS协议为Windows、OS/2、Linux以及众多其他支持该协议的操作系统提供安全、稳定、快速的文件与打印服务,在使用winbind将Linux/Unix无缝整合到活动目录环境时Samba也是一个重要组件。
Network File System(NFS)网络文件系统是由Sun公司开发的一种通过网络方式共享文件系统的通用共享解决方案。目前NFS有三个版本NFSv2、NFSv3、NFSv4。NFSv2是个古老的版本但却被广大的操作系统所支持,这样它的兼容性会更好,NFSv3拥有更多的特色,包括更快的速度、更大的单个文件大小、更多便于排错的错误及成功信息、对TCP协议的支持等,NFSv4提供了有状态的连接,更容易追踪连接状态、增强了安全特性。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号