Linux -сборник рецептов


Атрибуты файлов

Также стоит обратить внимание на атрибуты файла — например, сценария sortusers:

# ls -l sortusers -rwxr-xr-x 1 meredydd programmers 3783 Jan 7 13:29 sortusers

Строка -rwxr-xr-x 1 meredydd programmers сообщает программисту много полезных сведений:

  • первый символ — является признаком обычного файла. Этот атрибут не может изменяться пользователем. По этому признаку Linux определяет тип файла, поэтому с точки зрения системы расширение является лишним. Расширения нужны только для пользователей и приложений;
  • подстрока rwx задает разрешения владельца файла;
  • первая подстрока r-х задает разрешения владельца группы;
  • вторая подстрока r-х задает разрешения для «всего мира», то есть для каждого, кто имеет доступ к файлу;
  • 1 — количество жестких ссылок на файл. У каждого файла имеется как минимум одна ссылка из родительского каталога;
  • в подстроке meredydd programmers содержится владелец файла и группа, которой принадлежит файл.

Разрешения и права владения могут изменяться командами chmod, chgrp и chown; команда chmod изменяет разрешения, а команды chown и chgrp меняют права владения. Запись rwx на первый взгляд выглядит странно, но в действительности это мнемоника: rwx=Read, Write, eXecute. В этом формате задаются разрешения для владельца, группы и всех остальных.

Таким образом, в примере sortusers пользователю meredydd разрешается чтение, запись и исполнение файла. Члены группы и прочие могут только читать и исполнять файл. Хотя отредактировать файл может только сам пользователь meredydd, ничто не мешает членам группы и другим пользователям скопировать его содержимое.

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









Начало  Назад  Вперед

Типы файлов Linux


Помните, что в Linux любой объект интерпретируется как файл. Файлы Linux делятся на семь типов, перечисленных в табл. 9.1.

Таблица 9.1. Типы файлов

Тип файла
Обычный файл
Каталог
Ссылка
Символьное устройство
Сокет
Именованный канал
Блочное устройство

Признак типа выводится в самом начале записи в списке файлов:

# ls -l /dev/initctl prw------- 1 root root 0 Jan 12 00:00 /dev/initctl # ls -l /tmp/.ICE-unix/551 srwx------ 1 carla carla 0 Jan 12 09:00 /tmp/.ICE-unix/551

Тип файлов может указываться в командной строке find:

# find / -type p # find / -type s

Если поиск занимает слишком много времени, работу команды можно прервать клавишами Ctrl+C.

9.1. Введение