Linux SSH登录/密码错误邮件提醒

想给服务器加一个功能,每当有人SSH成功登录都给管理员发封邮件作为提醒。 同时若有人暴力破解密码达到一定次数封禁对方IP数小时并且同时也发邮件提醒。 服务器发邮件用到了sendmail包: sudo apt install sendmail 首先检查OpenSSH是否开启了PAM,检查”/etc/ssh/sshd_config” 看下UsePAM是否非yes并且未被注释掉,我的服务器默认是正确的 然后创建一个login-notify.sh文件,我放在了/etc/ssh/,填入下边内容: #!/bin/sh # Change these two lines: sender=”” recepient=”” if [ “$PAM_TYPE” != “close_session” ]; then host=”`hostname`” subject=”SSH Login: $PAM_USER from $PAM_RHOST on $host” # Message to send, e.g. the current environment variables. message=”`env`” echo “$message” | sendmail -r “$sender” -s “$subject” “$recepient” fi 其中sender和recepient为发件用的地址和收件邮箱, 根据需求更改 …

Linux SSH登录/密码错误邮件提醒 Read More »

MySQL8 创建新用户 改密码

最近新配置了一台新服务器用于生产环境,为了使整个系统生命周期长一些,我在配置环境时候安装的都是最新版的稳定系统/软件,比如操作系统选的Debian10, PHP和MySQL选的都是版本8。在安装MySQL时候遇到了之前类似的问题,就是默认root用户不知为何在预配置阶段密码设置无效,在安装后经过测试是空密码。我之前在5.7时候由于遇到过root账户不能远程登录的问题,当时记录了一些解决方法,可是其中的某些步骤提示语法错误,经过查询得知在MySQL8之后之前设置密码的语法已经被淘汰了,现在给空root账户设置密码步骤如下: 首先通过如下命令用root用户名和空密码登录数据库: sudo mysql -u root 然后通过下边命令给root账户修改密码: use mysql; ALTER USER ‘root’@’localhost’ IDENTIFIED WITH caching_sha2_password BY ‘yourpasswd’; flush privileges; exit; 命令成功执行后可以查看一下是否可以用新密码登陆: sudo mysql -u root -p 理论上现在已经可以通过sudo结合root用户名和密码在BASH里边登录数据库了。当时此时root账户可能不能通过phpMyAdmin或者外部工具登录(修正:这是由于root 用户使用 unix_socket 身份验证插件,只有在以系统 root 身份调用 mysql 命令或将 sudo 添加到命令时,才能以 root 身份连接到数据库,如果验证插件是其他比如我现在的Caching sha2 authentication,也是可以在phpmyadmin使用root登录的),这是从MySQL 5.7开始的安全策略原因,详细介绍以及解决方案可以看刚刚提到的那篇博文记录。 另外 Debian 10 的默认软件源中并不包含 MySQL 软件包,它已被 MariaDB 替代。我这次安装参考了不少教程,列在这里以表感谢:   Reference: https://blog.shuspieler.com/1090/ https://www.digitalocean.com/community/tutorials/how-to-install-the-latest-mysql-on-debian-10 https://www.jianshu.com/p/59a9bcc136c2 …

MySQL8 创建新用户 改密码 Read More »

清理磁盘留名

我的本地磁盘空间捉襟见肘,同步的OneDrive也是有1T的空间限制,这个周末我导入一些照片到电脑上都提示空间不足,于是下决心删除一些目测永远不再用到的文件。为了证明这些软件、文档曾经在我的生活中出现过,于是我决定写个帖子,将我删掉的文件名称记录在这里,当作存在的记忆。 Wifi_Loc 大约32G的磁盘克隆备份。 托福TPO的软件,我应该也不会考托福了吧。 Wireshark,将近十年前的备份,现在更新很多版,之后需要用到直接去官网下载最新就好了。 Mac装黑苹果的文件,也是将近十年前的备份了,留着意义不大。 Mathcard 没打开过 Mathematica 没打开过 Matlab多个版本 Office 2010和2013 PDF to Word工具,也应该用不到了 PowerDirector V9 威力导演 snagit 没记错的话是个截图工具 uTorrent Visual Studio 2008 VMware Winrar 树莓派烧录软件,也是很多年前的了,以后需要直接去官网下载最新的 精灵虚拟光驱 违禁词软件 Ghost Minitool分区工具 DiskGenius hp laserjer 1020 win7 32位 64位 驱动 FlashFXP 双系统修复 河南网通账号计算器 HD Tune, AS SD Benchmark Recovery360 Adobe 全家桶。现在买了正版了,好贵。。。 Altium Designer C32Asm Office …

