使 Homebrew 在 root 权限下工作

Homebrew 是一个新型的,Ruby 编写的 macOS 包管理器。但是 Homebrew 的一些设计哲学使得它难以在多用户的情况下共同使用,并且存在诸多安全隐患。比如,Homebrew 会将 /usr/local 下的许多目录的所有者设定为当前执行用户,并禁止用户使用 root 权限安装包。这些设计哲学,使得 Homebrew 难以成为一个系统级的包管理器。但 MacPorts 和 Fink 相对难以令人满意,因此我们需要让 Homebrew 像其它包管理器一样,使用 root 安装包并不破坏原有的系统权限。

Homebrew 代码研读

通过监控进程我们可以发现,判定是否 root 权限的代码并不在 Ruby 中。而在 Shell 脚本里。
/usr/local/Homebrew/Library/Homebrew/brew.sh 中,我们发现了相关代码: 继续阅读 »

OpenWRT 包的编译以及更改 NAT 类型

OpenWRT 的许多定制包都没有针对自己路由器架构的二进制包,因此需要自己编译。

最近发现 OpenWRT 默认的 NAT 类型是 Symmetric NAT,而这种 NAT 不适合进行打洞穿透。遂萌生了更改 NAT 类型为 Full Cone 的念头。查了一下资料发现需要安装一个内核扩展和 iptables 扩展,很不幸作者没有针对我的路由器编译二进制包,因此我们需要手动编译。 继续阅读 »

WordPress Fancy Admin UI 粉色修改版

自从买了 iPhone SE 发现粉色是一个非常漂亮的颜色,加上我一直对 WordPress 后台的美观度不是那么满意,于是我安装了 Fancy Admin UI。虽然其蓝色的配色虽然也非常好看但是和我站点的主色系不是非常搭调,于是我制作了一个修改版。

屏幕截图:
截图 继续阅读 »