Волгоград Linux User Group |
|
Организована 23 ноября 2002 года
Проект заморожен Птн Июл 6 02:11:14 MSD 2012 |
|
|
Права в LinuxВиды прав доступаПрава доступа определяются по отношению к трём типам действий: чтение, запись и исполнение. Эти права доступа могут быть предоставлены трём классам пользователей: владельцу файла (пользователю), группе, которой принадлежит файл, а также всем остальным пользователям, не входящим в эту группу. Право на чтение даёт пользователю возможность читать содержимое файла или, если такой доступ разрешён к каталогам, просматривать содержимое каталога (используя команду ls). Право на запись даёт пользователю возможность записывать или изменять файл, а право на запись для каталога — возможность создавать новые файлы или удалять файлы из этого каталога. Наконец, право на исполнение позволяет пользователю запускать файл как программу или сценарий командной оболочки (разумеется, это действие имеет смысл лишь в том случае, если файл является программой или сценарием). Владение правами на исполнение для каталога позволяет перейти (командой cd) в этот каталог. Чтобы получить информацию о правах доступа, используйте команду ls с ключом -l. При этом будет выведена подробная информация о файлах и каталогах, в которой будут, среди прочего, отражены права доступа. Рассмотрим следующий пример: /home/ivanov/docs# ls -l report1303 -rw-r--r-- 1 ivanov users 505 Mar 13 19:05 report1303 Первое поле в этой строке (-rw-r--r--) отражает права доступа к файлу. Третье поле указывает на владельца файла (ivanov), четвёртое поле указывает на группу, которая владеет этим файлом (users). Последнее поле — это имя файла (report1303). Другие поля описаны в документации к команде ls. Данный файл является собственностью пользователя ivanov и группы users. Последовательность - Первый символ из этого ряда (-) обозначает тип файла. Символ означает, что это — обычный файл, который не является каталогом (в этом случае первым символом было бы d) или псевдофайлом устройства. Следующие три символа (rw-) представляют собой права доступа, предоставленные владельцу ivanov. Символ r — сокращение от read (англ. читать), а w — сокращение от write (англ. писать). Таким образом, ivanov имеет право на чтение и запись (изменение) файла report1303. После символа w мог бы стоять символ x, означающий наличие прав на исполнение (англ. execute, исполнять) файла. Однако символ -, стоящий здесь вместо x, указывает, что ivanov не имеет права на исполнение этого файла. Это разумно, так как файл report1303 не является программой. В то же время, пользователь, зарегистрировавшийся в системе как ivanov, при желании может предоставить себе право на исполнение данного файла, поскольку является его владельцем. Для изменения прав доступа к файлу или каталогу используется команда chmod. Следующие три символа (r--) отражают права доступа группы к файлу. Наконец, последние три символа (это опять r--) отражают собой права доступа к этому файлу всех других пользователей, помимо собственника файла и пользователей из группы users. Так как здесь указан только символ r, эти пользователи тоже могут читать файл Вот ещё несколько примеров: -rwxr-x--x Только владелец файла может читать и изменять его. Все пользователи могут читать файл, изменять его и запускать на выполнение. Никто, включая самого владельца файла, не имеет прав на его чтение, запись или выполнение[30]. Хотя такая ситуация вряд ли имеет практический смысл, с точки зрения системы она является вполне корректной. Разумеется, владелец файла может в любой момент изменить права доступа к нему. Возможность доступа к файлу зависит также от прав доступа к каталогу, в котором находится файл. Например, даже если права доступа к файлу установлены как -rwxrwxrwx, другие пользователи не могут получить доступ к файлу, пока они не имеют прав на исполнение для каталога, в котором находится файл. Другими словами, чтобы воспользоваться имеющимися у вас правами доступа к файлу, вы должны иметь право на исполнение для всех каталогов вдоль пути к файлу. «Пользователями» системы Linux, выполняющими различные действия с файлами и каталогами, являются на самом деле вовсе не люди, а программы, выполняемые в системе — процессы. Одна из таких программ — командная оболочка, которая считывает команды пользователя из командной строки и передаёт их системе на выполнение. Каждая программа (процесс) выполняется от имени определённого пользователя. Её возможности работы с файлами и каталогами определяются правами доступа, определёнными для этого пользователя. С целью оптимальной настройки прав доступа для ряда |
|
Powered by
|