В каком файле ос семейства unix хранится список пользователей системы с их базовыми настройками

Обновлено: 07.07.2024

1. Сегодня мы с вами начинаем изучать Linux, как одну из составных частей мира информационных технологий под названием Unix. Все вы, ну или практически все раньше сталкивались с ОС семейства Windows . Я хочу сделать небольшое примечание – Unix не Windows , он не похож на него (не считая внешнего сходства) и приемы работы в unix отличаются от приемов работы в Windows . Unix – это не только операционная система , это еще и идеология работы с компьютером. Те правила, о которых мы с вами будем говорить сейчас лежат в основе изучения Linux, да и Unix вообще. Общий термин для них – Unix Way:

  • одна задача – одна программа . В Unix не принято делать комбайны для выполнения "сразу всего". Программа делается таким образом, чтобы она могла выполнять одно простое действие, но выполняла его хорошо.
  • есть множество путей решения.Для решений той или иной комплексной задачи каждый может выбирать свой набор простых компонентов для ее решения.
  • все есть файл . Самая замечательная концепция в unix. Действительно, в Unix все представлено в виде файлов – программы, настройки, системные данные и даже устройства. И с устройствами можно работать как с простыми файлами.

Остальную часть Unix way мы с Вами будем изучать в течение этого курса. Будьте готовы к изучению не просто новых программ, а новых методов работы на компьютере.

2. В 1969 году Кен Томпсон и Денис Ритчи, работники корпорации AT&T, создали небольшую операционную систему для компьютера PDP-7. Эта операционная система получила название Unix. Однако в планы компании AT&T не входило распространение этой операционной системы, и она предоставила ее за символическую плату учебным заведениям США, не организовав при этом службы технического сопровождения, исправления ошибок и вообще не дав никаких гарантий.

Вследствие этого пользователи, почти все являвшиеся представителями университетских вычислительных центров, были вынуждены сотрудничать друг с другом. Они сами устраняли ошибки, создавали полезные программы и утилиты и совместно их использовали. Результатом их работы стала целая серия версий Unix, распространяемых под эгидой компании Bell Labs вплоть до 1990 года (Последней версией была Unix System V Release 4 – SVR4 ).

Одна из групп пользователей Unix находилась в калифорнийском университете в Беркли. В 1977 году специалисты этого учебного заведения сделали следующий шаг в истории Unix и приступили к распространению магнитных лент с операционной системой 2BSD (Berkeley Software Distribution ). С тех пор было продано 75 копий.

На основании Unix SVR4 и BSD были созданы все современные разновидности Unix.

3. Существует множество разновидностей Unix и Unix-подобных систем. К наиболее известным из них относятся Solaris (ранее SunOS) корпорации SUN Microsystems, AIX компании IBM , DEC Unix фирмы DEC , SCO UnixWare и прочие. Все вышеназванные системы являются коммерческими, и многие из них имеют высокую цену. Они работают на различных архитектурах (Intel, Sparc, Alpha , PowerPC и т.д.). Однако наибольший интерес сегодня в мире Unix приобрели операционные системы, построенные на модели открытого кода, такие как Linux.

Linux изначально была разработана как свободно распространяемая версия Unix. В 1991 году студент Хельсинского университета Линус Торвальдс выпустил первую версию Linux. Она была основана на операционной системе Minix – ограниченном аналоге Unix для ПК. После выпуска первого "почти безошибочного" релиза в марте 1992 года, многие программисты мира подключились к разработке этой операционной системы, и она стала расти.

На сегодняшний день Linux является полнофункциональным, открытым и, зачастую, бесплатным, аналогом Unix. Но этого бы не произошло, не будь программного обеспечения в рамках проекта GNU ( GNU ’s not Unix, GNU – это не Unix). Linux содержит много утилит GNU , включая трансляторы многих языков программирования ( C , C ++, Fortran, Pascal , LISP , Ada , BASIC, SmallTallk, Perl, PHP , Tcl /Tk и др.), отладчики, текстовые редакторы, утилиты печати и многое другое. Проект GNU развивается под эгидой фонда свободно распространяемого программного обеспечения – Free Software Foundation ( FSF ).