清理磁盘留名 Read More »

流氓域名服务商

帮同学管理一些域名,有一个是同学在一家小域名服务商购买的,他们网站使用极其不方便,想转移出来到我喜欢用的服务商。之前听说过有很多域名服务商很流氓,我用过很多家也遇到过一些行为增加各种难度不让用户转出,可是我真的第一次见这么流氓的,全官网找不到任何转出域名的按钮以及帮助文档介绍。用关键词搜索全网站唯一域名转移的帮助贴是教导用户怎样将其他服务商的域名转移到他家。无奈只能求助客服,于是我收到如下操作步骤: 域名转出第一步:域名转移需要你的会员已实名及手机邮箱认证完成60天后才能提交,需通过万维网会员实名,实名步骤-登录会员中心,右侧-认证状态中上传会员实名资料,并操作email绑定及手机认证,待三者都通过60天后,登录会员中心,提交有问必答,我要提问,说明具体域名申请转出。通过后,请到会员中心-产品管理-域名管理,点击具体域名右边的转出链接,下载申请书,谢谢! 域名转出第二步,快递证明材料到我司: 1.提供由会员注册者及域名持有人共同签章(个人请亲笔签名,组织请加盖公章)的《域名转出万维网的申请表》(第一步下载的申请表); 2.域名持有人证明:个人则提供亲笔签名的身份证正反面复印件(注册者为个人请补充提供手持身份证照片到);组织则提供加盖公章的单位证件(营业执照或其他)复印件和联系人身份证正反面复印件,注意在上面注明用途“仅作为****域名*年*月*日转出的凭证”; 3.经办人亲笔签名的身份证正反面复印件; 4.会员注册者证明:如是个人则提供亲笔签名的身份证正反面复印件(注册者为个人请补充提供手持身份证照片到);如是组织则提供加盖公章的单位证件(营业执照或其他)复印件,注意在上面注明用途“仅作为****域名*年*月*日转出的凭证”; 5.所有资料需邮寄到我司,我司收到资料审核无误后我司尽快帮您办理。 注意:1、域名新注60天内不可转移; 2、域名续费60天内不能办理转移; 3、国际域名距离到期不满60天不能转,国内域名不满15天不能转移; 4、办理过转移、修正及过户的域名24个内不能转   他们网站有个按钮叫做过户,一开始我以为就是转移只是他们叫法不同,后来看了客服才知道那个按钮应该是他们站内的换绑。如果我失误点错点击了那个按钮,那么按照他们的要求我2年内都别想再转出他们家了,期间还得给他们续费。没错我说的这家我遇到的最流氓的域名服务商叫做中国万维网。

服务器被暴力扫描

