Linux 文件权限学习笔记

在 Linux 中,文件权限分为所有者、群组、其他人三种身份。 所有者:指拥有该文件/目录的用户,默认是创建该文件/目录的用户。 群组:指该文件/目录所属的群组,默认是创建该文件/目录的用户所在主要群组。群组是多个用户的集合,通过给群组赋予权限,从而使群组中的用户都拥有相应的权限。 其他人:如果一个用户既不是文件/目录的所有者,也不属于文件/目录所属的群组,那么该用户就是其他人。 在下面的例子中,可以看到当前用户是 her-cat,通过 ll 查看 /var/run/docker.sock 的文件属性。其中,第三列表示文件的所有者是 root;第四列表示文件所属的群组是的 docker;用户 her-cat 既不是所有者 root,又不在 docker 群组中,所以用户 her-cat 的对该文件来说身份是其他人。 ...

2023-10-31 · 8 分钟 · 3633 字

译|了解 Bitcask:基于日志结构的 KV 存储引擎

最近我在微信上看到了一篇介绍 rosedb 的文章,从这篇文章中,我了解到 rosedb 是一个基于 Bitcask 存储模型的 KV 存储引擎,并在此基础上做了大量了优化工作,它兼容 Redis 协议、支持丰富的数据结构和批量操作。实际上,可以将 rosedb 看作是 Go 语言版本的 Redis。 ...

2023-07-19 · 6 分钟 · 2677 字

还原 SM2 压缩公钥的几种方法

写这篇文章的起因是朋友让我帮忙解决一个与 SM2 算法加密相关的问题。由于我对 SM2 算法并不熟悉,因此在解决问题的过程中走了很多弯路,花了很多时间去了解 SM2 算法以及如何通过代码还原压缩公钥。随着越来越多的系统采用国密算法,我们在对接的时候难免会遇到类似的问题,网上关于这方面的资料也比较少,因此趁周末有空,将我发现的几种还原压缩公钥的方法记录下来,希望对你有所帮助。 ...

2023-06-19 · 4 分钟 · 1713 字

深入 Hyperf:HTTP 服务启动时发生了什么?

当我们创建 Hyperf 项目之后,只需要在终端执行 php bin/hyperf.php start 启动命令,等上几秒钟,就可以看到终端输出的 Worker 进程已启动,HTTP 服务监听在 9501 端口的日志信息。 [INFO] Worker#3 started. [INFO] Worker#1 started. [INFO] Worker#2 started. [INFO] Worker#0 started. [INFO] HTTP Server listening at 0.0.0.0:9501 打开浏览器访问 http://127.0.0.1:9501,不出意外的话,页面会显示 Hello Hyperf,说明 HTTP 服务已经在工作了。那么这是怎么做到的呢?当我们执行启动命令后,Hyperf 是如何让 HTTP 服务启动的? ...

2023-05-15 · 9 分钟 · 4090 字

一次 Hyperf 注解失效问题分析

问题环境 PHP: 8.0.13 Swoole: 4.6.2 Hyperf: 2.2.33 运行环境: Docker Desktop on WSL2 问题背景 有同事说我之前使用注解实现的某个功能有问题,具体表现就是有部分使用了注解的类没有被 Hyperf 收集到注解收集器中,导致出现了不符合预期的结果。 ...

2023-03-02 · 6 分钟 · 2587 字