[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Операционные системы / Unix /

Права доступа к файлам в Unix-системах

Источник: http://easyip.ru/issues/5/

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

Итак, каждый файл имеет конкретного владельца, но, кроме того файлами, также могут владеть конкретные группы пользователей, которые определяются при регистрации пользователей в системе. Каждый пользователь становится членом как минимум одной группы пользователей (своей либо какой-то из общих групп). Системный администратор (суперпользователь, обычно root) может обеспечить пользователю доступ более, чем к одной группе. Группы обычно определяются типами пользователей данной машины, например, в университетском UNIX пользователи могут быть разбиты на группы студент, преподаватель, руководство, гость; или пользователи виртуального хостинга одного и того же сервера могут принадлежать к группе www.

Права доступа подразделяются на три типа: чтение (read), запись (write) и выполнение (execute). Эти типы прав доступа могут быть предоставлены трем классам пользователей: владельцу файла, группе, в которую входит владелец, и всем остальным пользователям этой машины. Разрешение на чтение (read) позволяет пользователю читать содержимое файлов, а в случае каталогов - просматривать перечень имен файлов в каталоге. Разрешение на запись позволяет пользователю писать в файл и изменять его. Для каталогов это дает право создавать в каталоге новые файлы и каталоги, или удалять файлы и каталоги в текущем каталоге. Наконец, разрешение на выполнение позволяет пользователю выполнять файлы (как бинарные программы, так и командные файлы). Разрешение на выполнение применительно к каталогам позволяет пользовотелю войти в данный каталог или, по другому говоря, сменить значение переменной окружения $PWD командной оболочки на значение, соответствующее местоположению этого каталога от корня файловой системы UNIX (полный путь). При этом, если бит чтения (read) для данного каталога не установлен, то пользователь сможет только войти в каталог, но не сможет прочитать имена файлов, содержащиеся в этом каталоге - для пользователя каталог будет пуст.

Небольшой пример, демонстрирующий работу с правами доступа. Используя команду ls с опциями -al можно получить на экране перечень всех файлов данного каталога (даже скрытых) в "длинном" формате, включающем и информацию о правах доступа.

drwx --- ---

4

user

users

4096

Сен 12 19:11

./

drwx --- ---

9

user

users

4096

Июн 7 01:14

../

-rw- r-- r--

1

user

users

11282

Фев 25 2003

data-type0.5.4.txt

-rw- r-- r--

1

user

users

20897

Июл 6 16:43

data-type0.5.4.txt.html

drwx --- ---

2

user

users

4096

Мар 14 18:17

test/

drwx r-x r-x

2

user

users

4096

Мар 6 2003

todo/

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

Сейчас нам наиболее интересно самое первое поле - поле атрибутов. Оно состоит из 10 полей, разделямых на черыре секции:

  1. В первой секции, которая состоит из одного поля, находится либо - (прочерк), либо d. Наличие буквы d говорит о том, что данный объект является директорией. Прочерк обозначает, что объект - обычный файл.

  2. Вторая секция, как и все последующие, состоит из 3-х полей... Она определяет права доступа для владельца (u) объекта к этому объекту. Первое поле означает право на чтение (r), т.е. на открытие и чтение содержимого этого файла; или просмотр содержимого директории, если это директория. Второе поле определяет право на запись (w), т.е. на модификацию, удаление этого файла; или, если это директория, на создание и удаление в ней файлов и директорий; третье поле - право на выполнение (x), т.е. система будет считать, что этот файл - программа или скрипт; если же это директория - то наличие данного атрибута позволит в нее "зайти".

  3. Третья секция, аналогична первой, но определяет права для группы (g), которая установлена для этого объекта.

  4. Четвертая секция, аналогична первой, но определяет права для всех остальных (o) пользователей системы.

Кроме того, система прав доступа имеет также и числовое представление. Права представляют из себя число вида XYZ, состоящее из цифр X,Y и Z, определяющих права для владельца (X), группы (Y) и остальных (Z), соответственно. Составляется X, Y или Z по одинаковым правилам: праву на чтение соответствует цифра 4, праву на запись - 2, праву на выполнение - 1. Если вы разрешаете какие-то из этих прав просто суммируете, соответствующие им цифры. Таким образом, если ваш файл имеет право читать, изменять и запускать только владелец, то, соответствующие значения для числового представления вычисляются следующим образом: X=4+2+1=7, Y=0+0+0=0, Z=0+0+0=0.

Теперь давайте обратимся к вопросу о том, как же изменять права доступа. Здесь все зависит от способа вашего доступа к системе. Если вы имеете unix shell, то вы можете воспользоваться командой chmod (change mode) примерно так

chmod 0644 file.txt

или даже так

chmod og-x file.txt

Для получения более подробной информации о команде chmod обратитесь к странице справочного руководства - man chmod.

Если же вы имеете доступ к системе по протоколу FTP (например, доступ к вашему сайту), то и здесь вы сможете работать с правами доступа, если это "позволяет" сервер. Современные клиенты FTP, как для Windows, так и для Unix, предоставляют такую возможность. Причем зачастую, вы имеете возможность работать как с буквенным, так и числовым представлением прав доступа, как вам удобнее.

На первый взгляд все это несколько сложно и достаточно запутано. Со временем, поработав с файлами и каталогами, вы конечно поймете "физический смысл" системы прав доступа. Пока же важно запомнить следующие вещи. Вы можете устанавливать права доступа как вам заблагорассудится, но помните, что нежелательно давать право на запись в ваши директории и файлы всем остальным (other) пользователям системы, и в некоторых случаях, пользователям входящим в вашу группу. Вы вообще можете запретить любые действия с вашими файлами и директориями для пользователей из вашей группы и всех остальных пользователей, установив права для директорий drwx --- --- и для неисполняемых файлов -rw- --- ---. Действуйте в соответствии с вашими представлениями о политике доступа к вашим файлам. Удачи.

Init-системой.




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Операционные системы / Unix /

Различия между UNIX и Linux
09-03-2010   

История UNIX начинается в 1969 г. Большинство современных UNIX-систем являются коммерческими версиями исходных дистрибутивов UNIX. Solaris от Sun, HP-UX Hewlett-Packard... подробнее

Кол. просмотров: общее - 3645 сегодня - 1

Права доступа к файлам в Unix-системах
21-02-2010   

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

Кол. просмотров: общее - 3044 сегодня - 0

FreeBSD: максимальная безопасность
16-04-2009   

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

Кол. просмотров: общее - 3455 сегодня - 0

Простейшие приемы и основы безопасности Unix систем - Часть 1
16-04-2009   

Скорее всего, ничего приципиально нового я вам не расскажу, я лишь хочу красочно расписать старые приемы на новый лад. Знание этих основ поможет понять корни проблем происходящих в сегодняшней реалии... подробнее

Кол. просмотров: общее - 5031 сегодня - 0

Простейшие приемы и основы безопасности Unix систем - Часть 2
16-04-2009   

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

Кол. просмотров: общее - 3370 сегодня - 1



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects