Автор работы: Пользователь скрыл имя, 04 Ноября 2010 в 13:39, Не определен
Понятие сети. История возникновения
2.25. Файловая система (виды, отличия) и права доступа в ОС Linux.
Файловая система Linux, в отличие от файловых систем DOS и Windows, является единым деревом. Корень этого дерева — каталог, называемый root (рут), и обозначаемый символом /. Части дерева файловой системы могут физически располагаться в разных разделах разных дисков или вообще на других компьютерах — для пользователя это прозрачно. Процесс присоединения файловой системы раздела к дереву называется монтированием, удаление — размонтированием. Например, файловая система CD ROM в ALT Linux монтируется по умолчанию в каталог /mnt/cdrom (знак разделителя каталогов в путях Linux — /, а не \, как в DOS/Windows). Текущий каталог обозначается как ./.
Файловая система Linux содержит следующие каталоги первого уровня:
Файловое дерево формируется из отдельных частей, называемых файловыми системами, каждая из которых содержит один каталог и список его подкаталогов и файлов. Термин "файловая система", по сути, имеет два значения. С одной стороны, это составная часть файлового дерева, а с другой — все файловое дерево и алгоритмы, с помощью которых Linux управляет им. Как правило, значение термина становится ясным из контекста.
    Файловые 
системы прикрепляются к 
В файловой системе ext2 (и во многих других) поддерживается семь типов файлов:
Поскольку Linux - многопользовательская OS, в ней существует система прав доступа к файлам, служащая для защиты файлов каждого пользователя от влияния других пользователей системы.
Права доступа подразделяются на три типа:
                        
-чтение(read),  
                    
-запись(write),  
                    
-выполнение (execute).
Разрешение на чтение позволяет пользователю читать содержимое файлов, а в случае каталогов - просматривать перечень имен файлов в каталоге (используя, например, ls). Разрешение на запись позволяет пользователю писать в файл, изменять его или удалять. Для каталогов это дает право cоздавать в каталоге новые файлы и каталоги, или удалять файлы в этом каталоге. Наконец, разрешение на выполнение позволяет пользователю выполнять файлы (как бинарные программы, так и командные файлы). Если на файле стоит атрибут Execute, то независимо от его расширения он считается программой, которую можно запустить. (Вот почему в *nix не принято ставить исполняемым файлам расширения по типу DOS'овских *.com, *.exe, *.bat. Вообще в Unix/Linux нет такого жесткого понятия 'расширение файла', как в Dos/Windows, и система сама определяет тип файлов независимо от их расширения, но это - уже другая история...). Так же атрибут выполнения может стоять у shell-скриптов, CGI-скриптов, и у всего, что можно хоть как-то запустить. Разрешение на выполнение применительно к каталогам означает возможность выполнять команды вроде cd.
Эти типы прав доступа могут быть предоставлены для трех классов пользователей:
     
- владельца - у каждого файла 
в Linux'e есть один владелец. 
 - группы - с каждым файлом связана группа 
пользователей этого      
файла. Наиболее общая группа для файлов 
пользователей называется users, в эту       
группу обычно включаются все пользователи 
системы (чтобы узнать группу конкретного 
файла, используйте команду ls -l file). 
- всех остальных пользователей.
Владельцем файла становится юзер, который создал этот файл. Короче говоря, для файла все юзеры делятся на 3 типа: хозяин, или владелец, юзеры, состоящие в одной группе с владельцем, и все остальные юзеры. Для каждого типа - свои права. Владельцем всех системных файлов является Root. Он же имеет право забирать файлы у одного юзера и передавать их другому (менять владельца). Делается это так:
chown <имя нового владельца> <имя файла>.
Для передачи каталога надо вводить:
chown -R <ия нового владельца> <имя каталога>
                   
Изменить права доступа к 
    Если 
войти в любой каталог, где есть файлы, 
и набрать "ls -l", то появится список 
всех файлов в этом каталоге и права доступа 
в символьной форме. Строка прав доступа 
состоит из 10 символов. Первый символ указывает 
на тип файла: "d"-директория, "-"-обычный 
файл(рис. 25.1.). Три последующих - права 
доступа владельца к этому файлу. Если 
первый символ из этих трех - "r", владелец 
имеет право читать этот файл, а если "-", 
то не имеет. Следующие 2 символа - "w"-писать 
и "x"-запускать. Если вместо них стоит 
"-", значит, владелец этого права 
не имеет. Еще 3 символа - права доступа 
группы, еще три - права всех остальных 
пользователей. 
  | 
рис. 25.1 кодирование типов файлов в листинге команды ls.
Примеры:
drwxrwxrwx - директория, к которой все имеют любые права доступа.
-rwxr--r-- - обычный файл, владелец может делать все, а остальные только читать.
-r-------- - обычный файл, который владелец может только читать, а остальные пользователи не видят.
Важно заметить, что права доступа, которые имеет файл, зависят также от прав доступа к каталогу, в котором этот файл находится. Например, даже если файл имеет -rwxrwxrwx, другие пользователи не смогут до него добраться, если у них не будет прав на чтение и выполнение каталога, в котором находится файл. Например, если юзер захочет ограничить доступ ко всем своим файлам, он может просто изменить права доступа своего домашнего каталога /home/user на drwx------. Таким образом, никто другой не будет иметь доступ в его каталог, а следовательно посторонним будут недоступны и все файлы. Так что, пользователь может не заботиться об индивидуальной защите своих файлов. Другими словами, чтобы иметь доступ к файлу, вы должны иметь доступ ко всем каталогам, лежащим на пути от корня к этому файлу, а также разрешение на доступ собственно к этому файлу. Обычно пользователи UNIX весьма открыты всеми своими файлами. По умолчанию файлам устанавливается защита -rw-r--r--, которая позволяет другим пользователям читать файлы, но ни коим образом их не менять. Каталогам обычно устанавливаются права доступа drwxr-xr-x, что позволяет другим пользователям ходить с правами экскурсантов по вашим каталогам, но ничего в них не трогать и не записывать.
    Но 
многие пользователи хотят держать 
других подальше от своих файлов. Установив 
права доступа файла -rw-------
                    
С правами доступа в 
chmod {a,u,g,o}{+,-}{r,w,x} <filenames>
Кратко, вы выбираете из all (все), user (пользователь), group (группа) или other (другие). Далее указываете, либо вы добавляете права (+), либо лишаете прав (-). И наконец, вы указываете один или несколько режимов: read, write или execute.
Примеры:
-chmod a+r stuff – дает всем пользователям право читать файл stuff.
- chmod og-x stuff - лишает права на выполнение всех, кроме владельца.
- chmod u+rwx stuff - разрешает владельцу все (read, write и execute).
- chmod o-rwx stuff - запрещает все (read, write и execute) пользователям категории другие (other).
2.25.2. Числовая форма прав доступа.
                    400-владелец имеет право 
на чтение 
         200 - владелец 
имеет право на запись 
         100 - владелец 
имеет право на выполнение 
         40 - группа имеет 
право на чтение 
         20 - группа имеет 
право на запись 
         10 - группа имеет 
право на выполнение 
         4 - остальные 
имеют право на чтение 
         2 - остальные 
имеют право на запись 
         1 - остальные 
имеют право на выполнение
Теперь осталось только просуммировать числа, соответствующие тем правам доступа, которые мы хотим поставить файлу.
Примеры:
400+200+100+40+4=744.
chmod 744 stuff - владелец может делать все, а остальные - только читать.
400+40+4=444.
chmod 444 stuff - все имеют право только на чтение.
400+100+10+1=611.
chmod 611 stuff - владелец может читать и выполнять, остальные - только выполнять.
400+200+100+40+10+4+1=755.
chmod 755 script - классическая команда. Скрипт - это исполняемый файл, и все должны иметь к нему доступ на чтение и выполнение. Только владелец этого файла может его изменять или удалять.
2.26.Основные команды Linux.
    В 
мире Unix (следовательно, и Linux) понятие 
команды несколько иное. Здесь 
команда - это любой выполняемый 
файл. Командой является любой файл, 
предназначенный для 
Несмотря на то что Linux является вполне современной 32-разрядной операционной платформой, поддерживающей оконный интерфейс, пользователю достаточно часто приходится работать с так называемой системной консолью-инструментом, аналогичным сеансу MS-DOS в Windows: