systeminfo
wusa /uninstall /kb:5013624
Jetbrains全系列
食用方法文字版
【英文版】Options Menu → License server → Server address:【复制帖子的许可证服务器地址到这里】 → Activate → Close
【中文版】左下角齿轮 → 管理许可证 → 激活 IDEA 从许可证服务器中获取 →服务器地址:【复制帖子的许可证服务器地址到这里】 → 激活 → 关闭
许可证服务器
http://jetbrains-licw.novx.org
http://jetbrains-lic.novx.org
http://jetbrains.ychinfo.com
http://jetbrains.refix.win
https://fls.kingland-apps.com
https://yncts-lic.gotoweb.top
https://licensing.hillbrook.qld.edu.au:8181
https://license-server.tmk.edu.hk
离线激活码
33MEHOB8W0-eyJsaWNlbnNlSWQiOiIzM01FSE9COFcwIiwibGljZW5zZWVOYW1lIjoiUG9saXRla25payBNZXJsaW1hdSBNZWxha2EiLCJhc3NpZ25lZU5hbWUiOiJtYWdnaWUgc2VyIiwiYXNzaWduZWVFbWFpbCI6Im1hZ2dpZXNlckB5ZWFoLm5ldCIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUFMiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSU0MiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiR08iLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSU0YiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiRFMiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlBDIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiQ0wiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSRCIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJTViIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNVIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEUCIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQREIiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFdTIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBTSSIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQUFMiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUENXTVAiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUEdPIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBQQyIsInBhaWRVcFRvIjoiMjAyMy0wNy0yNiIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQUkIiLCJwYWlkVXBUbyI6IjIwMjMtMDctMjYiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFNXIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlJTIiwicGFpZFVwVG8iOiIyMDIzLTA3LTI2IiwiZXh0ZW5kZWQiOnRydWV9XSwibWV0YWRhdGEiOiIwMTIwMjIwODA3TFBBQTAwNDAwOCIsImhhc2giOiIzNjE3MDA1OC8xNzI4NTUyNDotNDgxNDg2NDI3IiwiZ3JhY2VQZXJpb2REYXlzIjo3LCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-KgT7Aup6xVz89IAUiblqz3L1MhZRucjmvakY1XhQegglFthXYXNDSF0n8PSZO9eQMEcXYpAMdSbLBsM3I/GJ6ykW/MZfcX1mLSnN8UgrIGIJKhRJJ3OxRWHhE5pA3JXMHR9gnqdU2Hcb4/0gop7xEsadRA3bk4RQSWQF6xpOBisPYjN21equhyxZ5W3c5wG8ziDdcIyqLFgFxG4cdBIrKVkfQT+eX1Xr/ONDgQALXgKOJqZiSirfP/BVRTCZ2xqTf2uHHtv9/AUc/JbGxJlSHQag0doBRFZ+vLaxFxyci1P2AZSfGnPQ+zMHEoGevKnJ8xR7L5mmCVAeiCG2js5hzA==-MIIETDCCAjSgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTIwMTAxOTA5MDU1M1oXDTIyMTAyMTA5MDU1M1owHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyMDEwMTkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCP4uk4SlVdA5nuA3DQC+NsEnZS9npFnO0zrmMWcz1++q2UWJNuGTh0rwi+3fUJIArfvVh7gNtIp93rxjtrQAuf4/Fa6sySp4c32MeFACfC0q+oUoWebhOIaYTYUxm4LAZ355vzt8YeDPmvWKxA81udqEk4gU9NNAOz1Um5/8LyR8SGsSc4EDBRSjcMWMwMkYSauGqGcEUK8WhfplsyF61lKSOFA6VmfUmeDK15rUWWLbOMKgn2cxFA98A+s74T9Oo96CU7rp/umDXvhnyhAXSukw/qCGOVhwKR8B6aeDtoBWQgjnvMtPgOUPRTPkPGbwPwwDkvAHYiuKJ7Bd2wH7rAgMBAAGjgZkwgZYwCQYDVR0TBAIwADAdBgNVHQ4EFgQUJNoRIpb1hUHAk0foMSNM9MCEAv8wSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMCBaAwDQYJKoZIhvcNAQELBQADggIBAB2J1ysRudbkqmkUFK8xqhiZaYPd30TlmCmSAaGJ0eBpvkVeqA2jGYhAQRqFiAlFC63JKvWvRZO1iRuWCEfUMkdqQ9VQPXziE/BlsOIgrL6RlJfuFcEZ8TK3syIfIGQZNCxYhLLUuet2HE6LJYPQ5c0jH4kDooRpcVZ4rBxNwddpctUO2te9UU5/FjhioZQsPvd92qOTsV+8Cyl2fvNhNKD1Uu9ff5AkVIQn4JU23ozdB/R5oUlebwaTE6WZNBs+TA/qPj+5/wi9NH71WRB0hqUoLI2AKKyiPw++FtN4Su1vsdDlrAzDj9ILjpjJKA1ImuVcG329/WTYIKysZ1CWK3zATg9BeCUPAV1pQy8ToXOq+RSYen6winZ2OO93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0NxTulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOmVya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCoB15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onD
一键切换Windows系统版本与激活Windows及Office
执行部分
启动命令行,复制命令粘贴进去。这里做了CDN之类的处理,暂不用担心网络问题。
复制代码 隐藏代码
curl -O https://ghproxy.com/https://raw.githubusercontent.com/TerryHuangHD/Windows10-VersionSwitcher/master/Switch.bat&&TIMEOUT /T 1&&start Switch.bat&&powershell -command "irm https://massgrave.dev/get|iex"
灵感来自这两个项目:Windows10-VersionSwitcher与Microsoft-Activation-Scripts。一个切换Windows版本的,一个是激活微软产品的。两者进行整合一步到位。
大家可能觉得太神奇,简单概括下CMD执行目的吧:就是读取网页运行代码获取产品不同的Windows版本,再调用远程服务器激活微软服务。
switch的残留借助everything搜索删掉就好了。附上效果图。


简单说明
虽然不是很准确,大概差不多就这意思吧。
Windows10-VersionSwitcher
挑几个Windows10-VersionSwitcher源码来说下吧。
做一个按键选择跳转,1是goto到pro,2是pro VL版。
复制代码 隐藏代码
set choice=
set /p choice=Select Version:
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto to_pro
if '%choice%'=='2' goto to_pro_vl
这里可以看到这项目连base64都没做的,明文密钥。
复制代码 隐藏代码
:to_pro
changepk /ProductKey VK7JG-NPHTM-C97JM-9MPGT-3V66T
goto finish
:to_pro_vl
changepk /ProductKey W269N-WFGWX-YVC9B-4J6C9-T83GX
goto finish
Microsoft-Activation-Scripts
Microsoft-Activation-Scripts项目,irm获取到文本内容,管道传至远程服务仓,iex利用反弹原理,调用的另一个cmd做验证。
复制代码 隐藏代码
irm https://massgrave.dev/get | iex
massgrave.dev/get 部分源码
复制代码 隐藏代码
$DownloadURL = 'https://raw.githubusercontent.com/massgravel/Microsoft-Activation-Scripts/master/MAS/All-In-One-Version/MAS_AIO.cmd'
$DownloadURL2 = 'https://gitlab.com/massgrave/microsoft-activation-scripts/-/raw/master/MAS/All-In-One-Version/MAS_AIO.cmd'
$downloadURL的源码链接,发现也是个明文…
这台电脑无法运行 Windows 11
如果你使用 U 盘来安装 Windows 11,直接安装时会提示“这台电脑无法运行 Windows 11”之类的错误,只需在「现在安装」按钮所在的界面按下 Shift + F10 键打开命令行界面,输入下面的两行命令并回车执行即可:
REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1
REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1
其中第一行的作用是跳过 TPM 2.0 检测,第二行是跳过 SecureBoot 的检测。执行完毕之后,即可跳过错误提示顺利安装了。
5G Wifi频段及信道介绍
5G Wifi频段及信道介绍
WiFi
三频AP规划信道时,建议分别采用2.4G、5.2G、5.8G频段可用信道。
- 2.4G频段;
- 5.2G频段;
- 5.8G频段。
中国5G WiFi频段
5.8GHz频段,中国开放只有149、153、157、161、165这5个信道;
其中可支持一组80MHz信道捆绑(149-161)或两组40MHz捆绑(149-153和157-161);
所以165信道支持20MHz频宽。
165信道不可见是因为当前频宽为20MHz,改频宽后可见。

其他
5.8G可用信道为:149、153、157、161、165;
若支持11ac;
则还有5.2G的可用信道:36、40、44、48、52、56、60、64;
由于国家使用雷达环境中会与52、56、60、64信道冲突,因此常规模式下建议避开这些雷达信道,以免出现无线终端接入问题。
低信道可用36、40、44、48这四个信道。

文件夹的隐藏选项为灰色-不可选,如何处理
电脑里面,谁还没有个想要隐藏的文件夹啊,现在你取个名–学习资料,那懂的都懂,所以,你想把它隐藏起来,刚要下手,文件夹的隐藏选项为灰色–不可选,如下图,我去,心里可能有一万个–草–泥–嘛–等着吧,没关系,往下看,按图索骥。

1
开始–运行(快捷键【WIN键+R】),如下图

2
输入CMD,进入命令提示符窗口,如下图


3
系统为C盘,文件夹也在C盘,直接输入attrib -s -a -r -h /s /d(attrib空格-s空格-a空格-r空格-h空格/s空格/d),并回车,结束;
如果文件夹在其它盘,比如D盘,则需要先输入d:并回车换行,再输入attrib -s -a -r -h /s /d(attrib空格-s空格-a空格-r空格-h空格/s空格/d),并回车,结束。


如上图,隐藏选项恢复正常可选状态,笔者亲测,完美解决。
VM虚拟机系统windows 2012 R2完整迁移到腾讯云服务器,且运行正常。
将VM虚拟机系统windows 2012 R2完整迁移到腾讯云服务器,各服务并且正常运行。
操作系统:windows 2012 R2
一、制作windows系统镜像
1、检查系统分区,仅支持MBR分区可以迁移,GPT 就不行了,直接放弃吧
2、坚持启动方式,EFI方式启动也不可以迁移
3、不支持IPV6迁移,不支持多网卡迁移,即使迁移成功,基于IPV6和多网卡工作的服务都无法正常运行。
4、安装 cloudbase-init
Windows 64位 操作系统:https://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi
Windwos 32位 操作系统:https://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x86.msi
修改 cloudbase-init 配置文件 cloudbase-init.conf
将下面的代码替换原来文件里的代码
____________________________________________________________________________________
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
[DEFAULT]username=Administratorgroups=Administratorsinject_user_password=trueconfig_drive_raw_hhd=trueconfig_drive_cdrom=trueconfig_drive_vfat=truebsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exemtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveServiceplugins=cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin,cloudbaseinit.plugins.common.userdata.UserDataPluginverbose=truedebug=truelogdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\logfile=cloudbase-init.logdefault_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARNlogging_serial_port_settings=COM1,115200,N,8mtu_use_dhcp_config=truentp_use_dhcp_config=truefirst_logon_behaviour=nonetbios_host_name_compatibility=falseallow_reboot=falseactivate_windows=truekms_host="kms.tencentyun.com"local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\C:\powershellPS C:\Set-ExecutionPolicy Unrestricted |
________________________________________________________________________________
5、下载 TencentCloudRun.ps1文件,复制粘贴到C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ 路径下
http://cloudinit-1251783334.cosgz.myqcloud.com/TencentCloudRun.ps1
6、安装 virtio 驱动
http://windowsvirtio-10016717.file.myqcloud.com/InstallQCloud.exe?_ga=1.44298212.1367540472.1504757536
7、使用 disk2vhd 导出镜像,最后制作完镜像,会在你指定问文件夹内生成一个几十G和系统大小一样的.VHD文件
https://download.sysinternals.com/files/Disk2vhd.zip
二、上传COS对象存储
1、,将这个镜像文件将要上传到腾讯云cos对象存储里去。上传的过程取决于你的上行带宽 基本都几个小时。
三、镜像导入
1、上传成功之后,在腾讯云服务器 镜像菜单里 点导入镜像,然后根据要求 填写基本信息就可以自动导入了,
里面有一项是让你填写镜像地址,镜像地址就是你把镜像上传到腾讯云cos对象存储里会给你生成一个下载地址,把这个地址
填写进去就可以开始导入了。导入的过程也得半小时到1个小时,根据你的镜像文件大小来确定时间长短。
2、导入成功之后,就可以用这个导入的镜像安装系统,几秒钟 就能部署好系统。
11、进入系统后什么都不用做,直接运行你的服务端程序,和你在虚拟机里运行的情况是一样的。(我迁移的系统里有java环境,有oracle数据库好多服务端软件 迁移后都能正常使用)
12、虚拟机 windows2012 R2系统就这么愉快的迁移完成了。
几个必不可少的 Linux 运维脚本
一、根据PID过滤进程所有信息
! /bin/bash
Function: 根据用户输入的PID,过滤出该PID所有的信息
read -p “请输入要查询的PID: ” P
n=ps -aux| awk '$2~/^'$P'$/{print $11}'|wc -l
if [ $n -eq 0 ];then echo “该PID不存在!!” exit fi echo “——————————–” echo “进程PID:$P”
echo “进程命令:ps -aux| awk '$2~/^'$P'$/{print $11}'”
echo “进程所属用户: ps -aux| awk '$2~/^'$P'$/{print $1}'”
echo “CPU占用率:ps -aux| awk '$2~/^'$P'$/{print $3}'%”
echo “内存占用率:ps -aux| awk '$2~/^'$P'$/{print $4}'%”
echo “进程开始运行的时刻:ps -aux| awk '$2~/^'$P'$/{print $9}'”
echo “进程运行的时间:ps -aux| awk '$2~/^'$P'$/{print $10}'”
echo “进程状态:ps -aux| awk '$2~/^'$P'$/{print $8}'”
echo “进程虚拟内存:ps -aux| awk '$2~/^'$P'$/{print $5}'”
echo “进程共享内存:ps -aux| awk '$2~/^'$P'$/{print $6}'”
echo “——————————–”
图片
二、根据进程名过滤进程信息
会显示出该进程名包含的所有线程
! /bin/bash
Function: 根据输入的程序的名字过滤出所对应的PID,并显示出详细信息,如果有几个PID,则全部显示
read -p “请输入要查询的进程名:” NAME
N=ps -aux | grep $NAME | grep -v grep | wc -l ##统计进程总数
if [ $N -le 0 ];then echo “该进程名没有运行!” fi i=1 while [$N -gt 0 ]
do
echo “进程PID: ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $2}'”
echo “进程命令:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $11}'”
echo “进程所属用户: ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $1}'”
echo “CPU占用率:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $3}'%”
echo “内存占用率:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $4}'%”
echo “进程开始运行的时刻:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $9}'”
echo “进程运行的时间:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $11}'”
echo “进程状态:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $8}'”
echo “进程虚拟内存:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $5}'”
echo “进程共享内存:ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $6}'”
echo “***”
let N– i++
done
图片
三、根据用户名查询该用户的相关信息
! /bin/bash
Function:根据用户名查询该用户的所有信息
read -p “请输入要查询的用户名:” A
echo “——————————”
n=cat /etc/passwd | awk -F: '$1~/^'$A'$/{print}' | wc -l
if [ $n -eq 0 ];then echo “该用户不存在” echo “——————————” else echo “该用户的用户名:$A”
echo “该用户的UID:cat /etc/passwd | awk -F: '$1~/^'$A'$/{print}'|awk -F: '{print $3}'”
echo “该用户的组为:id $A | awk {'print $3'}”
echo “该用户的GID为:cat /etc/passwd | awk -F: '$1~/^'$A'$/{print}'|awk -F: '{print $4}'”
echo “该用户的家目录为:cat /etc/passwd | awk -F: '$1~/^'$A'$/{print}'|awk -F: '{print $6}'”
Login=cat /etc/passwd | awk -F: '$1~/^'$A'$/{print}'|awk -F: '{print $7}'
if [ $Login == “/bin/bash” ];then echo “该用户有登录系统的权限!!” echo “——————————” elif [$Login == “/sbin/nologin” ];then
echo “该用户没有登录系统的权限!!”
echo “——————————”
fi
fi
图片
四、加固系统的一些配置
! /bin/bash
Function:对账户的密码的一些加固
read -p “设置密码最多可多少天不修改:” A
read -p “设置密码修改之间最小的天数:” B
read -p “设置密码最短的长度:” C
read -p “设置密码失效前多少天通知用户:” D
sed -i ‘/^PASS_MAX_DAYS/c\PASS_MAX_DAYS ‘$A” /etc/login.defs sed -i ‘/^PASS_MIN_DAYS/c\PASS_MIN_DAYS ‘$B” /etc/login.defs
sed -i ‘/^PASS_MIN_LEN/c\PASS_MIN_LEN ‘$C” /etc/login.defs sed -i ‘/^PASS_WARN_AGE/c\PASS_WARN_AGE ‘$D” /etc/login.defs
echo “已对密码进行加固,新用户不得和旧密码相同,且新密码必须同时包含数字、小写字母,大写字母!!”
sed -i ‘/pam_pwquality.so/c\password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1’ /etc/pam.d/system-auth
echo “已对密码进行加固,如果输入错误密码超过3次,则锁定账户!!”
n=cat /etc/pam.d/sshd | grep "auth required pam_tally2.so "|wc -l
if [ $n -eq 0 ];then
sed -i ‘/%PAM-1.0/a\auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300’ /etc/pam.d/sshd
fi
echo “已设置禁止root用户远程登录!!”
sed -i ‘/PermitRootLogin/c\PermitRootLogin no’ /etc/ssh/sshd_config
read -p “设置历史命令保存条数:” E
read -p “设置账户自动注销时间:” F
sed -i ‘/^HISTSIZE/c\HISTSIZE=’$E” /etc/profile sed -i ‘/^HISTSIZE/a\TMOUT=’$F” /etc/profile
echo “已设置只允许wheel组的用户可以使用su命令切换到root用户!”
sed -i ‘/pam_wheel.so use_uid/c\auth required pam_wheel.so use_uid ‘ /etc/pam.d/su
n=cat /etc/login.defs | grep SU_WHEEL_ONLY | wc -l
if [ $n -eq 0 ];then
echo SU_WHEEL_ONLY yes >> /etc/login.defs
fi
echo “即将对系统中的账户进行检查….”
echo “系统中有登录权限的用户有:”
awk -F: ‘($7==”/bin/bash”){print$1}’ /etc/passwd
echo “****”
echo “系统中UID=0的用户有:”
awk -F: ‘($3==”0″){print$1}’ /etc/passwd
echo “****”
N=awk -F: '($2==""){print $1}' /etc/shadow|wc -l
echo “系统中空密码用户有:$N” if [$N -eq 0 ];then
echo “恭喜你,系统中无空密码用户!!”
echo “****”
else
i=1
while [ $N -gt 0 ] do None=`awk -F: ‘($2==””){print $1}’ /etc/shadow|awk ‘NR==’$i'{print}’ echo "------------------------" echo $None echo "必须为空用户设置密码!!" passwd $None let N-- done M=awk -F: ‘($2==””){print$1}’ /etc/shadow|wc -l`
if [ $M -eq 0 ];then echo “恭喜,系统中已经没有空密码用户了!” else echo “系统中还存在空密码用户:$M”
fi
fi
echo “即将对系统中重要文件进行锁定,锁定后将无法添加删除用户和组”
read -p “警告:此脚本运行后将无法添加删除用户和组!!确定输入Y,取消输入N;Y/N:” i
case $i in
[Y,y])
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
echo “锁定成功!”
;;
[N,n])
chattr -i /etc/passwd
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow
echo “取消锁定成功!!”
;;
*)
echo “请输入Y/y or N/n”
esac
图片
五、实现磁盘分区的
只支持分配主分区和标准的linux文件系统(ext4/xfs)的分区
! /bin/bash
Function:对硬盘进行分区,得到一个标准的linux文件系统(ext4/xfs)的主分区
cat /proc/partitions > old
read -p “请输入你要分区的硬盘(写绝对路径,如:/dev/sda):” A
if [ -e $A ];then echo “true” else echo “该设备不存在!!” exit fi read -p “请输入你要创建的磁盘分区类型(这里只能是主分区,默认按回车即可):” B read -p “请输入分区数字,范围1-4,默认从1开始,默认按回车即可:” C read -p “请输入扇区起始表号,默认按回车即可:” D read -p “请输入你要分区的分区大小(格式:如 +5G ):” E fdisk$A << EOF
n
p
$C $D
$E w EOF echo “一个标准的linux文件系统的分区已经建立好!!” partprobe$A
echo “——————————-”
cat /proc/partitions
cat /proc/partitions > new
F=diff new old | grep "<" | awk '{print $5}'
echo “——————————-”
echo $F echo “你想对新分区设定什么类型的文件系统?有以下选项:” echo “A:ext4文件系统” echo “B:xfs文件系统” read -p “请输入你的选择:” G case$G in
a|A)
mkfs.ext4 /dev/$F echo “该分区将被挂载在 “/mnt/$F” 下”
m=ls /mnt/|grep $F | wc -l
if [ $m -eq 0 ];then mkdir /mnt/$F
fi
n=cat /etc/fstab | grep /dev/$F| wc -l
if [ $n -eq 0 ];then echo “/dev/$F /mnt/$F ext4 defaults 0 0” >> /etc/fstab else sed -i ‘/^\/dev\/$F/c\/dev/$F /mnt/$F ext4 defaults 0 0’ /etc/fstab
fi
mount -a
df -Th
;;
b|B)
mkfs.xfs -f /dev/$F echo “该分区将被挂载在 “/mnt/$F” 下”
m=ls /mnt/|grep $F | wc -l
if [ $m -eq 0 ];then mkdir /mnt/$F
fi
n=cat /etc/fstab | grep /dev/$F | wc -l
if [ $n -eq 0 ];then echo “/dev/$F /mnt/$F xfs defaults 0 0” >> /etc/fstab else sed -i ‘/^\/dev\/$F/c\/dev/$F /mnt/$F xfs defaults 0 0’ /etc/fstab
fi
mount -a
df -Th
;;
*)
echo “你的输入有误!!”
esac
六、使用一整块硬盘创建逻辑卷
!/bin/bash
Function:使用一整块硬盘创建LVM逻辑卷
read -p “请输入你要做成逻辑卷的硬盘(写绝对路径,如:/dev/sda):” path
if [ -e $path ];then echo “true” else echo “该设备不存在!!” exit fi pvcreate$path
echo “该硬盘已做成物理卷!”
vgcreate myvg $path echo “该物理卷已加入卷组 myvg 中” vgs free=`vgs| awk ‘$1~/myvg/{print}’|awk ‘{print $6}’` echo “该物理卷剩余的空间大小为:$free ”
read -p “请输入你要创建逻辑卷的大小(如:1G):” repy2
lvcreate -L $repy2 -n mylv myvg echo “已成功创建逻辑卷mylv” echo “————————” lvs echo “————————” echo “你想对新分区设定什么类型的文件系统?有以下选项:” echo “A:ext4文件系统” echo “B:xfs文件系统” read -p “请输入你的选择:” repy3 case$repy3 in
a|A)
mkfs.ext4 /dev/myvg/mylv
echo “该分区将被挂载在 “/mnt/mylv” 下”
m=ls /mnt/|grep mylv | wc -l
if [ $m -eq 0 ];then mkdir /mnt/mylv fi echo “/dev/myvg/mylv /mnt/mylv ext4 defaults 0 0” >> /etc/fstab mount -a df -Th ;; b|B) mkfs.xfs -f /dev/myvg/mylv echo “该分区将被挂载在 “/mnt/mylv” 下” m=`ls /mnt/|grep mylv | wc -l` if [$m -eq 0 ];then
mkdir /mnt/mylv
fi
echo “/dev/myvg/mylv /mnt/mylv xfs defaults 0 0” >> /etc/fstab
mount -a
df -Th
;;
*)
echo “你的输入有误!!”
esac
七、将一块硬盘分区,然后分区设置为虚拟卷
! /bin/bash
Function:新建一个分区,并做成逻辑卷
cat /proc/partitions > old
read -p “请输入你要分区的硬盘(写绝对路径,如:/dev/sda):” A
if [ -e $A ];then echo “true” else echo “该设备不存在!!” exit fi read -p “请输入你要创建的磁盘分区类型(这里只能是主分区,默认按回车即可):” B read -p “请输入分区数字,范围1-4,默认从1开始,默认按回车即可:” C read -p “请输入扇区起始表号,默认按回车即可:” D read -p “请输入你要分区的分区大小(格式:如 +5G ):” E read -p “请输入你要划分为逻辑卷的分区盘符(默认回车即可):” Z fdisk$A << EOF
n
p
$C $D
$E t $Z
8e
p
w
EOF
echo “一个标准LVM的分区已经建立好!!”
partprobe $A echo “——————————-” cat /proc/partitions cat /proc/partitions > new F=`diff new old | grep “<” | awk ‘{print$5}’ echo "-------------------------------" echo $F pvcreate /dev/$F echo "该硬盘已做成物理卷!" n=vgs | grep myvg |wc -l if [ $n -eq 0 ];then vgcreate myvg /dev/$F echo "该物理卷已加入卷组myvg中" else vgextend myvg /dev/$F echo "该物理卷已加入卷组myvg中" vgs free=vgs| awk ‘$1~/myvg/{print}’|awk ‘{print$7}’ echo "该卷组剩余的空间大小为:$free " lvs exit fi vgs free=vgs| awk ‘$1~/myvg/{print}’|awk ‘{print$6}’ echo "该卷组剩余的空间大小为:$free " read -p "请输入你要创建逻辑卷的大小(如:1G):" repy2 lvcreate -L $repy2 -n mylv myvg echo "已成功创建逻辑卷mylv" echo "------------------------" lvs echo "------------------------" echo "你想对新分区设定什么类型的文件系统?有以下选项:" echo "A:ext4文件系统" echo "B:xfs文件系统" read -p "请输入你的选择:" G case $G in a|A) mkfs.ext4 /dev/myvg/mylv echo "该分区将被挂载在 "/mnt/$F" 下" m=ls /mnt/|grep $F | wc -l` if [$m -eq 0 ];then
mkdir /mnt/$F fi echo “/dev/myvg/mylv /mnt/$F ext4 defaults 0 0” >> /etc/fstab
mount -a
df -Th
;;
b|B)
mkfs.xfs -f /dev/myvg/mylv
echo “该分区将被挂载在 “/mnt/$F” 下” m=`ls /mnt/|grep$F | wc -l`
if [ $m -eq 0 ];then mkdir /mnt/$F
fi
echo “/dev/myvg/mylv /mnt/$F xfs defaults 0 0” >> /etc/fstab
mount -a
df -Th
;;
*)
echo “你的输入有误!!”
esac
VMware Workstation 17.x Pro版永久激活密钥
|
VMware Workstation 17.x Pro版永久激活密钥 [批量许可证] |
VMware vSphere ESXi Enterprise Plus SN
VMware vSphere ESXi Enterprise Plus
JJ2WR-25L9P-H71A8-6J20P-C0K3F
HN2X0-0DH5M-M78Q1-780HH-CN214
JH09A-2YL84-M7EC8-FL0K2-3N2J2
VMware vCenter Standard
104HH-D4343-07879-MV08K-2D2H2
410NA-DW28H-H74K1-ZK882-948L4
406DK-FWHEH-075K8-XAC06-0JH08
VMware VSAN Enterprise Plus
HN0D8-AAJ1Q-07D00-6U924-CX224
50008-221DH-M7E99-A9CKM-A1030
HN0NH-62051-H75E9-P38RM-0H870
VMware vSphere Enterprise Plus with Add-on for Kubernetes
J1608-4GJEQ-071L8-9VA0H-2MUK6
M10DH-8YL47-474L1-DV3U0-8H054
MM4MR-2G005-H7039-JVCAP-2RAL8
