Системное программирование в Linux от Роберта Лава

A

Android

Original poster
0C52435A-B2E0-4146-967A-EEFF836E2170.png

Введение:

процессы наследуют UID и GID

восьмезначные разрешения: r = 4, w = 2, x = 1. Заказ это пользователь, группа, все остальные

функции обычно просто возвращают -1, чтобы указать на ошибку

более подробную информацию можно найти в extern int errno в <errno.h>

напечатать void perror (const char * str) в <stdio.h>

пример:

if (close (fd) == −1)

perror («закрыть»);



Файловый ввод / вывод

Открытие файлов:

fd = open (<путь>, флаги)

Создайте:

fd = открыть (файл, O_WRONLY | O_CREAT | O_TRUNC, 0664);

идентично

fd = creat (имя файла, 0644);

fd of -1 указывает на ошибку

чтение:

#include <unistd.h>

ssize_t read (int fd, void * buf, size_t len);

Вызов read () может привести ко многим возможностям, чтобы прочитать все байты

ssize_t ret;

while (len! = 0 && (ret = read (fd, buf, len))! = 0) {

if (ret == −1) {

if (errno == EINTR)

Продолжить;

perror («читать»);

перерыв;

}

len - = ret;

buf + = ret;

}

неблокирующие чтения могут быть достигнуты, передав O_NONBLOCK, чтобы открыть

если чтение заблокировано, оно вернет -1 и errno будет установлено в EAGAIN

записывать:

#include <unistd.h>

запись ssize_t (int fd, const void * buf, size_t count);

вызов fsync (int ft) для синхронизации записей в хранилище

fdatasync (int fd) делает то же самое без обновленных метаданных и работает быстрее

используйте флаг O_SYNC, чтобы всегда синхронизировать

закрытие:

#include <unistd.h>

int close (int fd) `

Ищу:

#include <sys / types.h>

#include <unistd.h>

off_t lseek (int fd, off_t pos, int origin);

Вы МОЖЕТЕ искать за концом файла, он будет заполнен нулями

позиция читает и пишет, чтобы избежать расы, связанной с поиском, а затем чтением

#define _XOPEN_SOURCE 500

#include <unistd.h>

ssize_t pread (int fd, void * buf, size_t count, off_t pos);

ssize_t pwrite (int fd, const void * buf, size_t count, off_t pos);

Мультиплексный ввод-вывод



poll () проще в использовании, чем select ()

оба ждут набора дескрипторов открытых файлов и возвращаются, когда они доступны

пример опроса

#include <stdio.h>

#include <poll.h>

#include <unistd.h>



int main (int argc, char ** argv)

{

struct pollfd fds [2];

fds [0] .fd = STDIN_FILENO;

fds [0] .events = POLLIN;



fds [1] .fd = STDOUT_FILENO;

fds [1] .events = POLLOUT;



int err = poll (fds, (nfds_t) 2, 0);

if (err == -1) {

PError ( "опрос");

возврат -1;

}



if (fds [0] .revents & POLLIN) {

printf ("STDIN готов \ n");

}

if (fds [1] .revents & POLLOUT) {

printf ("STDOUT ready \ n");

}



вернуть 0;

}

VFS предоставляет унифицированный интерфейс на основе блоков и inode для всех файловых систем.

Кэш страницы содержит извлеченную информацию, включая заголовки.
 
Название темы
Автор Заголовок Раздел Ответы Дата
G Команда разработчиков - php, python, веб дизайн, программирование Ищу работу. Предлагаю свои услуги. 0
R Не изучай синтаксис, изучай псевдокод и программирование! *Python* Другие ЯП 3
Emilio_Gaviriya Статья Уязвимости в ядре Linux и привилегии через nf_tables и ksmbd. Анонимность и приватность 0
El_IRBIS Интересно Вредоносный код в дистрибутивах Linux: Понимание угрозы и меры безопасности. Вирусология 0
Support81 10 из 10: В Linux обнаружен встроенный бэкдор (CVE-2024-3094) Новости в сети 0
DOMINUS Проверено Защищенные криптованные смартфоны, ноутбуки, флеш-карты и SSD-диски на базе ОС Linux: обеспечение анонимности и безопасности в интернете Все что не подошло по разделу 2
semsvm Интересно Пассивный заработок от 2$+ в сутки - на своем ПК, Android, Linux! Корзина 1
R Kali linux какие бывают Свободное общение и флейм 1
R Установка языковый пакет на kali linux persistence Свободное общение и флейм 0
H Не могу установить драйвер Nvidia Kali Linux Все что не подошло по разделу 1
H Kali Linux картинка сыпится в крошки Все что не подошло по разделу 0
Denik Интересно Малварь для Linux, CronRAT, скрывается в cron job с неверными датами Новости в сети 0
B Услуги Linux администратора, настройка vps, серверов Ищу работу. Предлагаю свои услуги. 0
Ёшкин_кот Интересно Kali Linux Revealed (на русском) Полезные статьи 0
H Prey: Отслеживаем Linux компьютер Корзина 0
H Защита Linux-сервера. Что сделать в первую очередь Корзина 0
H PowerShell для пентестов в Kali Linux Корзина 0
H Новый Linux-модуль платформы TrickBot тайно атакует Windows-ПК Подробнее: https://www.securitylab.ru/news/510661.php Корзина 0
H Шифрование сообщений в GPG на Linux. Корзина 0
H Основы Linux для начинающего "Хакера" - Использование скриптов запуска Корзина 0
H Основы Linux для начинающего "Хакера" - Сети Корзина 0
1 Языки программирования на Linux Mint. Вопросы и интересы 3
Denik Интересно Проверяем вирусы на серверах Linux Полезные статьи 0
CMDfromBAT Интересно Взлом почты при помощи Hydra в Kali Linux Уязвимости и взлом 2
Д Аренда VPS/VDS сервера. Аренда VPS от 260 руб. Windows/Linux Server. Сайты/Хостинг/Сервера 3
V Kali Linux netsed Kali Linux 0
Denik Интересно Трояны для слежки под Windows, macOS, Linux, Android, iOS Анонимность и приватность 0
CMDfromBAT Интересно Ninjutsu-OS: "Kali Linux" в среде Windows Полезные статьи 48
T Проблема с иконками на kali linux kde Вопросы и интересы 1
Eteriass Интересно Мини VPN для Kali Linux/Nipe/ СИ/Фишинг/Мошенничество 1
Eteriass Фишинг на Kali linux/Shellphish/ СИ/Фишинг/Мошенничество 17
E Интересно Доступ к веб-камере при помощи Kali linux и CИ Уязвимости и взлом 5
E Интересно Повышаем привилегии в Linux: TOP утилит Уязвимости и взлом 2
E Чистим Linux Полезные статьи 0
T установка Kali linux 2020.1b Вопросы и интересы 1
CMDfromBAT Интересно RECREATOR-PHISHING - ЛУЧШИЙ ФИШИНГ ДЛЯ ЛЮБОЙ СТРАНИЦЫ! KALI LINUX СИ/Фишинг/Мошенничество 29
S Продам vps windows linux 2.50 $ месяц, вы также можете арендовать на час за 0.03 $ Сайты/Хостинг/Сервера 2
X /HumenError/Фишинг instagram/Kali linux/ СИ/Фишинг/Мошенничество 10
1 kali linux live не работают программы (wifite и тд.) Вопросы и интересы 11
E Администрирование LINUX Полезные статьи 3
M DistroTest - тестируем Linux в веб-браузере Полезные статьи 0
B Подготовительный курс Linux (2019) Полезные статьи 0
W Плюсы Linux (может не все). Полезные статьи 0
B [Сергей Никонов] Онлайн курс LINUX и GIT для начинающих — Видео уроки Linux / Git с нуля Kali Linux 0
M Atilo: разворачиваем linux-дистрибутив в Termux Полезные статьи 0
B Linux. Администрирование рабочих станций (2019) Полезные статьи 0
R Ошибка обновление в Kali Linux Вопросы и интересы 5
M Новости Kali Linux Kali Linux 0
O Google заблокировала популярные браузеры для Linux Новости в сети 0
CMDfromBAT LazyBruter - САМЫЙ БЫСТРЫЙ БРУТФОРС E-Mail(Kali Linux) Бруты/Парсеры/Чекеры 11

Название темы