分类 Linux 下的文章

问题现象:

挂载的ext4磁盘无法建立Steam存储库,Steam展示的分区的选项里没有,手动选择后提示目录无执行权限。(ntfs-3g以default参数挂载的NTFS磁盘确正常显示且可以建立存储库但游戏似乎无法启动?)

尝试解决

手动chmod 775后发现Steam依然输出错误
Failed system("/media/xfox/LinuxDataPart/SteamGame/.steam_exec_test.sh") in execute test: 32256

这里我不得不吐槽一下,看日志的时候发现Steam还尝试往/efi/boot等敏感分区写入测试脚本,这个问题Github早有反馈但是至今未获得解决。

在路径下执行umask发现输出权限掩码0022,那么实际权限应该是0775,随后在CTL下进入路径手动运行二进制可执行文件发现命令行提示无权限执行。也就是可执行权限实际还是没有给到,编辑/etc/fstab,挂载参数改为:exec,umask=0022 重新挂载后再次启动Steam,大功告成。

后记

第二天就无法正常启动了,只得把umask删掉,但是明明上面系统分区/boot/efi用了umask参数都没问题。难道这俩参数冲突不能混用?总之最终只写了一个exec 启动了操作系统。存储库依旧是可用的。(然而我之前试过user,exec参数就不行,很奇葩。这个问题Github也一直存在,解决方法其中就有写user,exec的,还有搞软链接的,但是归根结底并不像是用户自己的问题。)
Fuck you Steam!

知识点:

Linux 文件基本属性和八进制权限代码表示

2023-10-28T20:30:27.png
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

各权限的分数对照表如下:
读 r:4
写 w:2
执行 x:1
无权 -:0
分数之和即为权限所有者的权限等级代码,依次有所有者owner,所有者同组用户group,其他用户others 这三个权限所者,每个权限施行对象有一个数字,即前面介绍的分数之和来
rwx r-x r-x即

4+2+1 4+0+1 4+0+1
7 5 5
777-022=775 ,777,644,775这些常见权限等级设置是不是很熟悉?
0777-权限掩码=实际权限代码
umask可用来设定[权限掩码]。直接执行umask查看当前[权限掩码],[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

最近做作业为了方便交就上传到博客服务器,结果发现了这个限制。

参考文章:typecho上传文件大小限制的修改

我的博客架构是基于Debian12 运行 php7.4 Nginx mariaDB ,因此对上传文件的限制在php-fpm和Nginx上
顺便吐槽以下本校垃圾校园网,SSH都连不上我的服务器,还得我自己开流量,纯纯的垄断资本垃圾服务。

- 阅读剩余部分 -

为什么使用Podman而不是Docker?尽管Docker-CE是免费的,但是Docker属于商业公司的产品,而Podman是由社区驱动的自由软件。Podman近乎完全兼容Docker的CLI和标准Docker容器生态,对于我没有学习成本亦不造成生态割裂。此外Podman与Cockpit可通过插件完美集成,大大提高了可视化管理效率。

什么是Moments?

Moments是一个 C# 开发的博客朋友圈平台。

Moments 为你提供了一个全新的方式来与你关注的博客作者和读者互动,让你的博客体验更加丰富和充实。
我们核心目标是通过整合各种订阅源,如 RSS 和 Atom,将你感兴趣的博客转化为一个个人朋友圈。你可以订阅来自世界各地的博客,并实时获取他们的最新动态。无论是热门博客、专业博主,还是你最喜爱的作者,你都可以通过 Moments 获得他们的最新博文、评论和互动。

安装Podman

参见Podman Installation Instructions
sudo apt install podman
你可能需要对Podman进行简单的配置,参见:必要的配置

- 阅读剩余部分 -

 灵感来源是Linux.cn的每日新闻,老王叔叔做自媒体就更谨慎一些,这也是受限于相关性和正式性有些东西他一般是不会发出来的。我希望这部分信息他可能不那么方便发的信息依然有一个合适的渠道被传送给身处中国大陆,特别是不可能看到油管等外部媒体信息的普通大众。
我希望能促进真实信息的无障碍传递,尽可能的发挥中国大陆境内有限的言论自由权。
先在博客发布,然后在B站发专栏吧,毕竟看油管的也不需要看B站。后续考虑单独开个域名和站点发布相关内容。
中文名字就叫自由软件与互联网慢讯吧。
简写为FS&IT慢讯

计划使用域名:fsit.eu.org

正在申请注册

计划站点应用使用Typecho

暂定默认主题,如果有其他主题,欢迎推荐。

昨晚无意间发现的,睡前随手打开博客结果转圈然后Connect Rest/Closed,刚开始以为服务器被墙了,就顺手打开笔记本看了一眼。

开始看乐子

Ping了一下域名,正常响应了,看来没被墙,SSH服务正常登录上去Htop看了一眼,CPU占用100%,RAM倒是没什么影响。 刚开始也没在意,只当是出了点bug抽风一下,直接重启。
重启后刚开始还能打开页面,过了几秒又是Connection Rest/Closed,htop命令上php-fpm占用居高不下,想了想可能是被攻击了,稍微上点心开始看日志。
cat /var/log/nginx/access.log
日志一直刷不完,那就
tail -f /var/log/nginx/access.log
看了下,刷不完是因为后面访问记录一直在高频刷写。
这里随意摘出来一部分:

35.197.121.158 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=ce167aaf-483f-4887-b710-4fa822ef5e34&param1=4GDzirKVEe&param2=gA6vVX8eaw&timestamp=1691601014 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0"
198.23.254.212 - - [10/Aug/2023:01:10:23 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
35.197.71.216 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=7fb35c3b-a136-4223-b68a-8317ee501a07&param1=7RvcaEVkej&param2=gnVzSYROZ3&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"
34.66.111.163 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=b3f2bfc1-de55-4c22-a701-7f68052dc544&param1=vrkJ5thvM7&param2=fgIC6O2tJz&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 5.0.1; ALE-L23) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36"
198.23.254.212 - - [10/Aug/2023:01:10:24 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=d4aa11be-98fa-4750-a0eb-5d0dc5776086&param1=QtOZIkFllL&param2=QSGsDtkQ0d&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4"
35.197.121.158 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=426e4139-08f4-4f34-a37f-b71370953631&param1=IeNOGHrPqK&param2=rdtWgqRdps&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
35.197.71.216 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=0a8da378-ece3-49ee-9ec2-2236e2757c50&param1=xjEtLEFZAf&param2=fNBFJMmWv2&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.33 Safari/537.31 SmartTV/5.0"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=5418aacd-821e-4d70-8fe8-979ee757d923&param1=SRCtiYzr7m&param2=bg3Ce86SOK&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 7.0; SM-G610M Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/191.0.0.35.96;]"

稍作分析

198.23.254.212是服务器自己发出的正常请求,不过这个api我貌似早就弃用了,后续去看看主题文件是不是没删掉。
其他ip随机抓下来查了下都是美国谷歌的机房IP。UA估计也没啥真实性,都是随机出来的垃圾数据。
之前也有找朋友DDoS帮我测压,国内服务器1TB下去没买防御套餐直接就黑洞了,不过我这个国外的VPS就没那么脆弱了,目前从头到尾除了博客打不开其他服务都正常运行,因为这个服务器带宽不小亦不是按流量计费,上面也没需要100%全天运行的东西,之前就没怎么关心防DDoS/CC。

第一次遇到还是挺新奇的,群友的博客服务器之前也有遇到过访问日志一直刷的。当晚也没什么事情就在B站开了个直播和网友一起看日志刷屏,顺便一起聊聊天。有个粉丝说关注我第一次看见我开播哈哈,正好赶上当作活素材了。

睡觉之前,给NAS装上了OBS,然后在Nas上继续串流直播。
今天睡醒把这事都忘了,刚才爬起来上去看nas命令行已经停掉了,直播间有粉丝留言说攻击已经停了可以正常访问了。
报错是:client_loop: send disconnect: Broken pipe
然后看了看中断之前日志上最后一个访问的异常ip是35.197.121.158,
http访问过去,页面就一个ヾ(*ФωФ)βyё βyё☆彡,又试了试另一个ip,也是一样。

乐子结束

不知道是哪家的小孩打着玩的,本来当天晚上打算看看有没有什么防火墙工具可以处理一下,但是这点流量又没什么技术性也就没什么实质性威胁我就懒得管了,挂着直播给网友娱乐,我直接睡觉去。

韩国发现疑似室温超导(目前正在多方验证,如结果为真将载入人类史册。

虽然目前还没明确证伪,但是中科院已发声表示可能性不大。
美国公司OpenAI的大语言模型ChatGPT。
俄乌军事冲突,或者说俄罗斯和北约的实质性战争。
还有最近刷B站发现的一个项目:SoftVC VITS Singing Voice Conversion
2020年的时候字节跳动人工智能实验室发表的关于中文歌声合成系统的论文——《 A Chinese Singing Voice Synthesis System Using Duration Allocated Encoder-Decoder Acoustic Models and WaveRNN Vocoders》。这个项目就是这篇论文的一个很好的实现。
这个项目让我想起来之前一段时间看到的MockingBird
可以说是群除我佬,我很庆幸的是我还有机会作为用户成为这些开源项目的受益者。

我给各位直接放个其他用户的成果:

前两天突然出现的。

xfox@ThinkPadE14Gen3:~$ sudo apt upgrade
[sudo] xfox 的密码:正在读取软件包列表... 完成正在分析软件包的依赖关系树... 完成正在读取状态信息... 完成                 
正在计算更新... 完成升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。有 4 个软件包没有被完全安装或卸载。解压缩后会消耗 0 B 的额外空间。您希望继续执行吗? [Y/n] y
正在设置 linux-headers-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/header_postinst.d/dkms:
dkms: running auto installation service for kernel 6.1.0-10-amd64.
Sign command: /usr/lib/linux-kbuild-6.1/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j12 KERNELRELEASE=6.1.0-10-amd64 -C /lib/modules/6.1.0-10-amd64/build M=/var/lib/dkms/ntfs3/v27_20210901.lore/build...
Error!  Build of ntfs3.ko failed for: 6.1.0-10-amd64 (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/ntfs3/v27_20210901.lore/build for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.1.0-10-amd64 failed!
run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 11
Failed to process /etc/kernel/header_postinst.d at /var/lib/dpkg/info/linux-headers-6.1.0-10-amd64.postinst line 11.
dpkg: 处理软件包 linux-headers-6.1.0-10-amd64 (--configure)时出错: 已安装 linux-headers-6.1.0-10-amd64 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 linux-headers-amd64 的配置工作不能继续: linux-headers-amd64 依赖于 linux-headers-6.1.0-10-amd64 (= 6.1.37-1);然而:  软件包 linux-headers-6.1.0-10-amd64 尚未配置。
dpkg: 处理软件包 linux-headers-amd64 (--configure)时出错: 依赖关系问题 - 仍未被配置正在设置 linux-image-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/postinst.d/dkms:
dkms: running auto installation service for kernel 6.1.0-10-amd64.
Sign command: /usr/lib/linux-kbuild-6.1/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j12 KERNELRELEASE=6.1.0-10-amd64 -C /lib/modules/6.1.0-10-amd64/build M=/var/lib/dkms/ntfs3/v27_20210901.lore/build...
Error!  Build of ntfs3.ko failed for: 6.1.0-10-amd64 (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/ntfs3/v27_20210901.lore/build for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.1.0-10-amd64 failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
dpkg: 处理软件包 linux-image-6.1.0-10-amd64 (--configure)时出错: 已安装 linux-image-6.1.0-10-amd64 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 linux-image-amd64 的配置工作不能继续: linux-image-amd64 依赖于 linux-image-6.1.0-10-amd64 (= 6.1.37-1);然而:  软件包 linux-image-6.1.0-10-amd64 尚未配置。
dpkg: 处理软件包 linux-image-amd64 (--configure)时出错: 依赖关系问题 - 仍未被配置在处理时有错误发生: linux-headers-6.1.0-10-amd64
 linux-headers-amd64
 linux-image-6.1.0-10-amd64
 linux-image-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

看了看,和ntfs3内核驱动有关,我不确定这是debian12自己引入的ntfs3还是我之前瞎折腾试图编译ntfs3引入的问题。
进入目录看了看,手动编译了一下,有不少报错,我不会C也没法修。
想了想ntfs3现在对我基本上没什么用,干脆sudo rm-rf /var/lib/dkms/ntfs3/
再次执行sudo apt upgrade
问题解决。