Системные вызовы syscall
syscall() выполняет системный вызов, номер которого задаётся значением number и с заданными аргументами. Символьные константы для системных вызовов можно найти в заголовочном файле < sys/syscall.h >.
Системные вызовы syscall() в Linux на процессоре x86 выполняются через прерывание int 0x80. Соглашение о системных вызовах в Linux отличается от общепринятого в UNIX (через стек) и соответствует соглашению «fastcall». Согласно ему, программа помещает в регистр eax номер системного вызова, входные аргументы размещаются в других регистрах процессора, после чего вызывается инструкция int 0x80.
В тех относительно редких случаях, когда системному вызову необходимо передать большее количество аргументов (например, mmap), то они размещаются в структуре, адрес на которую передается в качестве первого аргумента (ebx). Результат возвращается в регистре eax, а стек вообще не используется.
Системный вызов syscall(), попав в ядро, всегда попадает в таблицу sys_call_table, и далее переадресовывается по индексу (смещению) в этой таблице на величину 1-го параметра вызова syscall() - номера требуемого системного вызова.
syscall() выполняет системный вызов, номер которого задаётся значением number и с заданными аргументами. Символьные константы для системных вызовов можно найти в заголовочном файле < sys/syscall.h >.
Системные вызовы syscall() в Linux на процессоре x86 выполняются через прерывание int 0x80. Соглашение о системных вызовах в Linux отличается от общепринятого в UNIX (через стек) и соответствует соглашению «fastcall». Согласно ему, программа помещает в регистр eax номер системного вызова, входные аргументы размещаются в других регистрах процессора, после чего вызывается инструкция int 0x80.
В тех относительно редких случаях, когда системному вызову необходимо передать большее количество аргументов (например, mmap), то они размещаются в структуре, адрес на которую передается в качестве первого аргумента (ebx). Результат возвращается в регистре eax, а стек вообще не используется.
Системный вызов syscall(), попав в ядро, всегда попадает в таблицу sys_call_table, и далее переадресовывается по индексу (смещению) в этой таблице на величину 1-го параметра вызова syscall() - номера требуемого системного вызова.
Демон журналирования ядра — klogd
Демон klogd(kernel-logging daemon) предназначен для перехвата и протоколирования сообщений ядра Linux.
Основные опции:
По умолчанию демон klogd вызывается системным вызовом для того, чтобы препятствовать отображению всех сообщений на консоль. Это правило не распространяется на критические сообщения ядра (kernel panic), так как эти сообщения все равно будут отображены на консоли.
Демон klogd(kernel-logging daemon) предназначен для перехвата и протоколирования сообщений ядра Linux.
Основные опции:
-c n — Устанавливает уровень журналирования по умолчанию для консольных сообщений в n.-d — Включить отладочный режим. -f <файл> — Журналировать сообщения в указанный файл.-i -I — Послать сигнал уже запущенному демону klogd. Опция -i посылает сигнал загрузить информацию о символах модулей ядра. Опция -I посылает сигнал перечитать заново как информацию о статических символах ядра, так и о символах модулей ядра.По умолчанию демон klogd вызывается системным вызовом для того, чтобы препятствовать отображению всех сообщений на консоль. Это правило не распространяется на критические сообщения ядра (kernel panic), так как эти сообщения все равно будут отображены на консоли.
Команда chgrp
Стандарт прав файлов пришёл в Linux из Unix. У каждого файла есть владелец и группа, помимо этого описываются права остальных пользователей. Права состоят из трёх пунктов: чтение, запись и выполнение. Для изменения прав используется команда umask, но для изменения непосредственно владельца и группы используются команды chgrp.
Команда меняет группу на new-group для файла some_file.txt в текущей папке:
А эта меняет группу на new-group для папки folder:
Параметры:
Стандарт прав файлов пришёл в Linux из Unix. У каждого файла есть владелец и группа, помимо этого описываются права остальных пользователей. Права состоят из трёх пунктов: чтение, запись и выполнение. Для изменения прав используется команда umask, но для изменения непосредственно владельца и группы используются команды chgrp.
Команда меняет группу на new-group для файла some_file.txt в текущей папке:
sudo chgrp new-group some_file.txtА эта меняет группу на new-group для папки folder:
sudo chgrp new-group folderПараметры:
-h – работать непосредственно с самими символьными ссылкам--dereference – работать с файлами (используется по умолчанию);-H – перейти по символической ссылке и изменить атрибуты файла/каталога. Сама ссылка остаётся без изменений. Используется вместе с параметром -R;-L - перейти по символической ссылке и продолжить рекурсивную обработку. Сама ссылка остаётся без изменений.Утилита DMESG
Ядро Linux, как и другие программы может и выводит различные информационные сообщения и сообщения об ошибках. Все они выводятся в буфер сообщения ядра, так называемый kernel ring buffer.
Для получения сообщений из этого буфера можно прочитать файл
Опции:
Ядро Linux, как и другие программы может и выводит различные информационные сообщения и сообщения об ошибках. Все они выводятся в буфер сообщения ядра, так называемый kernel ring buffer.
Для получения сообщений из этого буфера можно прочитать файл
/var/log/dmesg. Однако, более удобно это можно сделать с помощью команды dmesg.Опции:
-C — очистить буфер сообщений ядра;-c — вывести сообщения из буфера ядра, а затем очистить его;-d — выводит время прошедшее между двумя сообщениями;-H — включить вывод, удобный для человека;-k — отображать только сообщения ядра;-L — сделать вывод цветным (включается автоматически при использовании опции -H)-r — печатать сообщения как есть, не убирая служебные префиксы;-S — использовать Syslog для чтения сообщений от ядра, по умолчанию используется файл /dev/kmsgКонфигурационные параметры ядра
Все конфигурационные параметры параметры ядра, определяемые в диалоге сборки, бывают:
⁃ те параметры ядра, которые были выбраны в диалоге сборки с ответом
⁃ те параметры ядра, для которых в диалоге сборки были установлены символьные значения (чаще всего, это путевые имена в файловой системе Linux) — определены в файле
⁃ сложнее с теми параметрами ядра, которые были выбраны в диалоге сборки с ответом
Все конфигурационные параметры параметры ядра, определяемые в диалоге сборки, бывают:
⁃ те параметры ядра, которые были выбраны в диалоге сборки с ответом
'y' — соответствующие им конфигурационные параметры определены в файле <linux/autoconf.h> со значением 1. ⁃ те параметры ядра, для которых в диалоге сборки были установлены символьные значения (чаще всего, это путевые имена в файловой системе Linux) — определены в файле
<linux/autoconf.h> как символьные константы, имеющие именно эти значения. ⁃ сложнее с теми параметрами ядра, которые были выбраны в диалоге сборки с ответом
'm' (собирать такую возможность как подгружаемый модуль) — тогда символическая константа с именем именем CONFIG_XXX, соответствующим конфигурационному параметру, не будет определена в файле <linux/autoconf.h>, но будет определена другая символическая константа с суффиксом _MODULE: CONFIG_XXX_MODULE, и значение её будет, естественно, 1.Команда rmmod
Команда
В современных системах Linux
Только пользователи с правами администратора могут удалять модули.
Вы можете распечатать список всех модулей, загруженных в вашу систему, с помощью команды
Чтобы удалить модуль, можно использовать команду:
Команда
rmmod удаляет модуль из ядра Linux.В современных системах Linux
rmmod является частью двоичного файла kmod, который реализует несколько программ, используемых для управления модулями ядра Linux.Только пользователи с правами администратора могут удалять модули.
Вы можете распечатать список всех модулей, загруженных в вашу систему, с помощью команды
lsmod. Модули ядра хранятся в каталоге /lib/modules/<kernel_version>.Чтобы удалить модуль, можно использовать команду:
rmmod module_name-v — отобразить информацию о том, что делает команда.-f — если вы хотите удалить модуль, который используется или не предназначен для удаления. Использование этой опции крайне опасно, поскольку может вызвать сбой системы.Функция mmap и munmap
mmap и munmap соответственно отображают или удаляют файлы или устройства в памяти.
mmap работает, манипулируя таблицей страниц вашего процесса (структура данных, которую ваш ЦП использует для сопоставления адресных пространств. ЦП преобразует «виртуальные» адреса в «физические» и делает это в соответствии с таблицей страниц, установленной вашим ядром).
Когда вы обращаетесь к отображенной памяти в первый раз, ваш ЦП генерирует отказ страницы. Затем ядро ОС может вмешаться, «исправить» недопустимый доступ к памяти, выделив память и выполнив файловый ввод-вывод в этом вновь выделенном буфере, а затем продолжить выполнение вашей программы, как будто ничего не произошло.
mmap может дать сбой, если ваш процесс находится за пределами адресного пространства.
mmap и munmap соответственно отображают или удаляют файлы или устройства в памяти.
mmap работает, манипулируя таблицей страниц вашего процесса (структура данных, которую ваш ЦП использует для сопоставления адресных пространств. ЦП преобразует «виртуальные» адреса в «физические» и делает это в соответствии с таблицей страниц, установленной вашим ядром).
Когда вы обращаетесь к отображенной памяти в первый раз, ваш ЦП генерирует отказ страницы. Затем ядро ОС может вмешаться, «исправить» недопустимый доступ к памяти, выделив память и выполнив файловый ввод-вывод в этом вновь выделенном буфере, а затем продолжить выполнение вашей программы, как будто ничего не произошло.
mmap может дать сбой, если ваш процесс находится за пределами адресного пространства.
Команда sourse
Эта команда позволяет выполнить скрипт в текущем процессе оболочки bash. По дефолту для выполнения каждого скрипта запускается отдельная оболочка bash, хранящая все его переменные и функции. После завершения скрипта всё это удаляется вместе с оболочкой.
Синтаксис:
Если мы выполним какой-нибудь bash скрипт с помощью этой команды, то скрипт станет доступен в командном интерпретаторе. Однако, он есть только в текущем, в других интерпретаторах его нет. В этом и есть отличие команды sourse от export, которая позволяет экспортировать переменные окружения глобально.
Эта команда позволяет выполнить скрипт в текущем процессе оболочки bash. По дефолту для выполнения каждого скрипта запускается отдельная оболочка bash, хранящая все его переменные и функции. После завершения скрипта всё это удаляется вместе с оболочкой.
Синтаксис:
source имя_файлаЕсли мы выполним какой-нибудь bash скрипт с помощью этой команды, то скрипт станет доступен в командном интерпретаторе. Однако, он есть только в текущем, в других интерпретаторах его нет. В этом и есть отличие команды sourse от export, которая позволяет экспортировать переменные окружения глобально.
Команда delv
Команда
Если зона DNS не включает записи DS (требуется при активации (безопасности DNS) DNSSEC), то предполагается, что это неподписанная DNS, а не DNSSEC. Ответы даются как полностью проверенные, неподписанные или недействительные.
Если вы не укажете DNS-сервер в своем запросе,
Команда
delv связана с dig и nslookup, но углубляется в запись DNS, не только отправляя запрос DNS, но и проверяя его.Если зона DNS не включает записи DS (требуется при активации (безопасности DNS) DNSSEC), то предполагается, что это неподписанная DNS, а не DNSSEC. Ответы даются как полностью проверенные, неподписанные или недействительные.
Если вы не укажете DNS-сервер в своем запросе,
delv использует те, которые указаны в вашем локальном файле /etc/resolv.conf. Если запись недействительна, delv обычно указывает причину, по которой запись недействительна.delv <domain> mx +multiБлокировки. flock
В какой-то момент вам придется иметь дело с блокировками. Ее концепция довольно проста. Если вам нужно выполнить какую-то операцию над каким-то состоянием, к которому могут иметь доступ другие процессы, ваша операция должна «блокировать» все остальные действия до ее завершения.
В некоторых случаях это выполняется автоматически, в других вам необходимо установить простую систему блокировок, чтобы гарантировать, что условия гонки не возникнут.
Используя
В какой-то момент вам придется иметь дело с блокировками. Ее концепция довольно проста. Если вам нужно выполнить какую-то операцию над каким-то состоянием, к которому могут иметь доступ другие процессы, ваша операция должна «блокировать» все остальные действия до ее завершения.
В некоторых случаях это выполняется автоматически, в других вам необходимо установить простую систему блокировок, чтобы гарантировать, что условия гонки не возникнут.
Используя
flock, вы можете генерировать различные типы блокировок, которые могут быть получены во время параллельных операций. flock <name_of_lockfile>Void Linux
Независимый дистрибутив Linux, который использует диспетчер пакетов X Binary Package System (XBPS), который был разработан и реализован с нуля, и систему runit init. За исключением двоичных больших объектов ядра, базовая установка полностью состоит из бесплатного программного обеспечения.
Void Linux был создан в 2008 году Хуаном Ромеро Пардинес, бывшим разработчиком NetBSD, для тестирования менеджера пакетов XBPS.
Void был первым дистрибутивом, который по умолчанию включил LibreSSL в качестве библиотеки системной криптографии. В феврале 2021 года команда Void Linux объявила о возвращении на OpenSSL 5 марта 2021 года. Среди причин были проблемный процесс установки исправлений на программное обеспечение, которое в первую очередь было написано для работы с OpenSSL, поддержка некоторых оптимизаций и более ранний доступ к новым алгоритмам.
Независимый дистрибутив Linux, который использует диспетчер пакетов X Binary Package System (XBPS), который был разработан и реализован с нуля, и систему runit init. За исключением двоичных больших объектов ядра, базовая установка полностью состоит из бесплатного программного обеспечения.
Void Linux был создан в 2008 году Хуаном Ромеро Пардинес, бывшим разработчиком NetBSD, для тестирования менеджера пакетов XBPS.
Void был первым дистрибутивом, который по умолчанию включил LibreSSL в качестве библиотеки системной криптографии. В феврале 2021 года команда Void Linux объявила о возвращении на OpenSSL 5 марта 2021 года. Среди причин были проблемный процесс установки исправлений на программное обеспечение, которое в первую очередь было написано для работы с OpenSSL, поддержка некоторых оптимизаций и более ранний доступ к новым алгоритмам.
Komikku — для всех любителей манги!
Прежде всего, он предназначен для работы в среде рабочего стола GNOME, но вы можете использовать его в дистрибутивах Linux, работающих под управлением других сред рабочего стола.
Komikku — это программа для чтения манги с открытым исходным кодом, доступная только для Linux.Прежде всего, он предназначен для работы в среде рабочего стола GNOME, но вы можете использовать его в дистрибутивах Linux, работающих под управлением других сред рабочего стола.
Komikku можно использовать для просмотра манги онлайн и офлайн. Komikku доступен на Flathub. Однако вам необходимо настроить Flatpak и включить репозиторий Flathub в вашей системе. После этого вы можете установить его со своего терминала:flatpak install flathub info.febvre.KomikkuНедостатки линукса
Как и все, Linux не является безупречным выбором.
Трудности при освоении
Когда вы вступаете в мир Linux, вы должны быть готовы приложить немного усилий для изучения неочевидных вещей.
Разнообразие
У линукса очень много всевозможных дистрибутивов, в которых обычный новичок может просто не справится. Хоть большинство и рекомендует использовать лучшие дистрибутивы Linux, предназначенные для начинающих, выбор того, что вам может понравится, иногда ошеломляет.
Отсутствие проприетарного ПО
Не все заинтересованы в переносе своих инструментов/приложений в Linux. Следовательно, вы можете не найти все приложения, которыми вы раньше пользовались в Windows/macOS.
ОС не для игр
Если вы хотите играть на своем компьютере, Windows остается лучшим вариантом благодаря поддержке новейшего оборудования и технологий.
Когда дело доходит до Linux, есть много «если» и «но» для четкого ответа.
Как и все, Linux не является безупречным выбором.
Трудности при освоении
Когда вы вступаете в мир Linux, вы должны быть готовы приложить немного усилий для изучения неочевидных вещей.
Разнообразие
У линукса очень много всевозможных дистрибутивов, в которых обычный новичок может просто не справится. Хоть большинство и рекомендует использовать лучшие дистрибутивы Linux, предназначенные для начинающих, выбор того, что вам может понравится, иногда ошеломляет.
Отсутствие проприетарного ПО
Не все заинтересованы в переносе своих инструментов/приложений в Linux. Следовательно, вы можете не найти все приложения, которыми вы раньше пользовались в Windows/macOS.
ОС не для игр
Если вы хотите играть на своем компьютере, Windows остается лучшим вариантом благодаря поддержке новейшего оборудования и технологий.
Когда дело доходит до Linux, есть много «если» и «но» для четкого ответа.
Команда dos2unix
Команда, которая пытается помочь с кросс-платформенной совместимостью. Текстовые файлы часто имеют невидимые «управляющие» символы в конце строк, которые препятствуют синтаксическому анализу в Linux. Именно здесь команда dos2unix спешит исправить такие вещи.
Команда, которая пытается помочь с кросс-платформенной совместимостью. Текстовые файлы часто имеют невидимые «управляющие» символы в конце строк, которые препятствуют синтаксическому анализу в Linux. Именно здесь команда dos2unix спешит исправить такие вещи.
Dos2unix удаляет эти управляющие символы ^M и ^V, расположенные в конце строк, которые вы могли видеть, когда вы выполняете vi/vim файла. Конечно, вы можете удалить их, если знаете, как глобально заменить такие символы на vi, но в противном случае это проблематично.dos2unix some_file.txtКак создать открытый и закрытый ключи в Linux
Генерация ключей происходит с помощью команды
Также можно создать ключ, используя технологию DSA:
Особенной разницы между этими технологиями для простого обывателя нет, обе достаточно надежны, поэтому в выборе можно особенно не заморачиваться.
Далее предлагают указать место для хранения нашего ключа. По умолчанию это будет папка
Потом введите идентификационную фразу. (Это не фраза для соединения с удаленным хостом) Она нужна для разблокировки закрытого ключа. Ввод фразы не обязательный.
Теперь открытый и закрытый SSH-ключи могут быть сгенерированы. И если вы перейдете в директорию
Генерация ключей происходит с помощью команды
ssh-keygen. В консоле набираем:ssh-keygen -t rsaТакже можно создать ключ, используя технологию DSA:
ssh-keygen -t dsaОсобенной разницы между этими технологиями для простого обывателя нет, обе достаточно надежны, поэтому в выборе можно особенно не заморачиваться.
Далее предлагают указать место для хранения нашего ключа. По умолчанию это будет папка
.ssh в вашей домашней директории. Для того, чтобы согласиться с настройками по умолчанию, просто нажимаем «Enter».Потом введите идентификационную фразу. (Это не фраза для соединения с удаленным хостом) Она нужна для разблокировки закрытого ключа. Ввод фразы не обязательный.
Теперь открытый и закрытый SSH-ключи могут быть сгенерированы. И если вы перейдете в директорию
.ssh, там будут два файла: id_rsa(закрытый) и id_rsa.pub(открытый)5 причин почему Ubuntu лучше Windows
1. Безопасность.
Система Windows изначально была спроектирована как однопользовательская операционная система, поэтому все дополнительные механизмы добавления поддержки нескольких пользователей дорабатывались потом.
2. Обновления.
Пользуясь Windows вы, наверное, не раз сталкивались с ситуацией, когда система в самый неподходящий момент предлагала обновиться.
3. Настраиваемость.
Наверное многие из пользователей Windows пытались настаивать расположение панели, шрифты, иконки, курсоры. Это довольно сложно.
4. Легковесность.
Windows позиционируется как полноценная современная операционная система и для её работы необходимо современное оборудование и большой объем памяти.
5. Контроль над системой.
Windows пытаются принимать решения за пользователя и скрывают множество процессов. На первый взгляд, это облегчает работу с ОС. Но если у вас что-то перестает работать и надо разобраться почему, то сделать это не так просто.
1. Безопасность.
Система Windows изначально была спроектирована как однопользовательская операционная система, поэтому все дополнительные механизмы добавления поддержки нескольких пользователей дорабатывались потом.
2. Обновления.
Пользуясь Windows вы, наверное, не раз сталкивались с ситуацией, когда система в самый неподходящий момент предлагала обновиться.
3. Настраиваемость.
Наверное многие из пользователей Windows пытались настаивать расположение панели, шрифты, иконки, курсоры. Это довольно сложно.
4. Легковесность.
Windows позиционируется как полноценная современная операционная система и для её работы необходимо современное оборудование и большой объем памяти.
5. Контроль над системой.
Windows пытаются принимать решения за пользователя и скрывают множество процессов. На первый взгляд, это облегчает работу с ОС. Но если у вас что-то перестает работать и надо разобраться почему, то сделать это не так просто.
Дистрибутивы похожие на Windows
Zorin OS
Основывается на Ubuntu и использует оболочку GNOME. Стоит отметить, что внешний вид существенно отличается как от классического GNOME, так и от Ubuntu. Присутствует привычное стартовое меню. В этом плане переход c Windows не потребует долгого привыкания.
Linux LITE
Использует оболочку Xfce. Хоть она и имеет несколько устаревший внешний вид, но работает довольно хорошо. Её можно использовать на относительно слабых компьютерах. Xfce довольно популярная, и для неё можно найти темы в стиле Windows 10.
Kali Linux
Это специфичный дистрибутив. Он был создан в качестве рабочего инструмента для выявления уязвимостей. Достаточно запустить Kali Undercover Mode и Linux замаскируется под Windows
LinuxFX
LinuxFX от бразильских разработчиков представляет собой значительно переработанный дистрибутив Ubuntu. Его создатели постарались воссоздать Windows не только внешне. В качестве оболочки используется Cinnamon.
Zorin OS
Основывается на Ubuntu и использует оболочку GNOME. Стоит отметить, что внешний вид существенно отличается как от классического GNOME, так и от Ubuntu. Присутствует привычное стартовое меню. В этом плане переход c Windows не потребует долгого привыкания.
Linux LITE
Использует оболочку Xfce. Хоть она и имеет несколько устаревший внешний вид, но работает довольно хорошо. Её можно использовать на относительно слабых компьютерах. Xfce довольно популярная, и для неё можно найти темы в стиле Windows 10.
Kali Linux
Это специфичный дистрибутив. Он был создан в качестве рабочего инструмента для выявления уязвимостей. Достаточно запустить Kali Undercover Mode и Linux замаскируется под Windows
LinuxFX
LinuxFX от бразильских разработчиков представляет собой значительно переработанный дистрибутив Ubuntu. Его создатели постарались воссоздать Windows не только внешне. В качестве оболочки используется Cinnamon.
Инсталляция модуля
Инсталляция модуля, если говорить о инсталляции как о создании цели в Makefile, должна состоять в том, чтобы:
1. Скопировать собранный модуль в его местоположение в иерархии модулей в исполняющейся файловой системе (часто это каталог
2. обновить информацию о взаимных зависимостях модулей (в связи с добавлением нового), что делает утилита
Но если создаётся цель в Makefile инсталляции модуля, то обязательно должна создаваться и обратная цель деинсталляции: лучше не иметь оформленной возможности инсталлировать модуль (оставить это на ручные операции), чем иметь инсталляцию не имея деинсталляции!
Инсталляция модуля, если говорить о инсталляции как о создании цели в Makefile, должна состоять в том, чтобы:
1. Скопировать собранный модуль в его местоположение в иерархии модулей в исполняющейся файловой системе (часто это каталог
/lib/modules/`uname -r`/misc). 2. обновить информацию о взаимных зависимостях модулей (в связи с добавлением нового), что делает утилита
depmod. Но если создаётся цель в Makefile инсталляции модуля, то обязательно должна создаваться и обратная цель деинсталляции: лучше не иметь оформленной возможности инсталлировать модуль (оставить это на ручные операции), чем иметь инсталляцию не имея деинсталляции!
Права доступа к файлам
В Linux есть много отличных функций безопасности, но она из самых важных - это система прав доступа к файлам.
Изначально каждый файл имел три параметра доступа:
1. Чтение - разрешает получать содержимое файла, но на запись нет.
2. Запись - разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
3. Выполнение - вы не можете выполнить программу, если у нее нет флага выполнения.
Но все эти права были бы бессмысленными, если бы применялись сразу для всех пользователей. Поэтому каждый файл имеет три категории пользователей, для которых можно устанавливать различные сочетания прав доступа:
⁃ Владелец - набор прав для владельца файла, пользователя, который его создал или сейчас установлен его владельцем.
⁃ Группа - любая группа пользователей, существующая в системе и привязанная к файлу.
⁃ Остальные - все пользователи, кроме владельца и пользователей, входящих в группу файла.
В Linux есть много отличных функций безопасности, но она из самых важных - это система прав доступа к файлам.
Изначально каждый файл имел три параметра доступа:
1. Чтение - разрешает получать содержимое файла, но на запись нет.
2. Запись - разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
3. Выполнение - вы не можете выполнить программу, если у нее нет флага выполнения.
Но все эти права были бы бессмысленными, если бы применялись сразу для всех пользователей. Поэтому каждый файл имеет три категории пользователей, для которых можно устанавливать различные сочетания прав доступа:
⁃ Владелец - набор прав для владельца файла, пользователя, который его создал или сейчас установлен его владельцем.
⁃ Группа - любая группа пользователей, существующая в системе и привязанная к файлу.
⁃ Остальные - все пользователи, кроме владельца и пользователей, входящих в группу файла.
Команда umask
Эта команда задаёт набор прав, которые будут применены к файлам и директориям при их создании (настройки заданные командой будут действовать только для новых файлов).
Команда работает в пределах одной сессии терминала и не распространяется на всю систему и другие сессии.
Команда
Если команде передать опцию
Параметр -S выводит текущие разрешения в формате
Эта команда задаёт набор прав, которые будут применены к файлам и директориям при их создании (настройки заданные командой будут действовать только для новых файлов).
Команда работает в пределах одной сессии терминала и не распространяется на всю систему и другие сессии.
Команда
umask задаёт маску прав для новых файлов и каталогов. При создании любого файла операционная система запрашивает маску прав и рассчитывает маску на основе неё (по умолчанию маска 0002). Первая цифра ни на что не влияет и является пережитком синтаксиса языка C. Дальше цифры аналогичны правам доступа в Linux: первая - владелец, вторая - группа и третья - все остальные.Если команде передать опцию
-p, то она выведет команду для установки текущей маски:umask -pПараметр -S выводит текущие разрешения в формате
u=rwx, g=rwx, o=rx:umask -SТаблица разделов диска
Таблица разделов — это служебная область на диске, в которой хранится таблица с информацией о разделах диска. Они бывают разных типов, например,
Для жестких дисков с Linux обычно используются таблицы разделов
⁃ поддерживает диски очень больших размеров, позволяет давать символьные метки для разделов;
⁃ позволяет создавать 128 основных разделов. (точнее, для
Таблица разделов — это служебная область на диске, в которой хранится таблица с информацией о разделах диска. Они бывают разных типов, например,
GParted позволяет создать таблицы следующих типов: msdos, aix, amiga, bsd, dvh, gpt, mac, pc98, sun и loop. (Отличаются разной структурой, надежностью и возможностями). Для жестких дисков с Linux обычно используются таблицы разделов
MSDOS и GPT. У таблиц MSDOS главный недостаток — они не поддерживают диски объемом более 2.2Тб. Сейчас рассмотрим GPT, т.к. он поддерживается Linux и имеет несколько важных плюсов:⁃ поддерживает диски очень больших размеров, позволяет давать символьные метки для разделов;
⁃ позволяет создавать 128 основных разделов. (точнее, для
GPT вообще нет разделения разделов на основные, логические и расширенные).