https://miketabor.com/how-to-upgrade-vcenter-server-appliance-6-7-to-7-0/
Author: 河小马
C, C++, PHP, Python 开发 业余Front End 开发 Owner of Advertcn.com and cnMarketers.com
Build numbers and versions of VMware vCenter Server
在升级vCSA的时候经常用到:
https://kb.vmware.com/s/article/2143838
VMWare ESXi build numbers and versions
在升级ESXi的时候经常用到.
https://kb.vmware.com/s/article/2143832
AWK 用法详解
awk 的用法实在太多了,网上的文章写的也很乱,下面的两篇文章写的非常的好,在以后写shell 脚本的过程中可以使用:
https://einverne.github.io/post/2018/01/awk.htmlAWK 简明教程
Bash 把浮点(float)转化成整数(int)
第一种方法, 根据这篇文章所说:
float=1.23 int=${float%.*}
第二种方法: 使用bc 命令
$ echo "($float+0.5)/1" | bc
第三种方法: 使用 printf
$ myduration=6.5 $ myduration=$( printf "%.0f" $myduration ) $ echo $myduration 6
Shell 中的花括号的特殊用法
四种模式匹配替换结构:
${var%pattern},${var%%pattern},${var#pattern},${var##pattern}
第一种模式:${variable%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最短的匹配模式
第二种模式: ${variable%%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式
第三种模式:${variable#pattern} 这种模式时,shell在variable中查找,看它是否一给的模式pattern开始,如果是,就从命令行把variable中的内容去掉左边最短的匹配模式
第四种模式: ${variable##pattern} 这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式
这四种模式中都不会改变variable的值,其中,只有在pattern中使用了*匹配符号时,%和%%,#和##才有区别。结构中的pattern支持通配符,*表示零个或多个任意字符,?表示零个或一个任意字符,[…]表示匹配中括号里面的字符,[!…]表示不匹配中括号里面的字符
bogon:/home/bash # var=testcase bogon:/home/bash # echo $var testcase bogon:/home/bash # echo ${var%s*e} testca bogon:/home/bash # echo $var testcase bogon:/home/bash # echo ${var%%s*e} te bogon:/home/bash # echo ${var#?e} stcase bogon:/home/bash # echo ${var##?e} stcase bogon:/home/bash # echo ${var##*e} bogon:/home/bash # echo ${var##*s} e bogon:/home/bash # echo ${var##test} case
ESXi Maintenance模式
当你需要给ESXi Host 打patch, 或者upgrade,或者需要升级硬件,比如说安装更多的内存的时候,你需要将ESXi Host置于maintenance状态. 而只有在用户的请求下, ESXi Host 才会进入或者离开maintenance状态.
当ESXi Host进入maintenance状态之前,需要运行在ESXi Host上的所有VM,或者被迁移到其他的Host(手动迁移,或者DRS自动迁移),或者被关机. 只有完成了这些操作,ESXi Host上没有任何正在运行的VM时,才可以进入maintenance状态.
在maintenance状态下,你无法deploy任何新的VM或者启动任何处于关机状态下的VM.
ESXi Patch, Express Patch 和 Update的区别
ESXi patches, express patches 和 updates 可以在这里获取:
https://my.vmware.com/group/vmware/patch
他们的区别是:
Update: 就是一个完整的更新包, including lots of fixes, 可以理解为多个patch的集合
express patch: 针对某一问题做出的更新包
Patch: a single update
升级vCSA(vCenter Server Appliance) 6.5 到6.7u3 或者6.7u3n 遇到的问题
vCSA(vCenter Server Appliance)爆出漏洞, 赶紧给vCSA升级.
选择了在线升级的方式,直接登录vCSA VAMI平台(注意这里要用root登录VAMI平台,不能用一般用户[email protected]之类的),点击update,选择了最新的vCenter版本,确出来下面的错误:
Appliance (OS) root password is expired or is going to expire soon. Please change the root password before installing an update
然后在VAMI平台里面更新root password, 也报下面的错误:
Could not set the password
如果你用command chage -l root的话,也报下面的错误:
这是因为VAMI是无法修改过期的root密码的,你只能用CLI的方式, SSH登录vCSA 然后修改.
步骤:
- 在VAMI平台里面enable SSH,然后用root连接上vCSA
- 运行下面的commands:
shell.set --enabled true shell passwd
3. 确认root密码被修改了:
chage -l root
4.可以设置root从不过期:
chage -I -1 -m 0 -M 99999 -E -1 root
5. 重新在VAMI里面升级
参考文章:
https://kb.vmware.com/s/article/67414
注意,从7.0U1和6.7P03开始,可以用SSO administrator登录VAMI,然后重设root密码
Discuz! X 安全之禁止用户非法访问后台
从dismall上看到的,原文在这里:
https://www.dismall.com/thread-9320-1-1.html
Discuz!默认的后台路径是 http://你的域名/admin.php
因此很多站长不希望后台直接暴露出来让一些不法用户尝试登陆后台,造成一些安全隐患;
隐藏后台路径一般有两种思路,第一种就是直接修改admin.php文件名称,但是这种方式,前后台要修改的文件比较多,包括所有第三方模版都要修改,而且还会造成有时候安装插件无法再使用问题;新一代黑客木马大都注意到修改admin.php名称的说。
另一种思路,就是对admin.php增加访问权限,这就是本文要讲的方法,具体操作如下:
三种修改方法按需要选择其中一种即可。
都是修改 admin.php文件
A. 必须在前台登录以后才能访问后台
在$discuz->init(); 下方加入代码
if(!$_G['uid']){ header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); echo '404 Not Found'; exit; }
B. 必须在前台登录且uid=1, 才可以访问后台
在$discuz->init();下方加入代码
if($_G['uid']!=1){ header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); echo '404 Not Found'; exit; }
C. 必须在前台登录了且uid在指定范围,才可以访问后台
在$discuz->init(); 下方加入代码
$uids=array(1,2,3,99); if(in_array($_G['uid'],$uids)){ header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); echo '404 Not Found'; exit; }
修改完成后,非法直接访问后台的用户就直接报404错误了