相关分享
Linux 文件管理之特殊权限
本文介绍了 Linux 中的特殊权限设置,包括 SUID、SGID 和 Sticky Bit。SUID 允许普通用户执行特定程序时以程序属主的权限运行;SGID 使目录中文件继承目录属组,便于共享;Sticky Bit 则限制用户删除或重命名共享目录中的文件。通过这些权限设置,用户可实现更灵活的文件与目录管理。
Linux 文件管理之默认权限 umask
本文介绍了 Linux 中的 `umask` 命令,用于设置文件和目录的默认权限。通过修改 `umask` 掩码值,可控制新建文件的权限,如将 `0022` 改为 `0002` 以调整用户组权限。文章演示了如何查看和更改 `umask`,以及如何使修改永久生效。
时隔两年,Chrome也支持round等CSS数学函数了
本文介绍了CSS中的数学函数 `round()` 的新应用,它能实现多种取整方式,如上舍、下舍、四舍五入等,用于提升样式的精确控制。特别是在字体大小、动画步阶和响应式设计中,`round()` 可防止小数值带来的渲染偏差,使界面更一致。这一函数现已在Chrome中支持,为开发者提供了更灵活的布局工具。
OpenCV 模糊处理图片中包含的二维码
之前在某电商 App 上浏览商品评论区时,发现一些晒单照片中包含的二维码被马赛克处理了,从马赛克的处理痕迹来看不像是用户手动处理的,更像是机器识别+处理的,对此我更好奇其实现原理了。
借助 ChatGPT,了解到主流的处理方式是通过 OpenCV 识别二维码的位置,并创建一个模糊图层对其覆盖。
Go 中的高速数据包处理:从 net.Dial 到 AF_XDP
最近编写了一个Go程序,向数百万个IP地址发送ICMP ping消息。显然,希望这个过程能尽可能快速高效地完成。因此,这促使我研究各种与网络栈交互和快速发送数据包的各种方法。这是一个有趣的旅程,所以在本文中,我将分享一些学习成果,并记录下来供将来参考:)你将看到,仅使用8个内核就可以达到1880万数据包/秒。这里还有一个GitHub仓库,其中包含了示例代码,可以方便地跟随学习。
通过漫游交换进行隐蔽访问的新型后门 GTPDOOR 分析
GTPDOOR 是一种基于 Linux 的恶意软件,旨在部署在邻近 GRX(GPRS 交换网络)的电信网络系统中,具有通过GTP-C(GPRS 隧道协议- 控制平面)信令消息传递 C2 流量的功能。这使得 C2 流量能够与正常流量混合,并重新利用可能对 GRX 网络开放且暴露的已允许端口。
将S端目录mount到C端文件系统中
S、C两台Linux。想在S端执行一个静态ELF,并在C端执行与之配合的程序,将S端指定目录mount到C端文件系统中,使得C端可以只读方式访问mount点。有点类似NFS的需求,但S端比较特殊,不考虑NFS Server在S端布署成功的可能。希望是一批静态ELF在S端执行,对权限控制、写操作无要求。
网上求助后,若干网友提及几种备选方案,包括但不限于sshfs、rclone、dufs。其中sshfs依赖S端sftp服务可用,目标环境S端不满足此要求,但本文记录了sshfs的常规用法。作为WebDAV服务端,dufs比rclone小巧许多,只有3.6MB。作为客户端,rclone支持多种协议,不确认dufs能否用作客户端,本文WebDAV客户端统一用rclone或Windows。本文简单演示了对权限控制、写操作的支持。
Linux上文件监控的踩坑分享
在Linux主机安全产品HIDS中,文件监控是特别常见的需求,在实现方案上,Linux内核层提供了文件变动的通知机制fsnotify,然而,在高磁盘IO的主机上、不同版本的内核上以及海量监控目标中,将会面临哪些问题呢?业务性能与安全性如何做更好地取舍均衡?今天,我的小伙伴阿松给大家分享以下文件监控系统的建设历程。
高效I/O并发处理:双缓冲和Exchanger
双缓冲(double buffering)是高效处理I/O操作的一种并发技术,它使用两个buffer,一个goroutine使用其中一个buffer进行写,而另一个goroutine使用另一个buffer进行读,然后进行交换。这样两个goroutine可能并发的执行,减少它们之间的等待和阻塞。
本文还提供了一个类似Java的java.util.concurrent.Exchanger的Go并发原语,它可以用来在两个goroutine之间交换数据,快速实现双缓冲的模式。 这个并发原语可以在github.com/smallnest/exp/sync/Exchanger找到。
Linux中使用tar压缩命令排除文件
众所周知tar命令是在Linux系统中最为常用来解压缩文件的命令之一,之前大部分时候都直接用它来压缩备份或转移的文件内容,因此也未过多关注过它在压缩时的其它可选参数使用。但最近在转移文件遇到其占用空间比较大,考虑到里面有些内容并不是必须,于是想到如何来使用tar命令参数来实现,经过多次尝试,找到了个解决办法——使用exclude-from参数,可灵活控制不需要压缩文件,然后顺手做个记录分享。