服务器的SSH服务由于远程配置的原因,需要暴露在公网。虽然使用了一系列安全措施比如关闭root登录,普通权限与超级管理员权限分离,更改端口以及使用第三方工具比如强力爆破,可是看sshd的log每天依旧有数不清的登陆尝试,Fail2Ban也在孜孜不倦地一直将这些IP拉黑。昨天看到Fail2Ban可以开通邮件提醒功能,于是配置了一下,没想到邮件雪花片就飞了过来,基本上每分钟都有被ban掉的IP,一晚上竟然收到了一千多封邮件,并且早晨早早的,由于手机勿扰模式天亮就自动关闭了,邮件提示音把我吵死了。 另外看邮件日志,IP来源于世界各地,应该就是被黑客攻破的肉鸡,我之前维护的一台DigitalOcean也被黑过,DO给我发邮件说我abuse应该是我在那台服务器的Wordpress没有及时升级被利用漏洞了。从日志还有一个很严峻的发现是来之中国大陆或者中国服务商的攻击特别特别多,IP将近一半来自中国大陆或者阿里云腾讯云等在大陆外的服务器。这反映了国内互联网服务运营人员对于系统安全的意识是多么的薄弱,有这么多服务器带病运行,不经被黑客当多肉鸡攻击其他的设备,同时运行在这些服务器上的服务也被黑客一览无余,那里边的用户数据的安全性更是无从谈起。 随便摘几个日志过来,首先是中国移动的端口,感觉黑客控制可一个网段,来自这个地址以及相似地址的特别多,不排除运营商的机房已经被黑客控制的可能: Hi, The IP 221.181.xxx.xxx has just been banned by Fail2Ban after 5 attempts against sshd. Here is more information about 221.181.xxx.xxx : % [whois.apnic.net] % Whois data copyright terms http://www.apnic.net/db/dbcopyright.html % Information related to ‘221.176.0.0 – 221.183.255.255’ % Abuse contact for ‘221.176.0.0 – 221.183.255.255’ is ‘’ inetnum: 221.176.0.0 – 221.183.255.255 netname: CMNET …

服务器被暴力扫描 Read More »

Base64浅加密

看一些帖子,部分网友需要公开一些信息比如一个网址或者自己邮箱,可是又怕被爬虫给爬走造成信息泄露,或者是想增加一些门槛让路人无法理解而通道中人能看懂。于是不少人选择了Base64编码,这个咋一看是乱码,路人可能就走开了,而感兴趣的人可能会尝试下解码。我把这个过程自己起了个名字叫做浅加密。这里有个例子:   这个小站服务邮箱是: 通过Base64编码变成了: YmxvZ0BzaHVzcGllbGVyLmNvbQ==   很像随机乱码,可是使用工具可以还原出我原本邮箱地址。 Base64之外,还有Base32, Base128等等等,但是多数人约定熟成使用Base64。当小伙伴之后遇到类似上文的乱码,并且想知道写的是写啥的话,可以试下Base64解密。之前用过一些网友制作的在线编解码网站,可是由于是个人制作,有自己提交的信息被泄露的嫌疑。在这里提供一个老外的Base64在线编解码网站,虽然也有信息泄露嫌疑,可是这个网址流量较大,且是老外的,相比网友个人网站,心理作用可能稍微放心一丢丢吧。 https://www.base64decode.org/

iOS 14 连不上 Apple Watch

