0%
PowerShell with Windows Job Objects
发表于:
Windows 的 Job Objects(作业对象)允许将进程组作为一个单元进行管理。 作业对象是可访问的、安全的、可共享的对象,用于控制与其关联的进程的属性。
针对某个作业对象执行的操作会影响与该作业对象关联的所有进程。 包括如限制工作集大小和设置进程优先级,或终止与作业对象关联的所有进程等。
PowerShell Interop C#
发表于:
PowerShell 主要使用 C# 编写,其内部运行环境也是基于 .NET Framework,因此 PowerShell 与 .NET 交互十分简单。
本文给出了一个使用 PowerShell 脚本调用 C# 代码操作 Job Objects 的示例,该示例代码的功能是传入一个 Job Objects 的名称,
返回与该 Job Objects 关联的所有进程的 PID 列表。
Bash脚本示例二:巧夺天工
发表于:
摘要
本文展示在 bash 脚本中一些技巧和知识点。
ANSI-C Quoting
$'string' 形式的字符序列被视为一种特殊类型的单引号。该序列扩展为字符串,并按照 ANSI C 标准的规定替换字符串中的反斜杠转义字符。
简单说就是让 bash 知道这个字符串是转义字符,如 $'\n' 表示一个换行符,而 '\n' 仅是换行符的字面量表示。
Bash脚本示例一:操作系统版本检查
发表于:
摘要
本文提供一个检查 Linux 发行版本的 bash 脚本示例,一般用于程序对运行的操作系统版本有限制的情况下,使用引导脚本在程序启动前对操作的版本系统做检查。
检查脚本示例
| |
常见Linux系统release文件整理
Ubuntu
Ubuntu 12.04
/etc/os-release
/etc/lsb-release
Ubuntu 14.04
/etc/os-release
/etc/lsb-release
Ubuntu 22.04
/etc/os-release
| |
/etc/lsb-release
Red Hat
Red Hat 6.4
/etc/os-release
no such file
PowerShell Singleton Lock
发表于:
PowerShell 可以使用 Windows Global Event 来实现防止在同一时刻同一个脚本重复运行。
示例脚本
| |
防重也可以使用脚本名称和参数来查找该脚本是否正在运行,但此方案在脚本名称和参数唯一性(存在同名脚本)和一致性(变更了脚本名称)得不到保证, 可能存在误判的概率。
SELinux: Tag and Rule
发表于:
摘要
本文介绍了 SELinux 的标签、策略这两个核心基本概念和三种访问控制机制(TE、MLS、MCS)。
名词解释
- SELinux: 全称 Security Enhanced Linux,中文译作安全增强型 Linux。 基于最小化权限原则设计开发的 Linux 安全机制,下文将做详细介绍。
- DAC: 全称 Discretionary Access Control,中文译作自主访问控制。 用户对属于自己的资源有完全控制权限,如 UNIX 和 Windows 中的文件系统权限,其文件的所有者可以不受限的设置文件的访问权限,包括读、写和执行。
- MAC: 全称 Mandatory Access Control,中文译作强制访问控制。 在 MAC 中,系统管理员定义了资源和主体之间的访问规则,这些规则是强制性的,无法由主体自行更改。SELinux 就是一个典型的 MAC 实现。
SELinux 是什么
SELinux 是一个标签系统。每个进程、文件、目录,甚至网络端口和设备,都有一个标签,这些标签称作安全上下文 (Security Context)。 可以编写规则控制带某个标签的进程对带某个标签的的对象(如文件)的访问,这些控制规则称作 SELinux 策略。 Linux 内核强制执行这些规则,这种强制执行称作强制访问控制(MAC)。
Bash最佳实践:errexit 的例外
发表于:
Bash最佳实践:awk? awk!
发表于: