README.MD

NixNative

License Platform NuGet NuGet Downloads

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 системах.

Конвейеры
0 успешных
0 с ошибкой