之前将手机升级到 iOS14 Beta,于是华丽丽连不上不能和我的苹果手表配对了。我以为是Beta版本的bug,于是将Beta证书卸载,等了好久等到了iOS 14正式版,试了iOS 14.01以及 14.1 可是我的问题依旧,依然在配对时候提示手表需要软件升级,但是报错说我没有网络链接。我尝试过重置手表,试过在iCloud里边解除绑定,试了重置手机网络链接,但是逐一失败了。我甚至还去了苹果店,万万没想到的是,唯一的一起去售后,真是差劲到极致的一次体验。我将我得经历记录在另外一篇日志中:一次极其糟糕的Apple Store苹果售后体验 。 刚开始我从网上查资料,查到很多和我相同情况的同学,可是唯一的解决办法是找一个iOS 13的设备,先将苹果手表升级,然后再配对到使用iOS 14的设备上。可是啊,我哪有iOS 13的设备,这明明是系统的bug,可是苹果为啥还不修复。自从上次在苹果店被恶心到了,很久不想再处理这个事情,我的手表扔那儿很久不想去管。     今天闲来无事网上查了查,在苹果开发者论坛终于看到有人讨论并且给出了切实可行的iOS14 配对苹果手表的方案。我将步骤简单总结在这里,希望遇到和我一样境遇的同学,可以参考一下。 这个问题是手表不支持5G Wifi造成的,现在多数路由器是5G信号或者5G与2.4G合并,而iOS14这个bug简直愚蠢到,因为手机自动连接了5G的Wifi,而手表没这个模块,于是冲突了。所以第一步是将打开路由器设置,将5G模式关闭,只保留2.4G信号,尤其那种信号融合的,更的再三确认,只有2.4G而没有5G,不然当同一个SSID时候,iPhone优先连接5G。 手表按住关机键还是皇冠键,我忘了,点击重置,需要一定时间。 到iPhone设置==>通用==>还原==>还原网络设置(注意,此操作会移除所有VPN设置,以及储存的连接过的Wifi密码) 重新连接2.4G Wifi,需要输入密码 手机接近手表,提示连接,根据提示连接。第一次可能失败,需要点取消再点击还原手表设置。 需要一定时间,然后手表显示画面是配对画面,而手机软件显示可以新给自己配对。 现在正常流程配对,终于不再软件更新报无网络连接的错误了。 下载特别慢,等了三四个小时吧,还没下载完,太困了就去睡了,第二天早晨看已经下载好。之后安装又一个小时左右,不过最终,终于回来了。   Reference: https://developer.apple.com/forums/thread/652021?login=true&page=1#643193022

外星人 Alienware Area-51m 设置和规格

最近我的电脑有 Type-C 接口的问题,于是查了很多资料也联系了客服。期间看到了戴尔官方关于这个型号的pdf用户手册。我的电脑计划服役10年,就像之前买家用电器要将说明书电路图放好一样,官方文档也有必要留存一份。不知道存那儿好,又由于是公开的资料,所以就放在这里吧,说不定其他人也需要,正好可以很方便看一看。

