Архивы автора: Пользователь Slax

Какими бывают атрибуты файлов в Linux

Какими бывают атрибуты файлов в Linux

В Linux атрибуты указываются следующим образом. Праву чтения соответствует буква r (англ. read – читать), праву записи — буква w (англ. write — писать) и праву исполнения – буква x (от англ. execute – исполнять).

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

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

rw–r––r––

Числовое обозначение прав доступа

Помимо буквенного указания атрибутов файлов, в Linux применяется также другой, более удобный метод обозначения прав доступа, при котором права обозначаются восьмеричным числом. Оно состоит из трех цифр, первая из которых обозначает право доступа для владельца файла, вторая – для группы владельца и третья – для всех остальных. Составить такое число несложно. Для каждого типа пользователей (владелец, группа владельца и другие пользователи) создаем правило доступа в виде rwx, на месте каждого прочерка ставим ноль, а в остальных случаях – единицу. Теперь переводим это из двоичной системы счисления в восьмеричную. Можно составить следующую таблицу:

Доступ Двоичное число Восьмеричное число
––– 000 0
––х 001 1
–w– 010 2
–wx 011 3
r–– 100 4
r–х 101 5
rw– 110 6
rwx 111 7

Составляем вместе три полученные цифры – и число режима доступа готово. К примеру rw–r––r–– теперь можно записать как 644.

Следует привести несколько примеров чисел, описывающих часто применяемые права доступа:

  • rw–r––r–– (644) – cистемные файлы и файлы, которые не должны изменяться без ведома хозяина (личные файлы пользователя).
  • rw––––––– (600) – особо важные файлы, доступ к которым не должен иметь никто, кроме хозяина (например, файлы в каталоге суперпользователя или файлы в папке /dev).
  • rwxr–xr–x (755) – исполняемые файлы, запустить которые должен иметь возможность любой пользователь; каталоги, просматривать список файлов в которых имеет право каждый пользователь.
  • rw–rw–rw– (666) – общедоступные для просмотра и изменения файлы.
  • rwx–––––– (700) – исполняемые файлы, запускать которые имеет право только владелец (часто это root); папки, просматривать которые имеет право только владелец.

Закрепляющий бит

Закрепляющий бит

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

При указании числового представления права доступа с закрепляющим битом прибавьте 1000. Например, при указании права доступа rw–r––r–– с закрепляющим битом числовым представлением будет являться число 1644. Символьное представление в таком случае будет rw–r–r–T, то есть в конце просто добавляется буква t в верхнем регистре.

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

Каталог /dev

Каталог /dev

Каталог /dev с его содержимым обеспечивается специальной файловой системой devfs (в более новых версиях Linux – udevfs). Многие операционные системы не предоставляют ничего похожего на каталог /dev в Linux, и их пользователи не жалуются, однако наличие файловой системы devfs очень удобно и может заменить некоторые программы (даже коммерческие). Содержимое /dev генерируется в зависимости от наличия определенного аппаратного обеспечения, на разных компьютерах в данном каталоге может содержаться различный набор файлов.

Таким образом, devfs – это специальная файловая система, представляющая устройства компьютера, которые могут выполнять определенные операции с данными (например, хранить или передавать их) в виде файлов. Сама ФС может немногое – она является только посредником между драйверами устройств и файловой системой. Это похоже на дневник ученика: сам по себе дневник не несет информации, но если ученик (пользователь) захочет узнать, какие оценки ему поставили учителя (драйверы), он обращается к дневнику. Как только файл определенного устройства будет доступен, любая программа в зависимости от ее привилегий сможет работать с этим устройством.

Подкаталоги каталога /dev

Подкаталоги каталога /dev

В это записи рассмотрим подкаталоги каталога /dev. Большинство названий будут для вас, наверняка, знакомы.

/dev/discs – содержит файлы, через которые можно получить доступ к жестким дискам компьютера. Рассматривая содержимое этого каталога, вы видите один или несколько каталогов, количество которых зависит от количества подключенных к компьютеру жестких дисков. Каждый каталог является ссылкой на другой, который также находится в папке /dev, однако более подробно дифференцирует устройства по их местонахождению. Зайдите в один из каталогов в папке /dev/disks. Здесь находятся файлы устройств. Среди них обязательно будет файл с именем disc. Через него можно получить доступ к информации на всем диске. Ниже идут файлы с названиями part1, part2 и т.д. С помощью этих файлов можно получить доступ к области на диске, которая ограничивается размерами определенного раздела на диске, которому соответствует файл (потому имя файла образовано от англ. partition – раздел). Именование этих файлов также не случайно. Файлы part1, part2, part3 и part4 соответствуют первичным и расширенным разделам, а part5 и далее – логическим.

/dev/cdroms – показывает файлы, соответствующие устройствам CD-ROM. Именование для дисков такое: cdrom0, cdrom1 соответственно для первого и второго привода.

/dev/floppy – содержит файлы, соответствующие устройствам гибких (флоппи-) дисков. Сегодня на компьютерах установлено не более одного дисковода, обращаться к нему можно через файл /dev/ floppy/0

/dev/ide – содержит файлы устройств, подключенных к интерфейсу IDE. Рассматривать содержимое этого каталога детально нет необходимости, так как в каталоге /dev имеются ссылки на файлы из него, использование которых в повседневной работе удобнее просмотра каталога /ide.

/dev/scsi – аналогично каталогу /dev/ide, с тем отличием, что в нем содержатся файлы устройств, подключенные к интерфейсу SCSI (Small Computer System Interface – интерфейс малых компьютерных систем).

/dev/vc – содержит файлы виртуальных консолей. С помощью этих файлов можно читать и записывать на доступные консоли.