Skip to content

System Configuration

Parsing and serialization utilities for Linux system configuration files.

import { parseLimitsConf, serializeLimitsConf } from '@sysopkit/linux/limits';

Parser and serializer for /etc/security/limits.conf. Handles user resource limit rules with domain, type (soft/hard/-), item, and value fields.

const entries = parseLimitsConf(`* soft nofile 65535
* hard nofile 65535`);
// [{ domain: '*', limitType: 'soft', item: 'nofile', value: '65535' },
// { domain: '*', limitType: 'hard', item: 'nofile', value: '65535' }]

Parses limits.conf content into structured LimitsEntry[].

Serializes LimitsEntry[] into limits.conf format.

import { parseSysctlConf, serializeSysctlConf } from '@sysopkit/linux/sysctl';

Parser and serializer for sysctl.conf kernel parameter configuration.

const conf = parseSysctlConf('net.ipv4.ip_forward = 1\nnet.core.somaxconn = 65535');
// { 'net.ipv4.ip_forward': '1', 'net.core.somaxconn': '65535' }

Parses sysctl.conf content into key-value pairs.

Serializes key-value pairs into sysctl.conf format.

import { serializeSudoersConf } from '@sysopkit/linux/sudoers';

Serializer for /etc/sudoers rule files.

const content = serializeSudoersConf([
{
user: '%wheel',
hosts: ['ALL'],
runas: 'ALL',
commands: ['ALL'],
nopasswd: true,
},
]);
// '%wheel ALL = (ALL) NOPASSWD: ALL\n'

Serializes SudoersConf rules into sudoers file format.