4. Linux является свободно распространяемой многозадачной многопользовательской операционной системой , похожей на Unix. Linux была разработана специально для платформы ПК (с процессором Intel) и благодаря преимуществам архитектуры позволяет достичь производительности, сравнимой с мощными рабочими станциями Unix. Linux также переносилась и на другие платформы, но все эти версии сходны с версией для ПК.

Давайте рассмотрим операционную систему как единый комплекс. Ниже приведен список того, что мы получим, установив ее:

Ядро - это основная часть операционной системы. Оно отвечает за распределение памяти , управление процессами и периферийными устройствами. Для поддержки большего объема оперативной памяти по сравнению с физически установленной на компьютере, ядро позволяет использовать область подкачки, размещая страницы оперативной памяти на жестком диске.

Ядро Linux поддерживает множество файловых систем, включая FAT , FAT32 . Собственные файловые системы Linux (ext2fs и ext3fs) разработаны для оптимального использования дискового пространства.

Утилиты GNU:

Linux содержит множество утилит GNU , без которых была бы невозможна работа с операционной системой.

Графический интерфейс пользователя представлен в Linux средой X Window. Различные оконные менеджеры (IceWM, WindowMaker, Fluxbox и прочие) и графические среды такие как KDE и GNOME, обеспечивают удобный интерфейс и работу со средствами мультимедиа .

Интерфейсы DOS и Windows:

Поскольку Linux была создана для компьютеров класса ПК, разработчики посчитали необходимым обеспечить совместимость с программами MS- DOS . В Linux предлагается эмулятор DOS как часть дистрибутива. Он позволяет исполнять DOS -приложения непосредственно из-под Linux. Для запуска программ Microsoft Windows было разработано несколько средств. Наиболее известное из них – WINE – свободная реализация Windows API . Wine также входит в большинство дистрибутивов Linux.

Linux позволяет без проблем переносить файлы между файловыми системами DOS и Windows , напрямую обращаясь к соответствующим разделам на диске, хотя это и требует некоторой настройки.

Сетевая поддержка:

TCP/IP – основная сетевая система используемая Unix и Linux. TCP/IP – это целый набор протоколов, разработанных для Internet . Однако для объединения в локальные сети машин Unix тоже используется TCP/IP . Также Linux поддерживает другие протоколы, такие как IPX/ SPX , AppleTalk и т.д.

5. Встает вопрос – как же узнать тип операционной системы, установленной у вас на компьютере. Для получения такой информации существует утилита uname (Unix NAME) .

uname , запущенная без параметров, покажет базовое имя системы:

Также она может принимать следующие параметры:

-s – показывает название ядра системы

-r – имя релиза ядра системы

-v – имя версии, а также дату компиляции ядра

-o – операционную систему

-p – тип процессора

-m – тип оборудования (i386, i686, Alpha )

-a – всю информацию сразу

Это не все параметры uname. О справке Linux мы поговорим с вами на "лекции 5" .

Команда free показывает объем памяти и объем ее использования, а также использование swap :

Обратите внимание, что практически вся свободная память резервируется системой под дисковые буферы и дисковый кэш , что позволяет Linux более эффективно работать с дисками.

Состояние системы в данный момент, степень ее загруженности и время без перезагрузок показывает команда uptime :

Другим средством мониторинга производительности является команда vmstat :

Эта команда выдает за раз достаточно большой объем информации.

r — количество ожидающих процессов

b — количество спящих процессов

swpd — объем используемой виртуальной памяти

free — объем свободной виртуальной памяти

buff — объем памяти, занятой под дисковые буферы

cache - объем памяти, занятой под дисковый кэш

si — объем памяти, подкачанной с диска

so — объем памяти, выгруженной на диск

