
- •1. Классификация программного обеспечения
- •1. Базовое программное обеспечение
- •2. Трансляторы
- •3. Языки программирования
- •4. Инструментальные средства (утилиты)
- •5. Прикладное программное обеспечение
- •2. Основные задачи ос
- •3. Типы ос
- •4. Базовая система ввода/вывода (bios)
- •5. Файловая система. Типы файловых систем. Их особенности.
- •6. Загрузчик ос
- •Addr1 - addr2
- •7. Ядро ос
- •8. Основные функции ядра
- •9. Драйвер ос
- •10. Типы драйверов
- •11. Типы многозадачности, их особенности
- •12. Понятие суперпроцесса
- •13. Потоки
- •Листинг 2. Окончание процедуры инициализации ядра Linux
- •14. Семафоры
- •15. Встроенные функции ос. Встроенные команды ос
- •16. Внешние команды
- •17. Понятие пользователя. Понятие идентификатора пользователя
- •18. Понятие группы. Понятие идентификатора группы
- •19. Виртуальная память. Swap
- •20. Историческое развитие ос
- •21. Ос unix
- •22. Типы unix
- •23. Особенности bsd. Особенности System 5
- •24. Ядро unix
- •25. Типы драйверов unix
- •26. Потоки в unix
- •27. Управление процессами в unix
- •28. Режимы ядра в Unix
- •29. Файловая система в unix
- •30. Реализация безопасности в unix на уровне файловой системы
- •31. Реализация безопасности в unix на уровне ос
- •32. Понятие пользователь, группа в unix
- •33. Бесправный пользователь. Пользователь ресурса. Пользователь ос
- •34. Понятие ресурса
- •35. Понятие консоли.
- •36. Основные команды в unix
- •37. Сеть в unix
- •38. Ос ms-dos
- •39. Особенности реализации ms-dos, как составной части unix
- •40. Реализация ядра в ms-dos
- •41. Реализация драйверов в ms-dos
- •42. Реализация потоков в ms-dos
- •43. Управление процессами в ms-dos
- •44. Ограничение на использование оп
- •45. Файловая система в ms-dos
- •46. Реализация безопасности в ms-dos
- •47. Реализация многозадачности в ms-dos
- •48. Встроенные команды ms-dos
- •49. Внешние стандартные команды ms-dos
- •50. Графическая оболочка X- Window
- •51. Графическая оболочка Windows
- •52. Ос Windows nt
- •53. Ядро Windows nt
- •54. Драйверы в Windows nt
- •55. Реализация многозадачности в Windows nt
- •56. Файловая система в Windows nt
- •57. Режимы использования оп в Windows nt
- •58. Реализация безопасности в Windows nt на уровне файловой системы
- •59. Реализация безопасности в Windows nt на уросне ос
- •1. Пользователи, ресурсы и операции доступа
- •2. Локальные, глобальные и специальные группы
- •3. Встроенные группы пользователей и их права
- •4. Возможности пользователей
- •5. Управление профилями пользователей
- •6. Аудит
- •7. Репликация каталогов в сети Windows nt
- •60. Сеть в Windows nt
- •1. Однодоменная сеть Windows nt
- •2. Многодоменная сеть Windows nt
32. Понятие пользователь, группа в unix
Каждый файл помимо названия, полного пути, времени создания и т.д. обладает набором атрибутов, определяющих права доступа для любого пользователя. Все пользователи сервера делятся относительно файла на три категории:
владелец файла (как правило тот, кто его создал или скопировал)
пользователи, входящие в группу, к которой принадлежит файл
все остальные пользователи
Все права относительно файла также делятся на три категории:
право на чтение (read - сокращенно "r") файла - позволяет просматривать и копировать содержимое файла
право на запись файла (write - сокращенно "w") - позволяет дописывать и перезаписывать содержимое файла
право на исполнение файла (execute - сокращенно "x") - позволяет отдать операционной системе команду на исполнение файла как программы
Для каждой категории пользователей (владельца, группы, остальных) определяются свои права (на чтение, на запись, на исполнение) - всего получается девять позиций, принимающих значение "есть"/"нет". Как правило, права на доступ к файлу обозначаются девятью символами - три повторяющиеся тройки символов rwx, каждый из символов обозначает присутствие соответствующего права доступа и может быть заменен на "-" если соответствующее право отсутствует. Первая тройка соответствует правам владельца файла, вторая - правам пользователей из той же группы, к которой принадлежит файл, третья - правам для всех остальных. Например, предположим, что для файла myfile имеются следующие права доступа:
для владельца - чтение, запись, исполнение (rwx)
для группы - чтение, исполнение (r-x)
для всех остальных - только чтение (r--)
Тогда права доступа к файлу будут описываться следующей последовательностью символов: rwxr-xr—
Иногда для краткости используют "числовую" форму описания прав доступа - трехзначное число, каждая цифра которого соответствует тройке прав для соответствующей категории пользователей: первая - владельцу, вторая - группе, третья - остальным. Сама цифра образуется суммой чисел, приписываемых каждой категории прав доступа: 1 - исполнение, 2 - запись, 4 - чтение. Таким образом 'rwx' соответствуют 7, 'rw-' - 6, 'r-x' - 5, 'r--' - 4, '-w-' - 2, '--x' - 1, '---' - 0.
Например, предположим, что для файла myfile имеются следующие права доступа:
для владельца - чтение, запись (rw-)
для группы - чтение (r--)
для всех остальных - ничего (---)
В символьной форме такие права доступа будут описываться как rw-r-----, а в числовой форме они выглядят так: 640.
Иногда числовая форма описания прав доступа к файлу включает в себя четыре цифры - в этом случае первая цифра не относится к правам доступа, как таковым (а определяет поведение файла во время исполнения, так что здесь мы этого касаться не будем) и учитывать надо последние три цифры.
Каталог для Unix - одна из разновидностей файла. Соответственно все, что было сказано выше о правах доступа к файлам, относиться и к каталогам. Правда понятия "прочитать", "записать" и "исполнить" в отношении каталога имеют свою специфику:
"Чтение" подразумевает получение списка файлов, принадлежащих каталогу - важно помнить, что это не блокирует доступ к самим файлам, лежащим в этом каталоге.
"Запись" подразумевает изменение списка файлов, принадлежащих каталогу - чтобы создать файл в каком-либо каталоге, надо быть пользователем, который имеет право записи в этот каталог, чтобы удалить файл, надо иметь не право записи в удаляемый файл (это позволяет только удалить или перезаписать информацию в самом файле), а право записи в каталог, которому файл принадлежит
"Исполнение" - подразумевает принципиальную возможность доступа к любому файлу, принадлежащему данному каталогу или его подкаталогам. Даже если права доступа к файлу, находящемуся в каталоге и позволяют какие-либо операции с ним, отсутствие права на "исполнение" этого каталога не позволит ничего с этим файлом сделать.
Для файлов, не являющихся cgi-программами - таких как .html, .shtml или .php, - права доступа могут быть установлены в 644 (-rw-r--r--) (запись-чтение для владельца и только чтение для всех остальных).
Для файлов, являющихся cgi-программами (perl-скрипты, скомпилированные C-программы и прочее), права доступа должны быть установлены в 744 (rwxr--r--) (исполнение-запись-чтение для владельца и чтение для всех остальных). Нельзя разрешать запись в файл с cgi-программой кому-либо, кроме владельца - попытку запустить такую cgi-программу веб-сервер считает ошибкой.
При разработке cgi-программ учитывайте, пожалуйста, что web-сервер запускает их от имени пользователя-владельца сайта. Если Ваша cgi-программа работает с файлами данных (записывает в них что-либо), то эти файлы должны иметь права доступа 600 (rw------).
PHP-скрипты запускаются от имени пользователя, не являющегося пользователем-владельцем сайта поэтому для файлов данных, которые используют PHP-скрипты, необходимо установить права 666 (rw-rw-rw-), а если php-скрипт создает в каком-либо каталоге новые файлы, то этот каталог должен иметь права на запись "для всех" - например 777 (rwxrwxrwx).
Права на каталоги мы рекомендуем устанавливать в 755 (rwxr-xr-x). Эти же права устанавливаются по умолчанию при создании нового каталога. Нельзя разрешать запись в каталог с cgi-программой кому-либо, кроме владельца - попытку запустить cgi-программу из такого каталога веб-сервер считает ошибкой.