Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX / KOZLOV2_1

.pdf
Скачиваний:
86
Добавлен:
27.03.2016
Размер:
4.3 Mб
Скачать

Рис.3.1. Информация о файле, отображаемая при использовании команды ls с опцией -l

Если нужно отобразить подробную информацию такого рода для всех файлов каталога, воспользуйтесь командой ls -l без параметра. Все файлы в ОС Linux имеют один и тот же формат байтовый поток.

[antonk@lab4236sl ~]$ ls -l

 

 

 

 

 

total 5224

 

 

 

 

 

 

 

 

-rw-rw-r–

1

antonk

antonk

12

Sep

9

11:53

1

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:12

l.txt

-rw-rw-r–

1

antonk

antonk

24

Sep

9

12:26

2

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:12

2.txt

-rw-rw-r–

1

antonk

antonk

0

Sep

9

12:26

3

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:12

3.txt

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:12

4.txt

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:12

5.txt

-rw-rw-r–

1

antonk

antonk

540

Sep

4

12:19

BMT.log

-rw-r–r–

1

antonk

antonk

6377

Jul

19

17:45

 

-rw-r–r–

1

antonk

antonk

2804 Jun 30 17:50 :

-rw-r–r–

1

antonk

antonk

2030709

Jul 17

15:36

BMT_mdr.dat

 

 

 

 

 

 

51

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

-rw-r–r–

1

antonk

antonk

2599211

Jul 17 15:36 BMTjndr.grd

drwxrwxr-x

2

antonk

antonk

4096 Jul 25 14:07 DBtest

drwxr-xr-x

2

antonk

antonk

4096

 

Sep

5

11:18

Desktop

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:19

a.c

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:19

b.c

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:19

c.c

-rw-rw-r–

1

antonk

antonk

0

Oct

31

19:19

d.c

-rw-r–r–

1

antonk

antonk

 

37729

Jul

17

15:36 dessis.par

-rw-r–r– 1

antonk

antonk

59078 Rug 28

12:56 pyvnc2swf-0.8.2.tar.gz

-rwxr-xr-x

1

antonk

antonk

139

Rug

31

18:34

script

drwxr-xr-x

4

antonk

antonk

4096

Jul

12

16:58

sentaurus

-rw-rw-r–

 

1

antonk

antonk

74

Sep

5

11:22

tecplot.phy

-rw-rw-r–

 

1

antonk

antonk

4116

Sep

5

11:22

tecswb.pref

-rw-r–r–

1

antonk

antonk

438058 Rug

28 12:56

vne2swf-0.5.0.tar.gz

[antonk@lab4236sl ~]$

Байтовый поток представляет собой просто последовательность байтов. Это позволяет распространить понятие файла в системе Linux на все компоненты данных. Каталоги и устройства классифицируются как файлы.

Рассматривая все объекты как файлы, Linux позволяет упростить организацию данных и обмен ими. Данные, записанные в файле, можно посылать непосредственно на устройство, например на экран, потому что устройство сопрягается с системой, используя тот же формат байтового потока, который применяется в обычных файлах. Этот же формат файлов используется при создании других компонентов операционной системы. Интерфейс, обеспечивающий доступ к какому-либо устройству, например к экрану или клавиатуре, проектируется как файл. Другие компоненты, в частности каталоги, сами по себе являются файлами типа потоков байтов, но имеют особую внутреннюю организацию. Файл каталога содержит информацию о каталоге, оформленную в специальном формате каталога. Поскольку все эти различные компоненты рассматриваются как файлы, можно сказать, что они представляют собой различные типы файлов: устройство посимвольного ввода-вывода один тип файлов; каталог другой тип файлов. Число типов файлов зависит от конкретной реализации ОС Linux. В повседневной работе информация о типе файлов используется редко, но она может быть полезна при поиске каталогов и устройств.

Типы файлов ОС Linux:

обычные файлы;

файлы каталогов;

52

PDF created with pdfFactory Pro trial version www.pdffactory.com

каналы, действующие по принципу очереди;

файлы устройств посимвольного ввода-вывода;

файлы устройств поблочного ввода-вывода.

Обычные файлы имеют один формат байтовый поток, но могут использоваться по- разному. Наиболее существенно отличаются двоичные и текстовые файлы. Пример двоичного файла программный код после его трансляции. Следует отметить, однако, что даже текстовые файлы можно классифицировать по характеру их использования. В качестве примера приведем файлы, содержащие исходные тексты программ на языке С, файлы команд интерпретатора и, наконец, просто пустые файлы. Файл может быть каталогом или исполняемой программой.

Команда file системы ОС Linux помогает определить, для чего используется тот или иной файл. После запуска данной команды система изучает первые несколько строк файла и на основании этой информации пытается отнести его к тому или иному типу. Получив команду file, система ищет в этих нескольких строках специальные ключевые слова или особые числа, однако выдаваемый результат бывает не всегда точен.

В следующем примере с помощью команды file системе дается указание изучить содержимое двух файлов и классифицировать их:

[antonk@lab4236s ~]$ file p.pl p.pl: perl script text executable

[antonk@lab4236s ~]$ file copy copy: directory

[antonk@lab4236s ~]$ file bmt1 bmt1: empty

[antonk@lab4236s ~]$ file sentaurus.tar sentaurus.tar: writable, regular file, no read permission

[antonk@lab4236s ~]$ file link link: symbolic link to ‘etc/rc'

[antonk@lab4236s ~]$ file new_command new_command: Bourne shell script text executable

[antonk@lab4236s ~]$

Из данного примера видно, что файл p.pl является исполняемым текстовым файлом- скриптом языка Perl, copy – директорией, bmt1 – пустым файлом, sentaurus.tar – стандартным файлом, link – ссылкой, new_command – файлом-скриптом командного интерпретатора Bourne.

53

PDF created with pdfFactory Pro trial version www.pdffactory.com

3.4. Н азначение прав доступа на объекты

Операционная система Linux является не только удобной, гибкой, мн огозадачной и многопользовательской средой , но также надежной и безопасной. В Linux принципиально реализованы два глобальных уровня безопасности.

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

графической средах непосредственно на компьютере с системой или с удаленного терминала должен ввести свой login, а также пароль. Система сначала проверяет, существует ли пользователь с данным именем, и если такой действительн о существует, то далее проверяет, он ли пользуе тся этой учетной записью, при помощи све рки пароля. При входе пользователя в систему подключается второй уровень безопасности.

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

Все файлы в системе мож но условно разделить на две категории: фа йлы, которые использует сама система (бинарные исполняемые файлы, статические и ди намические библиотеки и т.д.), и файлы, ко торые используют пользователи.

Напомним, что краткую или расширенную информацию о наличии файла или директории можно получить по команде ls. Выведем расширенную информацию о фай ле chanal1.plx

.По этой команде отображается информация, приведенная на рис.3.2.

Рис.3.2. Расширенны й вывод сведений с расшифровкой полей данных

54

PDF created with pdfFactory Pro trial version www.pdffactory.com

Рассмотрим полную информацию о файле по расширенному выводу команды ls с опцией –l слева направо. Информацией слева направо является набор прав доступа на объект, далее через пробел указывается, сколько раз встречаются в системе ссылки на этот объект, затем указывается владелец данного объекта, потом через пробел отображаются пользователи, которые могут пользоваться этим объектом, далее идет размер файла, затем дата создания или последней модификации объекта и, наконец, указывается название объекта.

При сокращенном выводе данных по команде ls указывается имя объекта. Остановимся на перечисленных полях данных более подробно, уже справа налево.

Итак, объекту можно придавать либо имя, либо имя с расширением. Использование расширений в Linux является необязательным. К ним обращаются только для ассоциации файлов и исполняемых команд. При работе с файлами удаленно в командном интерпретаторе с помощью терминала, когда не используются мышь и пиктограммы Linux, расширения не нужны. Однако они могут быть полезны, если запускается даже удаленно какое-нибудь графическое приложение, которое по умолчанию запускает файлы с определенным расширением.

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

Размер файла или каталога по умолчанию в ls указывается в байтах, однако вывод сведений о размере объекта в других программах и командах можно изменить.

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

Следующее поле указывает суммарное количество ссылок в системе на этот объект. В Linux имеется возможность создавать мягкие и жесткие (твердые) ссылки. Если объект присутствует один и на него не ссылаются в системе, то в этом поле указывается цифра

«1».

Наконец, последнее поле, которое мы рассматриваем, и оно же первое при чтении информации слева направо права доступа на объект. На данном поле мы остановимся подробнее.

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

55

PDF created with pdfFactory Pro trial version www.pdffactory.com

специально или случайно повредить данные другого пользователя. Кроме того, данные ограничения позволяют сохранить конфиденциальность информации пользователя. При этом ограничения доступа к данным разделяются на ограничение на чтение (read, символ «r»), ограничение на запись (write, символ «w») и ограничение на выполнение файла (execution, символ «x»), если он исполняемый. Комбинация прав доступа на объект указывается в следующей последовательности: r w x. Если хотя бы одно из прав у пользователя отсутствует, то на месте этого символа ставится прочерк.

Таким образом, операционная система не позволяет пользователю, не имеющему на это полномочий, читать, модифицировать объекты и запускать программы. Например, если пользователю разрешено только читать, а остальное запрещено, то последовательность будет такой: r--, а если разрешено читать и запускать файл, но нельзя модифицировать, то такой: r-x и т.д, т.е. каждый пользователь обладает своими правами на каждый объект (рис.3.3).

Рис.3.3. Символьное обозначение прав доступа на объект

Однако для того, чтобы следить за работой операционной системы, назначать новых пользователей, запускать программы диагностики работы системы, контролировать работу процессов, состояние ресурсов системы и устанавливать приоритеты между пользователями, в операционной системе Linux назначается пользователь с неограниченными возможностями, который имеет учетную запись «root». Рут или, как его еще называют, суперюзер призван следить за работой пользователей и системы, вовремя перераспределять ресурсы системы в пользу тех пользователей, которым их явно не хватает при решении своих задач (по умолчанию приоритеты между пользователями равны), поэтому рут изначально имеет доступ или возможность создания полного доступа не только к своим данным, но также к данным других пользователей и системы.

Кроме указанных ограничений на чтение, запись и выполнение файлов, при доступе к данным Linux имеются и другие ограничения. Все пользователи в системе по уровню доступа к данным в Linux разделяются на три категории: владелец объекта (user), пользователи, входящие в группу, которой разрешен доступ к файлу (group), и другие сторонние пользователи (other), которые не имеют отношения к объекту Linux. В связи с

этим полный набор прав доступа представляет собой последовательную комбинацию прав

56

PDF created with pdfFactory Pro trial version www.pdffactory.com

доступа всех трех категорий. При этом каждая из категорий представлена набором трех ограничений на объект: чтение (r), запись (w) и выполнение (x) (рис.3.4).

Рис.3.4. Ограничения прав доступа на объекты файловой системы

На рисунке владельцу разрешено читать и модифицировать файл, группе пользователей только читать, другим пользователям тоже только читать. Прочерк перед комбинациями говорит о том, что мы имеем дело с файлом, а не с ссылкой или категорией.

Если пользователь сам создает файлы или каталоги, он ими владеет, т.е. может ими распоряжаться. Например, он может повысить уровень доступа к ним (rwx), или передать их другим пользователям, или пользоваться ими совместно с другими пользователями.

Таким образом, при доступе к этим объектам система безопасности Linux назначает этому пользователю и использует для него категорию создатель – user. По умолчанию пользователь, создавший файл, может его читать (просматривать) и модифицировать (изменять, редактировать), а также сделать его исполняемым. Создатель объекта имеет доступ к нему по первой категории прав (чтение, запись, выполнение).

При работе с общими проектами (файлами или каталогами) в Linux имеется возможность пользователям объединяться в группы (group). Это очень удобно, когда многим пользователям приходится работать (читать, изменять и выполнять) c одними и теми же файлами. При этом разрешить пользоваться созданным объектом группе пользователей (group) может как сам создатель этого объекта (user), так и суперпользователь системы. Пользователи группы имеют одинаковые права на доступ к объекту Linux (файлу или каталогу). Пользователи группы имеют доступ к объекту по второй категории прав (чтение, запись, выполнение).

Наконец, существует третья категория прав, связанная с ограничениями доступа к объекту Linux, – другой пользователь (other). Этот пользователь не является создателем объекта (user), он не входит в группу пользователей (group), которые используют этот объект в своих целях при работе. Пользователь other имеет доступ к объекту Linux по третьей категории прав (чтение, изменение, выполнение). При попытке доступа

пользователя к объекту Linux система проверяет его на принадлежность к одной из трех

57

PDF created with pdfFactory Pro trial version www.pdffactory.com

категорий. Если пользователь является создателем объекта, то система разрешает ему получить доступ к объекту в соответствии с первой категорией прав (чтение, изменение, выполнение). Если пользователь не является создателем объекта, но находится в группе пользователей, которые могут пользоваться этим объектом, то система разрешает ему пользоваться этим объектом по второй категории прав доступа (чтение, модификация, выполнение). Наконец, если пользователь не является создателем (user) и не входит в группу пользователей (group), которым открыт доступ к объекту, т.е. является другим пользователем (other) для данного объекта, то система разрешает ему использовать объект по третьей категории прав доступа (чтение, изменение, выполнение). Один и тот же пользователь для разных данных Linux может принадлежать ко всем трем категориям. Назначение прав доступа на объект. При создании файла и директории по умолчанию командный интерпретатор назначает права доступа: rw-rw-r--для файла и rwxrwxr-xдля директории. Если пользователь user23, который входит в группу пользователей group14, создает новый файл rrr67, то расширенная информация по команде ls будет следующей (для упрощения размер и дату создания файла мы опустим):