bi — количество блоков, отправленных на блочное устройство

bo — количество блоков, прочитанных с блочного устройства

in — количество прерываний в секунду

cs — количество переключений контекста в секунду

us — время выполнения кода уровня пользователя (в процентах от общего времени)

sy — время выполнения кода уровня системы (в процентах от общего времени)

id — время простоя процессора (в процентах от общего времени)

wa — время ожидания ввода/вывода

st — время работы виртуальной машины уровня ядра

vmstat показывает при простом запуске усредненные показатели за все время с момента запуска системы. Но можно попросить vmstat вывести показатели за заданное количество времени:

В примере выведена информация за каждую секунду на протяжении 5 секунд. Если второй параметр ( 5 ) не указывать, то vmstat будет выводить информацию каждую секунду до нажатия Ctrl+C :

Для просмотра размеров файловых систем используется команда df :

Без параметров команда выводит данные в виде количества блоков по 1 килобайту. Для человека это не очень удобная подача информации. У df существует ключ - h (или -- human ), позволяющий увидеть объемы в привычных нам единицах измерения:

Многопользовательская ОС допускает использование ресурсов компьютера несколькими пользователями одновременно.

Система UNIX изначально проектировалась как многопользовательская ОС. Уже первая версия, выпущенная в 1971 году, была многопользовательской. К терминалам tty0 — tty5 могли подключаться несколько человек.

Системы MS-DOS и Windows 95 были однопользовательскими. Настоящий многопользовательский режим появился в Windows NT.

Пользователи и группы

Кроме числового id, используется имя пользователя в виде строки. По сути дела, имя пользователя — это его короткий и легко запоминаемый псевдоним, который используется при входе в систему. Классические ограничения на имя пользователя:

  • используются маленькие латинские буквы, цифры, знаки - и _,
  • имя должно начинаться на букву или на _,
  • общая длина — до 31 включительно.

Пользователи могут организовываться в группы, которые также нумеруются 16-битными целыми числами, называемыми GID (Group ID — идентификатор группы). Назначение пользователя в группу выполняется вручную системным администратором и заключается в создании нескольких записей (в системной базе данных), в которых содержится информация о том, какой пользователь к какой группе принадлежит. Пользователь может одновременно принадлежать к нескольким группам.

Команда id позволяет выводить UID и GID.

root — суперпользователь

Пользователь, UID которого равен 0, является особым пользователем и называется суперпользователем (superuser или root). Суперпользователь может читать и писать все файлы в системе независимо от того, кто ими владеет и как они защищены. Процессы с UID = 0 также имеют возможность использовать небольшую группу защищённых системных вызовов (например mknod()), доступ к которым запрещён обычным пользователям.

На самом деле пользователь с нулевым UID не обязательно имеет имя root, имя может быть любым. Важен UID, а не имя. В коде ядра делаются проверки на равенство нулю. Имя root — это просто соглашение.

su и sudo

Sandwich.jpg

Исторически первой была команда su.

Запущенная без параметров, она запрашивает пароль суперпользователя, и в случае успеха просто подменяет текущее имя пользователя на root, оставляя почти все переменные окружения от старого пользователя (кроме PATH, USER и еще пары-тройки). Более корректно запускать её как su - — в таком случае оболочка получает также и правильный environment (как будто root вошёл в систему напрямую).

Затем появилась команда sudo, и это был прорыв.

Программа sudo настраивается через файл /etc/sudoers.

В Debian-based-дистрибутивах пользователь root не имеет пароля, вместо этого все административные действия должны производиться через sudo.

  • При использовании sudo пользователь вводит свой пароль, а не пароль root'а.
  • По умолчанию sudo записывает всю пользовательскую активность в лог.
  • В случае с su администратор системы не может ограничить команды, выполняемые пользователями, а в sudo — может.
  • Если пользователь должен быть лишен права администрирования, в случае с su он должен забыть пароль root'а; если используется sudo, достаточно вынести его из соответствующей группы.
  • sudo может запоминать факт правильно введённого пароля и не спрашивать в дальнейшем. В Ubuntu пароль запоминается на 15 минут. Это тоже можно настроить. Программа sudo хранит свои служебные данные в каталоге /var/run/sudo/.

Редактирование файлов от root

sudoedit — проверяет, можно ли этому пользователю изменять данный файл, затем копирует указанный файл во временный каталог, открывает его в редакторе согласно переменной окружения EDITOR (который наследует права пользователя, а не root'а), а после редактирования, если файл был изменён, с особыми предосторожностями копирует его обратно.

Файлы с данными о пользователях

Соответствие идентификаторов и символьных имен, а также другая информация о пользователях и группах в системе (учетные записи), как и большинство другой информации о конфигурации системы UNIX, по традиции, представлена в виде текстовых файлов.

/etc/passwd

Каждая строка файла описывает одного пользователя и содержит семь полей, разделённых двоеточиями. Пример записи:

  1. регистрационное имя или логин;
  2. хеш пароля;
  3. идентификатор пользователя;
  4. идентификатор группы по умолчанию;
  5. информационное поле GECOS (полное имя, телефон, . );
  6. начальный (он же домашний) каталог;
  7. регистрационная оболочка, или shell.

Поле GECOS хранит вспомогательную информацию о пользователе (номер телефона, адрес, полное имя и так далее). Оно не имеет чётко определённого синтаксиса. История поля GECOS начинается в Bell labs. Традиционно там такие поля через запятую:

  • Полное имя
  • Адрес офиса или домашний адрес
  • Рабочий телефон
  • Домашний телефон

/etc/group

/etc/group содержит записи обо всех группах в системе. Каждая его строка содержит

Здесь сообщается, что группа bin имеет GID=1, а входят в неё пользователи root, bin и daemon.

/etc/shadow

Wikipedia: Shadow file - в частности, объясняет, зачем этот файл существует отдельно. Обычно этим файлом владеет суперпользователь, и он недоступен для чтения обычным пользователям.

  • имя пользователя,
  • хеш пароля,
  • дата последнего изменения пароля,
  • через сколько дней можно будет поменять пароль,
  • через сколько дней пароль устареет,
  • за сколько дней до того, как пароль устареет, начать напоминать о необходимости смены пароля,
  • через сколько дней после того, как пароль устареет, заблокировать учётную запись пользователя,
  • дата, при достижении которой учётная запись блокируется,
  • зарезервированное поле.

Scheme id Schema Example
DES Kyq4bCxAXJkbg
_ Berkeley Software Design _EQ0.jzhSVeUyoSqLupI
1 MD5 $1$etNnh7FA$OlM7eljE/B7F1J4XYNnk81
2, 2a, 2x, 2y bcrypt $2a$10$VIhIOofSMqgdGlL4wzE//e.77dAQGqntF/1dT7bqCrVtquInWy2qi
3 NTLM Authentication $3$$8846f7eaee8fb117ad06bdd830b7586c
5 SHA-256 $5$9ks3nNEqv31FX.F$gdEoLFsCRsn/WRN3wxUnzfeZLoooVlzeF4WjLomTRFD
6 SHA-512 $6$qoE2letU$wWPRl.PVczjzeMVgjiA8LLy2nOyZbf7Amj3qLIL978o18gbMySdKZ7uepq9tmMQXxyTIrS12Pln.2Q/6Xscao0
md5 Solaris MD5 $md5,rounds=5000$GUBv0xjJ$$mSwgIswdjlTY0YxV7HBVm0
sha1 PBKDF1 with SHA-1 $sha1$40000$jtNX3nZ2$hBNaIXkt4wBI2o5rsi8KejSjNqIq

Для MD5 используют 1000 раундов, для SHA — 5000.

Пример: у alice стоит пароль 111.

/etc/sudoers

Правильно его редактировать командой visudo. Он проверяет корректность синтаксиса перед сохранением файла. Иначе можно испортить sudo и потерять контроль над происходящим.

Например, чтобы отключить запрос пароля при sudo, можно дописать в конец строку

Доступ к информации о пользователях

Можно вручную читать информацию из текстовых файлов и парсить — неудобно.

Есть утилита getent, которая помогает получить информацию из разных текстовых файлов: ahosts, ahostsv4, ahostsv6, aliases, ethers, group, gshadow, hosts, netgroup, networks, passwd, protocols, rpc, services, shadow. Общий синтаксис такой:

Есть набор C-функций, которые позволяют получать информацию о пользователях.

Работают они медленно, так как выполняют чтение из файликов. Если вам нужно быстро, придётся организовывать кеширование своими силами.

Управление пользователями

Утилиты useradd, userdel и usermod бинарные и низкоуровневые, существуют во всех дистрибутивах.

Учётная запись заблокирована, пока не задан пароль.

Для запуска администратором рекомендуется использовать более высокоуровневые обёртки adduser/deluser. Это скрипты, написанные на perl.

Пример: добавить пользователя в группу:

Права доступа к файлам

Основной механизм безопасности в операционной системе Linux прост. Каждый процесс несет на себе UID и GID своего владельца. Когда создается файл, он получает UID и GID создающего его процесса. Файл также получает набор разрешений доступа, определяемых создающим процессом. Эти разрешения определяют доступ к этому файлу

  • для владельца файла,
  • для других членов группы владельца файла,
  • для всех прочих пользователей.

Для каждой из этих трех категорий определяется три вида доступа:

  • чтение (read, r),
  • запись (write, w),
  • исполнение файла (execute, x).

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

К счастью, у владельца файла всегда есть способ изменить в дальнейшем режим доступа к файлу, даже если ему будет запрещен всякий доступ к самому файлу.

Три варианта записи прав пользователя
двоичная восьмеричная символьная права на файл права на директорию
000 0 --- нет нет
001 1 --x выполнение чтение файлов и их свойств
010 2 -w- запись нет
011 3 -wx запись и выполнение всё, кроме чтения списка файлов
100 4 r-- чтение чтение имён файлов
101 5 r-x чтение и выполнение доступ на чтение
110 6 rw- чтение и запись чтение имён файлов
111 7 rwx все права все права

Вывод прав доступа

Файлы

Право на запись (w) даёт пользователю возможность записывать или изменять файл.

Если на бинарном исполняемом файле выставлены права на выполнение, то программу можно будет выполнить, даже если нет права на чтение.

Право на запись может существовать при отсутствии права на чтение.

Каталоги

Каталоги — это файлы, они обладают теми же самыми режимами защиты, что и обычные файлы.

Отличие состоит в том, что бит x интерпретируется для каталогов как разрешение не исполнения, а входа в каталог, доступа к inode'ам файлов. Чтобы сделать cd в каталог, нужно, чтобы он имел бит x.

Бит r разрешает получение списка файлов в каталоге.

Символические ссылки

Биты доступа, выставленные на символических ссылках, в UNIX-системах игнорируются (исключением является macOS). Имеют значение установки прав, выставленные для файла, на который линк указывает.

На Linux команда ls -l всегда печатает lrwxrwxrwx (777) для символических ссылок.

Жёсткие ссылки

У жёстких ссылок, указывающих на один inode, одинаковые владелец и права доступа. Чтобы иметь возможность создать хардлинк на файл, нужно быть или его владельцем, или иметь как минимум rw-доступ.

chmod

Синтаксис

Аргумент команды chmod, задающий разрешения, может быть записан в двух форматах: в числовом и в символьном.

Использование команды в символьном виде

В символьном виде использование команды chmod позволяет более гибко добавлять, устанавливать или убирать права на файл(ы) или каталоги.

References определяют пользователей, которым будут меняться права. References определяются одной или несколькими буквами:

Operator определяет операцию, которую будет выполнять chmod:

Operator Описание
+ добавить определенные права
- удалить определенные права
= установить определенные права

Modes определяет какие именно права будут установлены, добавлены или удалены:

Mode Name Описание
r read чтение файла или содержимого каталога
w write запись в файл или в каталог
x execute выполнение файла или чтение содержимого каталога
X special execute выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя
s setuid/gid установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно
t sticky устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла

Примеры использования команды в символьном виде

Установить права «rwxr-xr-x» (0755) для файла:

chmod u=rwx,g=rx,o=rx filename

Установить права на выполнение для владельца файла, удалить права на выполнение у группы, удалить права на запись и выполнение у остальных пользователей:

chmod u+x,g-x,o-wx filename

Установить рекурсивно права на чтение для всех пользователей:

chmod -R a+r directory

Рекурсивно удалить атрибуты SUID и SGID:

chmod -R u-s,g-s directory

Право на запуск chmod

chmod может выполнять владелец файла или root.

chown

Право на запуск chown

Владение файлом может быть изменено только суперпользователем. Обычный пользователь не может "отдать" свой файл другому пользователю.

chgrp

Казалось бы, зачем нужна отдельная команда

если можно сделать

В отличие от команды chown, chgrp может использоваться непривилегированными пользователями для изменения группы файлов. Команда позволяет рядовым пользователям изменять группы, но только те, членами которых они являются.

setuid и setgid

Проблемы. Как пользователю сменить пароль? Как пользователям получать управляемый доступ ко всем устройствам ввода-вывода и другим системным ресурсам?

Введён дополнительный бит защиты — бит SETUID. Бит был изобретён Деннисом Ритчи и запатентован в США компанией AT&T в 1979 году.

У процесса есть два UID:

  • реальный (real);
  • действительный или рабочий (effective).

Когда выполняется программа с установленным битом SETUID, то рабочим UID этого процесса становится не UID вызвавшего её пользователя, а UID владельца исполняемого файла.

Из-за возможности состояния гонки многие операционные системы игнорируют установленный атрибут к shell-скриптам. См. [1]

Установка битов suid/sgid на неисполняемых файлах, как правило, бессмысленна.

Установка sgid для директории приведёт к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сама директория, а не к основной группе владельца, как это происходит по умолчанию. suid для директории не имеет смысла.

Пример: печать uid

Пример: чтение /etc/shadow

Как известно, обычному пользователю читать этот файл не позволено.

Выставим suid-бит и проверим. Для запуска sudo уже будет не нужно.

Запуск оболочки от имени root без sudo

Так делать в реальной жизни не надо, это только учебный демонстрационный пример.

Используем системный вызов setuid(), чтобы выставить нашему процессу реальный uid суперпользователя.

setuid() sets the effective user ID of the calling process. If the effective UID of the caller is root (more precisely: if the caller has the CAP_SETUID capability), the real UID and saved set-user-ID are also set.

Sticky bit

Устанавливается для каталогов. Только владелец файла, владелец каталога или root может переименовать или удалить файл. Без выставленного sticky bit, любой пользователь, имеющий wx-права на каталог, может удалить или переименовать содержащиеся в нём файлы независимо от владельца файлов.

Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. Из такого каталога пользователь может удалить только те файлы, владельцем которых он является. Примером может служить каталог /tmp, в который запись открыта для всех пользователей, но нежелательно удаление чужих файлов. Установка атрибута производится утилитой chmod.

umask

Новая система также содержит ряд предустановленных групп. Поскольку группы, как правило, менее значимы, приведем лишь две категории:

Имя Группа root или wheel Административная группа, GID=0 user или users или staff Группа, в которую по умолчанию включаются все обычные пользователи UNIX

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Глава 6 Программы группы Стандартные

Глава 6 Программы группы Стандартные Рассмотрим программы, поставляемые вместе с операционной системой Windows Vista.В категории Все программы Главного меню содержится папка Стандартные. В ней расположены ярлыки прикладных программ, включенных в операционную систему

Остальные программы группы Стандартные

Остальные программы группы Стандартные Рассмотрим в общих чертах некоторые другие программы группы Стандартные.Программа Подключение к сетевому проектору служит для подключения компьютера к сетевому проектору. Все действия на экране монитора будут проектироваться с

Пользователи системы

Пользователи системы Прежде чем вы сможете начать работу в UNIX, вы должны стать пользователем системы, т.е. получить имя, пароль и ряд других атрибутов.С точки зрения системы, пользователь — не обязательно человек. Пользователь является объектом, который обладает

Пользователи и группы

Пользователи и группы А вот модуль Пользователи и группы — родной для Cinnamon, из CLI его можно запустить командой cinnamon-settings-users. Очевидно, что и здесь потребуется пароль, ввод которого даст доступ к святая святых — списку пользователей и групп:От описания возможных тут

8.4.6. Доверенные пользователи

7.3. Пользователи и квоты

7.3. Пользователи и квоты 7.3.1. Учетные записи пользователей Система учета пользователей опирается на следующие конфигурационные файлы:? /etc/passwd — учетная информация о пользователе;? /etc/shadow — скрытая информация о пользователях: пароли в зашифрованном виде;? /etc/group —

1.5. Пользователи и группы

1.5. Пользователи и группы 1.5.1 Управление пользователями Linux - Это многопользовательская система. Вы можете создать несколько учетных записей, если кто-то еще кроме вас использует данный компьютер, например, члены семьи или коллеги по работе. Конечно, можно работать и под

Глава 15 Пользователи, группы и права доступа

Глава 15 Пользователи, группы и права доступа Теперь немного поговорим о разграничении прав доступа к различным элементам. Описанный в этой главе механизм является основополагающим в Linux и соответственно в Ubuntu, так что читайте

15.1 Пользователи и группы

15.1 Пользователи и группы Linux в целом и Ubuntu в частности — системы многопользовательские, т. е. на одном компьютере может быть несколько различных пользователей, каждый со своими собственными настройками, данными и правами доступа к различным системным функциям.Кроме

Пользователи

Пользователи Пользователь InterBase, как уже было сказано выше - это регистрационная запись, доступная во всех базах данных, обслуживаемых данным сервером. Пользователи InterBase, как правило, хранятся в служебной базе данных ISC4.gdb, но если и клиент, и сервер InterBase стоят на системе

10.1. Пользователи и группы

10.1. Пользователи и группы В Linux каждому пользователю назначается уникальный номер, называемый его идентификатором (UID, user identifier). При регистрации в системе, естественно, вводится имя пользователя, а не идентификатор. Система преобразовывает введенное имя в

Пользователи

Пользователи Имя пользователя и пароль по умолчаниюПользователь SYSDBA имеет все привилегии доступа к серверу. Программа инсталляции создаст пользователя SYSDBA в базе данных безопасности (security.fdb).Для версий под Windows и версии 1.0.x под Linux пароль masterkey.! ! !СОВЕТ. Фактически пароль

Пользователи

Пользователи Пользователи являются получателями полномочий; они теряют их, когда полномочия отменяются. Пользователь может быть пользователем, определенным в базе данных безопасности, учетной записью или группой UNIX, специальным пользователем или объектом базы данных.*

Специальные пользователи

Специальные пользователи Пользователь SYSDBA имеет особые права ко всем базам данных и их объектам, независимо от того, какой пользователь ими владеет[137]. Более того, в операционных системах, где реализована концепция Суперпользователя, - пользователь с привилегиями root или

Почему пользователи iOS программы покупают, а пользователи Android — нет? Сергей Голубицкий

Файл в операционной системе UNIX представляет собой множество символов с произвольным доступом. В файле могут содержаться любые данные, и файл не имеет никакой иной структуры, кроме той какую создаст в нем пользователь. В семействе UNIX трактуют понятие файла более широко — там файлом называется любой объект, имеющий имя в файловой системе. Однако файлы, не являющиеся совокупностями данных (каталоги, внешние устройства, псевдоустройства, именованные программные каналы, семафоры Xenix), часто называют не простыми файлами, а "специальными".

Информация на диске размещается блоками. Минимальный размер блока 512 байт. В современных файловых системах, разработанных для конкретной версии UNIX размер блока несколько больше. Это позволяет повысить быстродействие файловых операций. Раздел на диске разделяется на следующие области (рис.4): загрузочный блок; управляющий блок (суперблок) в котором хранится размер логического диска и границы других областей; i-список, состоящий из описаний файлов; область для хранения содержимого файлов.

Загрузочный блок
Суперблок
i-узел 1
i-узел 2
i-узел 3
.
i-узел n
Блок с данными файла
Блок с данными файла
Блок с данными файла
Свободный блок
Файл
Свободный блок

Рис. 4 Организация файловой системы в UNIX

Каждый i-узел содержит: идентификатор владельца, идентификатор группы владельца, биты защиты, физические адреса на диске, время создания файла, время его последнего изменения, время последнего изменения атрибутов файла, число связей-ссылок указывающих на файл, идентификатор типа файла – каталог, обычный или специальный файл. За i-списком расположены блоки для хранения содержимого файлов. Пространство, не заполненное файлами, образует связанный список свободных блоков.

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

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

Каталоги также как и в других системах имеют древовидную структуру. Файл, не являющийся каталогом, может встречаться в различных каталогах, под разными именами. Это называется связыванием. В UNIX-системах файлы не принадлежат каталогам, а существуют как бы независимо от каталогов. Связи в каталогах указывают на реальные физические файлы. Файл “исчезает”, когда удаляется последняя связь, указывающая на него. От файловой системы не требуется, чтобы она полностью размещалась на диске содержащий корневой каталог. Имеется возможность подключения файловой подсистемы к системе таким образом, что её содержимое заменяет собой содержимое заданного каталога. Поэтому для монтирования существующего тома необходимо использовать пустой каталог. Размонтирование – обратная операция, отсоединяющая файловую систему, после чего диск можно физически извлечь из системы. Монтирование файловых систем позволяет получить единое логическое файловое пространство, в то время как реальные файлы могут находиться в разных разделах или на разных жестких дисках. Также важно, что сами файловые системы для монтируемых разделов могут быть различными.

При повреждении файловой системы могут возникнуть следующие нарушения в ее структуре:

1- некоторый блок может оказаться вне системы, то есть не являться частью файла и не быть в списке свободных блоков;

2- могут появиться дубли i-узлов – записи, описывающие один и тот же файл дважды;

3- какой-либо блок может быть частью файла и быть в списке свободных блоков;

4- некоторый файл может существовать, не будучи включенным ни в один каталог.

1- блок данных, являющийся каталогом, содержит имена файлов и номера i-узлов. То есть существует i-узел, соответствующий этому каталогу, и этот i-узел должен быть каталогом, а не обычным файлом;

2- блок, включенный в список свободных блоков, не может быть частью файла. Для проверки этого достаточно сравнить список занятых и свободных блоков.

3- блок, принадлежащий файлу должен принадлежать только одному файлу.

При проверке файловой системы производятся: проверка целостности i-узлов; проверка каталогов указывающих на i-узлы, содержащие ошибки; проверка каталогов на которые нет ссылок; проверка счетчиков связи в каталогах и файлах; проверка неверных и дублированных блоков в списках – свободных и неиспользуемых блоков, которые не включены в список свободных блоков; проверка общего числа свободных блоков.

1. Гордеев А.В., “Операционные системы”, СПб: Питер, 2006 г.

2. Попов И.И., “Операционные системы, среды и оболочки”, Москва: Инфра-М, 2003 г.

3. Бойс Д., “От установки до оптимизации работы Windows XP”, Москва: НТ Пресс, 2007 г.

Читайте также: