自动化部署网站所需的权限设置

首先为网站内容目录设置权限:

1
2
3
4
5
6
7
usermod -a -G www-data operator
chown -R www-data:www-data /var/html/htdocs
chmod -R o-x /var/html/htdocs
chmod /var/html/htdocs -type d -exec chmod g+s {} \;
setfacl -d -R -m u::rwx /var/html/htdocs
setfacl -d -R -m g::rwx /var/html/htdocs
setfacl -d -R -m o::--- /var/html/htdocs

operator 加入 www-data 组使其有权限部署网站内容。

设置组的 setgid 标志位,可以确保子文件夹写入或修改后,依然属于 www-data 组。值得注意的是,Linux 会忽略文件夹的 setuid 标志位。

最后用 ACL 修改 umask。使用 ACL 修改的原因是,ACL 对 umask 的修改可以持久化。

同理,为 Nginx 配置目录设置权限:

1
2
3
4
5
6
7
8
useradd  webmaster
usermod -a -G webmaster operator
chown -R webmaster:webmaster /etc/nginx/sites
chmod -R o-x /etc/nginx/sites
chmod /etc/nginx/sites -type d -exec chmod g+s {} \;
setfacl -d -R -m u::rwx /var/html/htdocs
setfacl -d -R -m g::rwx /var/html/htdocs
setfacl -d -R -m o::--- /var/html/htdocs

最后,允许 webmaster 通过 sudo 重启 Nginx:

1
echo "%webmaster ALL= NOPASSWD: /usr/bin/systemctl restart nginx" >> /etc/sudoers

纯净 QQ 配置指南

开发者和用户之间似乎总存在一个矛盾:用户想要稳定的体验和更多的功能;而开发者会倾向于快速迭代、大刀阔斧地砍掉过时的东西。对于有 KPI 的厂商来说,科技以换皮为本,但稳定的 UI 却是一个成熟的产品应该做的。

用户并不懂编程,从而“委托”开发者编程。从这个角度看,或许这也是一种委托代理关系,便势必会存在委托代理成本。

或许用着“怀旧版哔哩哔哩”、“老版 QQ”甚至 Windows 7 的我们,并不应该嘲笑 大连车务段人人都是高手。他们和我们一样,只是想日复一日用着相同且稳定的软件、不希望被突如其来的更新打扰而已。但 Google、Microsoft 和国内的 BAT 这样的互联网公司,却以一种傲慢的态度告诉我们,他们想要的“先进”、“安全”才是用户想要的。

反思自己,作为开发者的我,其实也鲜有考虑过用户的感受。大刀阔斧地重构,频繁的 API 变动,只顾自己开发的时候爽,说到底我也是个双标的人吧。

上面这些絮絮叨叨的浅薄之见,也是我近几天折腾的思考。就在前几天,Play 版的 QQ 无法打开“收藏”了。再往前一点,最后一个有抽屉的 Play 版哔哩哔哩客户端 4.2.2 也无法正常查看评论了。那能怎么办呢,既然无法抛弃,那就更新呗。但是净化是必须净化的,不折腾就不舒服。

下面提供了了一份纯净 QQ 配置指南,请读者根据实际情况自行调整。

阅读更多

关于中文 VOCALOID 圈子与计算机科学相关的一点思考

我有交集的虚拟歌姬爱好者,多是懂一点计算机科学知识的。圈子里知名的创作者,也不乏计算机科班出身。平时打趣说天依粉人均半个计科人,事实却不尽然。盖此为 Cognitive Bias (认知偏误) 矣。

遗憾的是,由于计算机知识的不足,一些创作者的优秀作品并未获得最佳展现效果。更遗憾的是,不少人认为这些计算机知识是完全没有必要的。

有的 UP 主对于音视频编码一窍不通,使用了错误的导出设置。或是盲目的追求“高音质”、弄出短短几分钟就以 GB 计数的音频文件;或是制作精良的 PV 上传到视频平台就清晰度骤降、无法达到想要的效果。在我我与他们交谈的时候,我也尽可能地去帮助他们。

今年得益于平台和官方的支持,“虚拟歌姬”的贺岁活动井喷式地爆发,自是一件值得欣喜之事。然而一些活动企划在技术上出了纰漏。尽管这并未影响圈子的热情,却也存在改进的空间。

在与其中一位企划主策交谈时,我尝试提出一些技术上的方案,他表示“我们目前的方法就足够了”、“引入新技术太麻烦了”。我理解主策有着自己的考量,需要对整个企划负责。但是那一刻我的感觉,和那些体制内单位领导诘问“你用技术做出了一些改进,但是出了问题谁负责”的情景无不相似。并非要指责这位主策,或许是我有些多愁善了,在那一刻真的感到些许寒心。在VC圈这样一个有着梦想和热忱的地方,确实也是我始料未及的。

在中文虚拟歌姬爱好者群体中,我遇到了那么多技术高超、又有一颗热心肠想要为圈子做点贡献的人。我想,人们到底为什么不理解计算机科学呢?或许是不经意的忽视,抑或是人们对未知的本能抗拒?技术,这里指的信息技术,虽然在虚拟歌姬圈内并不是十分重要,但也绝不是可有可无的。我真心的希望每一个有技术、有厨力、有热情的人们,可以伸出手去帮助那些朋友们;也希望这些朋友们以开放、友好、包容的姿态接受这些帮助。希望圈内的每一个创作者、策划者和粉丝,都能从技术中受益。

欧洲卡车模拟 2 挂车涂装模组模板

欧洲卡车模拟 2 的涂装制作并不难,但是有不少繁琐的工作。各种资源和说明,也比较难找。因此我做了一个可开箱即用的模板,并使用 Python 脚本自动化一些工作。

模板开源在 GitHub 上。但是需要注意部分内容并非是开源的。

请在制作模组时,注意相关版权、商标权、专利权的规定。

除了 assets/SCS 文件夹的内容,是由 SCS Software 所著并授权模组创作者使用外,其他文件均为本人所著。

详细的介绍和使用方法,可用参见 GitHub 中项目的说明。