Linux

Команда test и [[expr]]

В командном языке bash операторы if и while могут использовать в качестве условия код завершения произвольной программы. Код ответа 0 интерпретируется как "истина", любой другой - как "ложь". Читать далее »

Интеграция Linux и Active Directory

Существует несколько путей для интеграции Linux компьютеров в домен. Часть из них построена на использовании специализированной программ winbind из пакета Samba, а часть использует автономные PAM и NSS модули для непосредственного взаимодействия с сервером домена.

Имена и пароли пользователей (nss и pam)

Традиционный Unix хранил информацию о пользователях и их паролях в простой текстовой базе данных в файле /etc/passwd. Читать далее »

Внесение исправлений в initrd

Иногда возникает ситуация, при которой загрузка Linux невозможна из за неправильно собранного образа диска initrd. Возникает ситуация курицы и яйца: чтобы исправить initrd необходимо загрузить Linux, чтобы загрузить Linux нужен исправленный initrd.

В CentOS и аналогичных системах последовательность действий такова:

Загрузиться с установочного диска в режим восстановления - Rescue mode. Читать далее »

Утилиты работы с текстом

Unix обладает богатым набором утилит для работы с текстом. Некоторые из них позволяют создать на основе текстовых файлов маленькое подобие базы данных. Все утилиты, рассматриваемые в этом разделе, могут работать как с файлами (наборами файлов), так и со стандартным вводом. Часть утилит может работать с двоичными файлами.

Будем рассматривать текстовые файлы как набор записей-строк, возможно, состоящих из полей, разделённых знаками препинания, слов, разделённых пробелами, и букв.

wc – подсчёт строк, слов и букв. По умолчанию выдаёт все три значения. Читать далее »

Структуры данных ext2fs

С логической точки зрения ФС образуется за счёт двух элементов: массива индексных дескрипторов и системы каталогов, связывающих имена файлов с номерами индексных дескрипторов. Индексные дескрипторы хранят метаинформацию файлов и ссылки на блоки данных файлов. Каталоги объединены в дерево с двунаправленной системой ссылок между узлами.

Дисковое пространство в ext2fs разбивается на логические блоки размером 1, 2 или 4 КБ. Блоки используются под хранение нескольких служебных структур, массива индексных дескрипторов и, собственно, под хранение содержимого файлов. Читать далее »

История создания Unix. Ссылки на документацию по Unix

POSIX.1-2008. The Open Group Base Specifications Issue 7

Oracle. Solaris. Programming Interfaces Guide

SCO. Unixware 7. UnixWare 7 Documentation

Illustrated UNIX System V/BSD - книга 1992 года. Интересна тем, что в ней комментируются различия в семантике некоторых операций в различных реализациях Unix.

[А.П. Полищук, С.А. Читать далее »

Inode.mode – права доступа на файлы и каталоги

В Unix права доступа к объекту ФС хранятся в битовом поле индексного дескриптора (inode). Шестнадцатиразрядное битовое поле, называемое mode, включает в себя четыре бита, определяющие тип объекта, три бита особых признаков (suid, sgid, sticky) и девять бит прав доступа. Правила интерпретации флагов mode (особенно suid, sgid, sticky) и правила манипуляции ими могут отличаться в разных ОС. В данном тексте описываются правила Linux.

Менять права доступа (записывать в индексный дескриптор) может владелец файла или администратор. Читать далее »

Брандмауэр уровня приложений - tcpwrappers

TCP Wrappers – изначально набор вспомогательных программ 'запускалок' (tcpd, miscd и вспомогательные программы), для контроля за IP адресами клиентов, стартующих сетевые сервисы через inetd. Основная функция, управляющая проверкой правил, hosts_access(request) была в последующем выделена в отдельную библиотеку libwrap. В настоящее время эту библиотеку используют самые разнообразные сервисы, такие как xinetd, sshd, rsyncs и т.п. Читать далее »

RSS-материал