在 Mac OS X 终端里使用 Solarized 配色方案

Solarized  是目前最完整的 Terminal/Editor/IDE 配色项目,几乎覆盖所有主流操作系统(Mac OS X, Linux, Windows)、编辑器和 IDE(Vim, Emacs, Xcode, TextMate, NetBeans, Visual Studio 等),终端(iTerm2, Terminal.app, Putty 等)。类似的项目还有 Tomorrow Theme .

要在 Mac OS X 终端里舒服的使用命令行(至少)需要给3个工具配色,terminal、vim 和 ls. 首先下载 Solarized,在 solarized/osx-terminal.app-colors-solarized 下双击 Solarized Dark ansi.terminal 和 Solarized Light ansi.terminal 就会自动导入两种配色方案 Dark 和 Light 到 Terminal.app 里。

Vim 的配色最好和终端的配色保持一致,不然在 Terminal/iTerm2 里使用命令行 Vim 会很别扭:

$ cd solarized
$ cd vim-colors-solarized/colors
$ mkdir -p ~/.vim/colors
$ cp solarized.vim ~/.vim/colors/

$ vi ~/.vimrc
syntax enable
set background=dark
colorscheme solarized

Mac OS X 是基于 FreeBSD 的,所以一些工具 ls, top 等都是 BSD 那一套,ls 不是 GNU ls,所以即使 Terminal/iTerm2 配置了颜色,但是在 Mac 上敲入 ls 命令也不会显示高亮,可以通过安装 coreutils 来解决(brew install coreutils),不过如果对 ls 颜色不挑剔的话有个简单办法就是在 .bash_profile 里输出 CLICOLOR=1:

$ vi ~/.bash_profile
export CLICOLOR=1

鳄鱼效应

这是经济学交易技术法则之一,它的意思是:假定一只鳄鱼咬住你的脚,如果你用手去试图挣脱你的脚,鳄鱼便会同时咬住你的脚与手。你愈挣扎,就被咬住得越多。所以,万一鳄鱼咬住你的脚,你唯一的办法就是牺牲一只脚。
由于人性天生的弱点,时时不自觉地影响我们的操作,一次大亏,足以输掉前面99次的利润,所以严格遵守止损纪律便成为确保投资者在风险市场中生存的唯一法则。止损是证券投资的一项基本功。
也是美国投资界有一个有用而简单的交易法则,就是“鳄鱼法则”(Alligator Principle)。所有世界上成功的证券投资人在进入市场之前,都在反复训练对这一原则的理解程度。这源自于鳄鱼的吞噬方式:猎物愈试图挣扎,鳄鱼的收获愈多。假定一只鳄鱼咬住你的脚;它咬着你的脚并等待你挣扎。如果你用手臂试图挣脱你的脚,则它的嘴巴便同时咬你的脚与手臂。你愈挣扎,就越陷越深。所以,万一鳄鱼咬住你的脚,务必记住:你唯一生存的机会便是牺牲一只脚!
若以市场的语言表达,这项原则就是:当你知道自己犯错误时,立即了结出场!不可再找借口、期待、理由或采取其他任何动作,赶紧离场!其实,不论是股市、汇市、期权交易,其交易技巧在这一点上都是相似的。在证券市场上生存,有时需要耐心,有时需要信心,但耐心、信心不代表侥幸,不懂得止损的投资者,不就是输在侥幸心理上吗?
譬如在股市中,鳄鱼法则就是:当你发现自己的交易背离了市场的方向,必须立即止损,不得有任何延误,不得存有任何侥幸。
当你知道自己犯错时,立即了结出场!不可再找借口、期待、祷告或采取其他任何动作,赶紧离场……不可试图调整头寸、避险或其他无谓的措施,赶紧认赔出场!

windows server 2008 R2 查看远程登录日志记录 系统日志

windows server 2008 R2 事件查看器 打开方式 :计算机 右键 → 管理 → 服务器管理器 → 诊断 → 事件查看器 )

在【安全】类型的事件日志页面右侧 选择 【筛选当前日志】,在<所有事件ID>输入框中输入4648,过滤出来的即为计算机的登录信息。接下来就在登录事件中筛选远程登录的日志了。

Windows Server 2008 R2 / 2016 安全设置

防火墙入站规则、出站规则关闭所有不需要的端口

限制同时只允许一个用户登录(原会话保持不变,原用户自动断开)
Windows Server 2008 R2 [
开始--管理工具--->远程桌面服务--->远程桌面会话主机配置
在“编辑设置”里面找到“限制每个用户只能进行一个会话”,选择 是
]
Windows Server 2016 [
gpedit.msc
计算机配置-->管理模板--->windows组件--->远程桌面服务 - 远程桌面会话主机 - 连接
设置:
将远程桌面服务用户限制到单独的远程桌面服务会话:已启用
限制连接的数量:已启用,允许的RD最大连接数:1
]


修改远程登陆端口,按照路径打开,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp ,双击PortNamber,切换到十进制,默认是3389,将他修改为其他数字,比如8888,6666等等,确定。
修改端口2,按照路径,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp,修改PortNamber的值,方法同上。

关闭系统防火墙,添加上面所设置的端口到站规则、出站规则
启用防火墙
重启

“开始”/“运行”命令,在弹出的系统运行文本框中,输入“Secpol.msc”字符串命令,单击回车键后,打开对应系统的本地安全组策略控制台窗口; 
安全设置 - 本地策略 - 安全选项”,在对应“安全选项”分支下面找到目标安全组策略“帐户:重命名系统管理员帐户”
重启

