Д. Колисниченко - Ubuntu 10. Краткое руководство пользователя
Чтобы просмотреть текущие права доступа, введите команду:
ls — l <имя файла/каталога>
Например:
ls — l video.txt
В ответ компьютер покажет вам следующую строку:
— r-r--- 1 ppt group 300 Apr 11 11:11 video.txt
В этой записи последовательность символов — r-r--- обозначает права доступа. Первый дефис означает, что перед нами обычный файл. В случае каталога на его месте стояла бы буква d. Следующие три символа (r-) определяют права доступа владельца. Первый символ — это чтение, второй — запись, третий — выполнение. Как видно, владельцу разрешено только чтение этого файла, запись и выполнение запрещены, поскольку в правах доступа режимы w и x не определены.
Следующие три символа (r-) задают права доступа для членов группы владельца. Права такие же, как и у владельца — можно читать файл, но его нельзя изменять или запускать.
Последние три символа (--) задают права доступа для прочих пользователей. Прочие пользователи не имеют права ни читать, ни изменять, ни выполнять файл. При попытке получить доступ к файлу, они увидят сообщение Access denied.
Права доступа задаются командой chmod. Существуют два способа указания прав доступа: символьный (когда указываются символы, задающие права доступа — r, w, x) и абсолютный.
Так уже заведено, что в мире UNIX чаще пользуются абсолютным методом. Разберемся, в чем он заключается. Рассмотрим следующий набор прав доступа:
rw-r---
Он предоставляет владельцу право чтения и модификации файла (rw-), запускать файл владелец не может. Члены группы владельца могут только просматривать файл (r-), а все остальные пользователи не имеют вообще никакого доступа к файлу.
Возьмем отдельный набор прав, например, для владельца:
rw-
Чтение разрешено, значит, мысленно записываем 1, запись разрешена, значит, запоминаем еще 1, а вот выполнение запрещено, поэтому запоминаем 0. Получается число 110. Если из двоичной системы число 110 перевести в восьмеричную, получится число 6. Для перевода можно воспользоваться табл. 5.3.
Аналогично произведем разбор прав для членов группы владельца. Получится 100, т. е. 4 в восьмеричной системе. С третьим набором (--) все вообще просто — это 000, т. е. 0.
Записываем полученные числа в восьмеричной системе в порядке владелец — группа — остальные. Получится число 640, — это и есть права доступа. Для того чтобы установить эти права, выполните команду:
chmod 640 <имя_файла>
Наиболее популярные права доступа:
□ 644 — владельцу можно читать и изменять файл, остальным пользователям — только читать;
□ 666 — читать и изменять файл можно всем пользователям;
□ 777 — всем можно читать, изменять и выполнять файл. Напомню, что для каталога право выполнения — это право просмотра его оглавления.
Иногда символьный метод проще. Например, у нас есть файл script, который нужно сделать исполнимым, для этого имеется команда:
chmod +x script
Для того чтобы снять право выполнения, указывается параметр — x:
chmod — x script
Подробнее о символьном методе вы сможете прочитать в руководстве по команде chmod (выполнив команду man chmod).
5.8.2. Смена владельца файла
Если вы хотите «подарить» кому-то файл, т. е. сделать какого-то пользователя владельцем файла, то вам нужно использовать команду chown:
chown <пользователь> <файл>
ПримечаниеВозможно, что после изменения владельца файла вы сами не сможете получить к нему доступ, ведь владельцем будете уже не вы.
5.9. Файловая система ext4
Файловая система ext4 заслуживает отдельного разговора. Все, что было сказано ранее, справедливо и для ext4, но у новой файловой системы есть ряд особенностей, о которых мы сейчас и поговорим.
Поддержка ext4 как стабильной файловой системы появилась в ядре Linux версии 2.6.28. Если сравнивать эту файловую систему с ext3, то производительность и надежность новой файловой системы существенно увеличена, а максимальный размер раздела теперь равен 1024 петабайт (1 эксби-байт). Максимальный размер файла — более 2 Тбайт. Ресурс Phoronix (www.phoronix.com) произвел тестирование новой файловой системы на SSD-накопителе (такие накопители устанавливаются на современные нетбуки). Результат, как говорится, налицо — ext4 почти в два раза превзошла файловые системы ext3, XFS, JFS и ReiserFS.
Впрочем, когда я установил [email protected] на рабочую станцию, прироста производительности при работе с файлами мне почувствовать не удалось. Однако производительность — это не основной конек ext4. Но обо всем по порядку.
5.9.1. Сравнение ext3 и ext4
Преимущества файловой системы ext4 и ее новые особенности приведены в табл. 5.4.
5.9.2. Совместимость с ext3
Файловая система ext4 является прямо и обратно совместимой с ext3, однако все же имеются и некоторые ограничения. Предположим, что у нас на диске есть файловая система ext4. Ее можно смонтировать и как ext3, и как ext4 (это и есть прямая совместимость) — тут ограничений никаких нет. А вот с обратной совместимостью сложнее — если файловую систему ext4 смонтировать как ext3, то она будет работать без экстентов, что снизит ее производительность.
5.9.3. Переход на ext4
Если вы при установке системы выбрали файловую систему ext3, то перейти на ext4 можно без потери данных и в любой удобный для вас момент. Откройте терминал и введите команду:
sudo tune2fs — O extents,uninit_bg,dir_index /dev/имя устройства
Внимание!На момент ввода этой команды устройство должно быть размонтировано.
Если в ext4 вы собираетесь преобразовать корневую файловую систему, то данную команду нужно вводить с LiveCD (а LiveCD этот должен поддерживать ext4).
Теперь проверим файловую систему:
sudo fsck — pf / dev/:имя устройства
Затем смонтируем файловую систему так:
mount — t ext4 /dev/:имя устройства /точка_монтирования
mount — t ext4 /dev/disk/by-uuid/UUID-устройства /точка_монтирования
Если раздел автоматически монтируется через /etc/fstab, не забудьте исправить файловую систему на ext4:
Если вы изменили тип файловой системы корневого раздела, то необходимо отредактировать файл /boot/grub/menu.lst и добавить опцию rootfstype=ext4 в список параметров ядра, например:
title Linux
root (hd0,1)
kernel /boot/vmlinuz-2.6.30.1 root=UUID=879f797c-944d-4c28-a720-249730705714 ro quiet splash rootfstype=ext4
initrd /boot/initrd.img-2.6.30.1
quiet
СоветИнтересующимся рекомендую прочитать статью Тима Джонса «Анатомия ext4»: http://www.ibm.com/developerworks/ru/library/l-anatomy-ext4/index.html.
5.10. Использование графического файлового менеджера
Использовать файловый менеджер очень просто — если вы умеете работать с проводником Windows, тогда и с обозревателем файлов Linux тоже справитесь. Все операции с файлами и каталогами в обозревателе файлов (рис. 5.4), так же как и в проводнике Windows, производятся по принципу «выделил, скопировал (вырезал), вставил». Обратите внимание — в списке команд есть команды для создания архива и для шифрования файла. В Windows для этого нужно было устанавливать дополнительные программы, а в Linux такие команды есть, как говорится, «из коробки».
Если щелкнуть на файле или каталоге правой кнопкой мыши, а потом выбрать команду Свойства и перейти на вкладку Права, то вы сможете легко устанавливать права доступа к файлу или каталогу, не прибегая к использованию команды chmod (рис. 5.5).
5.11. Монтирование файловых систем
5.11.1. Команда mount
Чтобы работать с какой-либо файловой системой, необходимо примонтировать ее к корневой файловой системе. Например, подключив флешку, нужно подмонтировать файловую систему флешки к корневой файловой системе — только так мы сможем получить доступ к файлам и каталогам, которые записаны на этой флешке. Аналогичная ситуация с жесткими, оптическими дисками и другими носителями данных.
Если вы хотите заменить сменный носитель данных (флешку, дискету, компакт-диск), вам нужно сначала размонтировать файловую систему, затем извлечь носитель данных, установить новый и заново смонтировать файловую систему. В случае с флешкой о размонтировании должны помнить вы сами, поскольку при этом выполняется синхронизация буферов ввода/вывода и файловой системы, т. е. данные физически записываются на носитель, если это еще не было сделано. А компакт-диск система не разрешит вам извлечь, если он не размонтирован. В свою очередь, размонтировать файловую систему можно только, когда ни один процесс ее не использует.