Тип работы:
Предмет:
Язык работы:


Реализация файловой системы с тонкой настройкой прав пользователей

Работа №127272

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы31
Год сдачи2016
Стоимость4700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
15
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 5
1.1. Права доступа к файлам в UNIX-подобных системах . . 5
1.2. Требования к реализуемой файловой системе 7
1.3. Обзор существующих решений 8
1.4. Постановка задачи 9
1.5. Резюме 9
2. Реализация 10
2.1. Выбор инструментов разработки 10
2.2. Расширение правовго набора 11
2.3. Алгоритм проверки прав 14
2.4. Трансляция стандартного и нового правовых наборов . . 15
2.5. Принципиальное решение 16
2.6. Резюме 20
3. Описание комплекса программного обеспечения 21
3.1. FTFS 21
3.2. FTPC 26
3.3. Резюме 28
4. Заключение 29


Как известно, GNU/Linux [10] и другие UNIX-подобные операционные системы [4] являются многопользовательскими. Проблема организации разграничения доступа к файлам и каталогам является одним из существенных вопросов, которые должна решать операционная система. Механизмы разграничения доступа, разработанные для системы UNIX в 70-х годах, очень просты, но они оказались настолько эффективными, что просуществовали уже более 30 лет и по сей день успешно выполняют большинство стоящих перед ними задач. Однако порой возникают потребности, которые эти механизмы удовлетворить не в состоянии.
Сейчас права доступа к файлу регулируются 16-ю битами, хранящимися в индексном дескрипторе [14]. Первые 4 бита из которых представляют информацию о типе файла, следующие 3 бита задают особые свойства исполняемых файлов, а последние 9 кодируют информацию о правах доступа. Эти 9 бит содержат в себе 3 группы по 3 бита, предназначенные для кодирования прав доступа для владельца файла, группы-владельца файла и остальных. Сами 3 бита можно символьно представить как rwx, где r отвечает за «право на чтение», w — «право на запись», а x — «право на исполнение». Таким образом задается порядок установки прав, не позволяющий, к примеру, установить конкретному пользователю индивидуальные права доступа и, тем более, разрешить или запретить ему отдельные действия, например, разрешить ему добавлять файлы в директорию, но не удалять уже имеющиеся (возможность добавления и удаления регулируются одним битом w, т.е. либо разрешены оба, либо оба запрещены).
В данной работе решается задача реализации файловой системы, позволяющей более точно настраивать права доступа.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Выпускная квалификационная работа посвящена вопросу реализации файловой системы с тонкой настройкой прав пользователей. Данный вопрос актуален ввиду значительного усложнения процесса администрирования файловых систем с ростом числа ее пользователей.
В рамках данной работы были рассмотрены существующие механизмы разграничения доступа UNIX-подобных систем и выделены их недостатки, исходя из которых были разработаны новая правовая модель и алгоритм проверки прав новой правовой модели, обеспечивающие возможность более гибкой настройки прав пользователя. Используя эти наработки, были разработаны драйвер файловой системы и программа администрирования файловой системы (суммарно ^2500 строк кода).
Для реализации использовался язык программирования C, FUSE- модуль ядра операционной системы GNU/Linux и система управления базами данных SQLite, что обеспечивает максимальную портируемость решения.
Таким образом, задачи, поставленные для достижения цели, решены в полном объеме, цель достигнута.


[1] Consortium SQLite. SQLite // SQlite. — 2016. — URL: https://www. sqlite.org/about.html (online; accessed: 09.01.2016).
[2] Developers Valgrind. Valgrind // Valgrind.— 2016.— URL: http:// valgrind.org (online; accessed: 10.03.2016).
[3] Fossies. fuse Documentation // Software Archive.— 2016.— URL:
https://fossies.org/dox/fuse-2.9.6/structfuse operations.
html (online; accessed: 09.01.2016).
[4] Group The Open. IEEE Std 1003.1™, 2013 Edition // Single UNIX Specification.— 2013.— URL: http://pubs.opengroup.org/ onlinepubs/9699919799/ (online; accessed: 09.02.2016).
[5] Inc. LSoft Technologies. NTFS // NTFS.com. - 2016. - URL: http: //ntfs.com/ntfs.htm (online; accessed: 20.04.2016).
[6] Inc. LSoft Technologies. NTFS Permissions // NTFS.com.— 2016.— URL: http://ntfs.com/ntfs-permissions.htm (online; accessed: 20.04.2016).
[7] Josey Andrew. IEEE Computer Society // POSIX - Austin Joint Working Group.— 2016.— URL: http://standards.ieee.org/ develop/wg/POSIX.html (online; accessed: 15.03.2016).
[8] Linux. Linux.com archive // 2.6.14.— 2005.— URL: http:// archive09.linux.com/feed/47839 (online; accessed: 08.01.2016).
[9] Ruder Andrew. Trustees ACL // Trustees.— 2005.— URL: http: //trustees.sourceforge.net (online; accessed: 20.04.2016).
[10] Stallman Richard. GNU // Linux and the GNU System.— 2016.— URL: http://www.gnu.org/gnu/linux-and-gnu.en.html (online; accessed: 08.01.2016).
[11] Wikipedia. Filesystem in Userspace // the free encyclopedia. — 2016. — URL: https://en.wikipedia.org/wiki/Filesystem_in_Userspace (online; accessed: 09.01.2016).
[12] Wikipedia. Windows NT // the free encyclopedia. — 2016. — URL: https://en.wikipedia.org/wiki/Windows_NT (online; accessed: 20.04.2016).
[13] user community Arch Linux. Arch Linux // Access Control Lists.— 2016.— URL: https://wiki.archlinux.org/index.php/Access_ Control_Lists (online; accessed: 01.02.2016).
[14] Костромин Виктор. Linux для пользователя. — БХВ-Петербург, 2003.-С. 658.


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