NixNative
NixNative — это набор библиотек, предоставляющих доступ к нативным функциям операционной системы Linux с помощью .NET. Библиотеки позволяют использовать низкоуровневые функции и интерфейсы ОС для работы с файлами, правами доступа, системными вызовами и многим другим.
Особенности
- Доступ к нативным функциям Linux: Набор PInvoke-объявлений для взаимодействия с API
libc
и других системных библиотек. - Поддержка работы с файлами и правами доступа: Получение информации о файлах, манипуляция правами доступа, проверка специального доступа (SUID, SGID, Sticky бит).
- Системные вызовы: Работа с процессами, сигналами, памятью и другими системными ресурсами.
- Совместимость с .NET: Поддержка .NET Core и .NET 8 на Linux.
Быстрый старт
Получение информации о файле
using NixNative.Generic.FilePermissions;
string filename = "/etc/fstab";
FilePermissionsInfo info = Permissions.GetFilePermissions(filename);
Console.WriteLine($"File: {filename}");
Console.WriteLine($"Type: {info.FileType}");
Console.WriteLine($"Size: {info.Size} bytes");
Console.WriteLine($"User: {info.UserId} - {info.User}");
Console.WriteLine($"Group: {info.GroupId} - {info.Group}");
Console.WriteLine($"Permissions: {info.UserPermissions} {info.GroupPermissions} {info.OtherPermissions}");
Проверка прав доступа
if (info.UserPermissions.HasFlag(FileBitPermissions.Write))
{
Console.WriteLine("У пользователя есть право на запись.");
}
Лицензия
Этот проект лицензирован по лицензии Apache License 2.0 — подробнее см. файл LICENSE.
Описание
Набор библиотек, позволяющих работать с нативными функциями в unix системах.