-rw-rw-r-- 1 user23 group14

rrr67

Информация по правам доступа гласит: пользователю user23 разрешено читать и модифицировать файл; группе, в которой он состоит, – тоже читать и модифицировать файл, остальным только читать.

Однако такие права по умолчанию можно изменить, когда, например, нужно, чтобы пользователи, входящие в группу, больше не имели доступа к вашим файлам. Изменение прав доступа осуществляется с помощью команды chmod, после которой может быть указана опция, например опция –R, для рекурсивного (применимого ко всем объектам вложения) изменения прав для директории, далее через пробел новые права и опять через пробел название файла или директории. Назначать новые права на объект можно как «с нуля», т.е. независимо от предыдущих прав, так и модифицируя имеющиеся.

Назначение прав доступа «с нуля» (с помощью восьмеричного вида). Назначать права доступа «с нуля» можно с помощью восьмеричного вида путем последовательного указания трех цифр от 0 до 7, которые соответствуют каждой из категорий. Полная таблица соответствий прав доступа имеет вид табл.3.1

58

PDF created with pdfFactory Pro trial version www.pdffactory.com

Таблица 3.1

Связи разных видов прав доступа

Восьмерич

Двоичный

Симво

Права доступа

ный вид

вид

льный

 

 

 

вид

 

 

 

 

 

0

000

---

Нет никаких прав

 

 

 

 

1

001

--x

Только выполнение

 

 

 

 

2

010

-w-

Только запись

 

 

 

 

3

011

-wx

Только запись и

 

 

 

выполнение

 

 

 

 

4

100

r--

Только чтение

 

 

 

 

5

101

r-x

Только чтение и

 

 

 

выполнение

 

 

 

 

6

110

rw-

Только чтение и

 

 

 

запись

 

 

 

 

7

111

rwx

Полные права

 

 

 

 

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

Важно отметить, что назначать права на объект Linux с помощью восьмеричного вида для всех трех категорий могут только владелец объекта и root. Пользователь в группе и остальные пользователи сделать этого не могут.

Выведем сведения о файле laba2.cmd, который находится в текущей директории:

[antonk@fargo laba2]$ ls -l laba2.cmd

-rw-r–r– 1 antonk user

1810 Apr 22 13:37 laba2.cmd

[antonk@fargo laba2]$

 

Как видно, данный объект доступен владельцу для чтения и записи, группе и остальным только для чтения.

Назначим новые права доступа: владельцу полные права, группе чтение и запись, остальным никаких прав. В соответствии с табл.3.1, в восьмеричном виде установим 760 с помощью команды chmod (табл.3.2).

[antonk@fargo

laba2]$ chmod 760 laba2.cmd

[antonk@fargo

laba2]$ ls -l laba2.cmd

-rwxrw----

1 antonk user

1810 Apr 22 13:37 laba2.cmd

[antonk@fargo

laba2]$

 

 

 

59

PDF created with pdfFactory Pro trial version www.pdffactory.com

С помощью команды chmod можно также рекурсивно назначать права на все объекты в папке.

Таблица 3.2

Операции с правами доступа к файлам и каталогам

Команда

Назначение

или опция

 

 

 

chmod

Изменяет права доступа к файлу или

 

каталогу

 

 

+

Устанавливает право доступа

 

 

-

Отменяет право доступа

 

 

=

Присваивает весь набор прав доступа

 

 

r

Устанавливает право на чтение для файла

 

или каталога. Файл может отображаться на

 

экране и печататься. Для каталога может

 

выдаваться список находящихся в нем

 

файлов

 

 

w

Устанавливает право на запись для файла или

 

каталога. Для файла это право означает

 

возможность его редактировать или

 

уничтожать. Для каталога это право означает

 

возможность создания и удаления файлов в

 

нем

 

 

х

Устанавливает право на выполнение для

 

файла или каталога. Если файл сценарий

 

командного интерпретатора, он может

 

выполняться как программа

 

 

u

Устанавливает права доступа к файлу или

 

каталогу для пользователя, который создал и

 

владеет им

 

 

g

Устанавливает права доступа к файлу или

 

каталогу для группы

 

 

о

Устанавливает права доступа к файлу или

 

каталогу для прочих пользователей системы

 

 

 

60

PDF created with pdfFactory Pro trial version www.pdffactory.com

Соседние файлы в папке LINUX