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 с ошибкой