禁用Guest账户

网络--属性--除IPV4外,其他协议全部关闭。【可防止大部分登录类型为3的 登录,主要通过共享文件夹、共享打印机来破解登录】

禁止ntlmssp 登录,在禁用共享文件夹、共享打印机后,查看系统日志中仍然发现有登录类型为3的登录,发现它登录的进程为NtLmSsp,可在本地策略中禁用
Secpol.msc
安全设置 - 本地策略 - 安全选项
网络安全:LAN管理器身份验证级别=仅发送NTLMv2响应。拒绝LM和NTLM(&)
网络安全:限制NTLM:传入NTLM流量:拒绝所有账户(Win 2016要改为拒绝所有域账户)
安全设置 - 本地策略 - 用户权限分配
允许通过远程桌面登陆:去掉所有组,添加当前用户名
关闭系统:只有Administrators组、其它全部删除。
拒绝通过远程桌面服务登陆:加入Guests组、IUSR_*****、IWAM_*****、NETWORK SERVICE、SQLDebugger
从网络访问此计算机:去掉所有组,添加当前用户名
安全设置 - 本地策略 - 审核策略(酌情设置)
审核策略更改:成功
审核登陆事件:成功、失败
审核对象访问:成功
审核进程追踪:成功、失败
审核目录服务访问:成功、失败
审核系统事件:成功、失败
审核账户登陆事件:成功、失败
审核账户管理:成功,失败
设置结束后,执行下面命令生效:
gpupdate /force

安装Windows Defneder (Windows Defneder包含在Desktop Experience中)
单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
在“服务器管理器”中,单击“功能”,然后在“服务器管理器”细节窗格中的“功能摘要”下,单击“添加功能”。
此时会启动“添加功能向导”。
在“功能”列表中,选择“Desktop Experience”,然后单击“安装”
在控制面板中启用Windows Defneder

本地连接 - 属性,卸载 Microsoft网络客户端、Microsoft网络的文件和打印机共享

解除Netbios和TCP/IP协议的绑定139端口:本地连接 - 属性, 双击 Internet协议版本(TCP/IPV4), 点击“属性”,“高级”—“WINS”,选择“禁用TCP/IP上的NETBIOS”

禁止默认共享:打开注册表项“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters”,在右边的窗口中新建Dword值,名称设为AutoShareServer,值设为“0”

关闭 445端口:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters,新建 Dword(32位)名称设为 SMBDeviceEnabled值设为“0”

禁用不需要的和危险的服务,以下列出服务都需要禁用:
控制面板 - 管理工具 - 服务
Distributed link tracking client 用于局域网更新连接信息
PrintSpooler 打印服务
Remote Registry 远程修改注册表
Server 计算机通过网络的文件、打印、和命名管道共享
TCP/IP NetBIOS Helper 提供TCP/IP (NetBT)服务上的NetBIOS和网络上客户端的NetBIOS名称解析的支持
Workstation 泄漏系统用户名列表 与Terminal Services Configuration 关联
Computer Browser 维护网络计算机更新 默认已经禁用
NetLogon 域控制器通道管理 默认已经手动
Remote Procedure Call (RPC) Locator RpcNs*远程过程调用 (RPC) 默认已经手动
Microsoft Search 如果有,则禁用

在运行中输入gpedit.msc回车,打开组策略编辑器
选择计算机配置-Windows设置-安全设置-本地策略-安全选项
交互式登陆:不显示最后的用户名       启用
网络访问:不允许SAM帐户的匿名枚举      启用 已经启用
网络访问:不允许SAM帐户和共享的匿名枚举   启用
网络访问:不允许储存网络身份验证的凭据   启用
(注意:如果需要开机自动启动某些程序,请将上一选项设为禁止)
网络访问:可匿名访问的共享         内容全部删除
网络访问:可匿名访问的命名管道       内容全部删除
网络访问:可远程访问的注册表路径      内容全部删除
网络访问:可远程访问的注册表路径和子路径  内容全部删除
帐户:重命名来宾帐户            这里可以更改guest帐号
帐户:重命名系统管理员帐户         这里可以更改Administrator帐号

打开防火墙,入站出站规则,所的 播放到设备、AllJoyn、网络发现、文件和打印机共享 的规则全部禁用。

禁用DCOM ("冲击波"病毒 RPC/DCOM 漏洞)
运行Dcomcnfg.exe。控制台根节点→组件服务→计算机→右键单击“我的电脑”→属性”→默认属性”→取消勾选“在这台计算机上启用分布式 COM”复选框。

控制面板 - windows 防火墙 - 更改通知设置:阻止新应用时通知我

2016 Tiworker.exe进程CPU占用率过高:
停止Windows Update(WUAUSERV)服务,注意要记得经常手动更新系统

shell 操作 MySQL

#!/bin/bash
MYSQL=`which mysql`
MYSQL_USER=root
MYSQL_PASSWORD=12345
SCRIPT_PATH=/home/li/WebDoc/backend/beanstalk-job/cli.php

read startDate < <($MYSQL addata -u$MYSQL_USER -p$MYSQL_PASSWORD -N -e "SELECT max(date) as startDate FROM ad_region_device_report")
#或者 startDate="$($MYSQL addata -u$MYSQL_USER -p$MYSQL_PASSWORD -N -e "SELECT max(date) as startDate FROM ad_region_device_report")"

if [ $startDate == "NULL" ]; then
  echo "Error"
else
  php $SCRIPT_PATH RegionDeviceReport main $startDate
fi