以下修改都会因为系统的升级而需要再次重新设置。

sudo使用指纹登录替代密码

sudo vim /etc/pam.d/sudo,在第一行插入下面的内容后 wq! 强制保存。

auth       sufficient     pam_tid.so

关闭ssh的SendEnv配置

编辑 /etc/ssh/ssh_config 文件,注释 #SendEnv LANG LC_*这一行,这样就不会把 macOS 里用的语言配置在你用 ssh 登录的远程电脑上也设置上,因为你在 macOS 用的语言远程机不一定有,这容易造成远程机使用 vim 编辑中文时乱码。


我把上面的两项功能优化写了个小脚本,可以让你在更新系统后执行下这个脚本就可以了,因为需要 root 权限所以也只能手动执行。命名为 init-sys.sh 放到 /usr/local/bin/ 下面就好。

#!/bin/zsh

if [[ "$EUID" != 0 ]]; then
  echo -e "\033[31m权限不足,请以 root 权限运行!\033[0;39m"
  exit 1
fi


# 让 sudo 时指纹代替密码
if [ -z "$(grep 'pam_tid.so' /etc/pam.d/sudo)" ]; then
  sed -i '1a auth       sufficient     pam_tid.so' /etc/pam.d/sudo
fi

# 注释SSH添加的ENV
if [[ "$(tail -2 /etc/ssh/ssh_config)" =~ ^[^#] ]]; then
  sudo sed -i '54,55s|^|#|' /etc/ssh/ssh_config
fi
# 允许安装任意来源App
sudo spctl --master-disable

最后一项的安装任意来源App,一般安装破解软件啥的都需要这个操作,我也就一起放进去了,不需要就自己注释掉。

更多好用的配置

另外一些国光大佬的配置我就不抄了,自己去他的那边文章里看。光标响应的修改我觉得真的好用!!!