中秋快乐

  今年的中秋节和国庆节同一天,据说在21世纪一共只出现4次,上一次是2001年,另外两次是2031年和2077年。 可能是国内超长假期,也可能是人们真的憋坏了,我从朋友圈感受,今年假期热闹程度,远超之前那些年给我的印象。今年由于疫情的影响,上几次的长假大家都多多少少有所顾忌,这都压抑了快一年了,现在中秋,阖家团圆的日子,又是国庆,金秋送爽最舒服的时节,大家真的是需要释放一下。 而对于我,除了被节日气氛带动的也是难得的高兴除外,另外一个让我开心好久的事情就是我的超长倒计时,今天终于少于了365天。我的倒计时,现在剩下一年了。 在这边毕业后我坚持要拧巴着在这边地道的公司工作一段时间,因为一方面我知道我不会长期生活在这里,另外一方面这边公司环境以及文化与国内太不同了,对于我体验型人格,我一定要自己试一试,不然我不能疏解我的遗憾。 而做任何事情都有代价,而我自己这最后的拧巴更甚,就像是黎明前的黑暗,同样的一秒,却感觉无比漫长。我的这个倒计时从我还没入职就有了,当时承诺给自己的海外工作体会,一定要坚持够24个月也就是两年。只为了自己那心中忽明忽暗现但现在也搞不清楚哪个方向的一点光。我记得刚开始的时候数字实在太大,过一两个月都感觉不到时间的变化。一开始是按照月份来倒计时的,从0/24, 到1/24,再到现在的13/24,终于到了下半程。有时候心里状态也是很神奇,当跨过了50%,虽说刚刚过半,但是心里状态感觉就要快结束似得,感觉要逐渐准备一下收尾。 我特别讨厌这边的生活吗?也不是的,不然的话,我也不会拧巴着一定要留下来工作。今天看到一个《武林外传》的截图我更加清晰地认知了我的这种状态,虽然我一直对于我的选择允许遗憾但是不从后悔,因为我很清楚每做一个决断都是有着当下环境的限制,我们都是在已有认知体系下做出我们认为最好的选择,而不能在之后回过头来以上帝视角来评判之前的瞬间。所以我对于我认定的事情不存在后悔这一说,可个体是感性的而非绝对理性,有那么一段时间了,我对于过去的很多的决断,有着深深的自我怀疑。虽然道理都懂,但是依旧受控于情绪深深地不确定性。今天的《武林外传》截图在我当下的状态对我特别的治愈,我甚至晚上特地翻出来又重新看了一遍第40集。我们真的是每个人都困在自己独一无二的围城,一方面觉得好像别人的比自己的好,另外一方面即使自己坚定着自己的选择,也会在某个瞬间会闪过另外一个选择是不是更优。那个瞬间之隐蔽,就像真的自己的思绪真能够骗过自己,当作什么都没发生一样。不过呢我现在也慢慢开始明白了要与自己和解,这可能是最近一年很是巨大的一个收获。我拧巴着过着自己想要体验的生活,却时常又在深深自我怀疑中不能自拔,最终的结果就是我的生活真的好累,就像是人们所说走得太远而忘了为何出发,我把我当下的生活都搞丢了。“幻境再美终是梦,珍惜眼前始为真。“ 当电视剧背景音乐邓丽君《但愿人长久》响起时看到这句赋诗,就像是猛然惊醒一样,我需要再次与自己和解了。 今天倒计时日历给的标语是当你累的时候,学会休息,而不是放弃。放弃这个词在我这里肯定是没有的,但是前半句我很赞同要学会休息。今天中秋佳节祝自己节日快乐了,也搞不清楚这到底是第几个出门在外过的中秋节,虽然知道这肯定不是最后一个,但是我要尽量让之后的数量不要多。 就用《武林外传》他们中秋节的对白,结束我的这次记录的心情: 我想对大家说 即使没有那些如果 我的生活 也很充实很快乐 生活在有很多的不如意 如果一不开心,就寄希望于如果当初 那你永远都不会开心 幻境再美终是梦 珍惜眼前始为真 莫使金樽空对月 举杯幸会有缘人 ♥

Shopify 配合Langify给每个增加“添加到购物车”按钮

这篇用来记录一个细节,是我一个月前给一个Shopify网站给每个商品添加一个“Add to cart” 按钮。时隔几天过然现在很多细节我想不起来了,甚至我都找不到当时参考的一篇论坛的文章。不过我记得在跟着论坛文章弄好后,由于我帮忙管理的网站使用了Langify实现双语页面,而Shopify给的教程是适用于默认单语言。于是在网站选择了第二语言后,由于网站路径后边多了/zh-cn/于是“Add to Cart”按钮的动态效果就失效了。 如果遇到这个问题的朋友,一定会在官方论坛指导下去Github下载一段他们的JS代码,其中为了让代码在Langify语言插件第二语言也有效,我加入一部分识别用户使用语言的代码。简单来讲就是获取用户当前rul,然后通过“/”分割取出网址后第一个路径名。当有Langify翻译成中文的情况下,这个第一个路径名就是‘zh-cn’。于是根据这一点判断这段脚本需要的正确的购物车地址是什么。是没有语言路径的“/cart”还是有语言路径的“/zh-cn/cart/”。 这个需求特别的小众,首先Shopify是很小众的一个领域,另外使用了Langify进行网页翻译的就少了。第三是需要在每个商品加上这么一个按钮。最后还有我是用中文写的记录,而不是说用英文发表在官方论坛。所以说这篇记录更多是写给自己备份,帮助别人的概率也是极低极低的。 <script> /** * Module to ajaxify all add to cart forms on the page. * * Copyright (c) 2015 Caroline Schnapp (11heavens.com) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ var pathname = window.location.pathname; var langCode= pathname.split(“/”); //langCode[1] console.log(langCode[1]); //var …

Shopify 配合Langify给每个增加“添加到购物车”按钮 Read More »