Команда findищет файл по его атрибутам в указанном каталоге и его подкаталогах на заданную глубину. Например, при установке операционной системы я отказался устанавливать файловый менеджер Midnight Commander, а теперь он мне понадобился. Для каждого из 4 компакт- дисков дистрибутива запускаю команду поиска по шаблону имени «mc*», то есть всех файлов, имена которых начинаются с mc:
$find /media -name mc*
/media/cdrecorder/Fedora/RPMS/mc-4.6.1-0.8.i386.rpm
В итоге на третьем диске найден пакет RPM. Об установке программного обеспечения из пакетов RPM будет сказано в главе 7.
Изменение прав доступа к файлу
Как многопользовательская операционная система, ОС Linux содержит механизм разграничения доступа к данным, позволяющий как защитить данные одного пользователя от нежелательного вмешательства других, так и разрешить другим доступ к этим данным для совместной работы.
Как уже сказано, любой ресурс компьютера под управлением ОС Linux представляется как файл, поэтому мы будем говорить только о правах доступа к файлу.
По отношению к файлу пользователь может входить в одну из трех категорий: владелец, член группы владельца, все остальные. Для каждой из этих категорий есть свой набор прав доступа.
Первым владельцем файла становится его создатель. Дальше файл можно передать другому владельцу или в другую группу командой
chown [ключи] <���новый_пользователь>[:новая_группа] <���файл>
или
chgrp [ключи] <���новая_группа> <���файл>
В некоторых реализациях Linux передать файл другому владельцу имеет право только суперпользователь, а в других — также его текущий владелец.
Набор прав доступа состоит из прав на чтение, запись и исполнение файла. В символьном представлении он выглядит как строка «rwx», где вместо любого символа может стоять дефис. Буква означает наличие права (r — чтение, w — запись, x — исполнение), дефис — его отсутствие.
Очевидно, что эти три бита могут быть записаны еще и как восьмеричное число. Так, права доступа r-x (чтение и исполнение без записи) понимаются как три двоичные цифры 101 или как восьмеричная цифра 5. Численное представление прав доступа называется абсолютным, или двоичной маской.
Полная строка прав доступа в символьном представлении устроена так:
<���права_владельца><���права_группы><���права_остальных>
В абсолютном представлении права владельца являются старшим разрядом восьмеричного числа, права группы — вторым и права остальных — третьим. Так, права rwxr-x--x выглядят как число 111 101 001, или 751.
Команда изменения прав доступа chmodпонимает как абсолютное, так и символьное указание прав.
Назначим файлу /home/den/README
права rw-r-----, то есть разрешим себе чтение и запись, группе только чтение, остальным пользователям — ничего:
$cd ~ # переход в свой домашний каталог
$chmod 640 README # 110 100 000 == 640
$ls -l README
-rw-r----- 1 den users 0 Feb 14 19:08 /home/den/README
В символьном представлении можно явно указывать, кому какое право мы хотим добавить, отнять или присвоить. Добавим право на исполнение файла README группе и всем остальным:
$chmod go+x README
$ls -l README
-rw-r-x--x 1 den users 0 Feb 14 19:08 /home/den/README
Формат символьного режима:
chmod <���категория><���действие><���набор_прав> <���файл>
Возможные значения аргументов команды представлены в таблице 2.3.
Аргументы команды chmod
в символьном режиме Таблица 2.3
Аргумент |
Значение |
Категория |
u |
Владелец |
g |
Группа владельца |
o |
Прочие |
a |
Все пользователи, то есть «a» эквивалентно «ugo» |
Действие |
+ |
Добавить набор прав |
- |
Отменить набор прав |
= |
Назначить набор прав |
Право |
r |
Право на чтение |
w |
Право на запись |
x |
Право на исполнение |
s |
Право смены идентификатора пользователя или группы |
t |
Бит прилипчивости (sticky-бит) |
u |
Такие же права, как у владельца |
g |
Такие же права, как у группы |
o |
Такие же права, как у прочих |
Название бита прилипчивости унаследовано от тех времен, когда объем оперативной памяти был маленьким, а процесс подкачки медленным. Этот бит позволял оставлять небольшие часто используемые программы в памяти для ускорения их запуска. Сейчас его значение переосмыслено: этот бит, установленный для каталога, приводит к тому, что удалять файлы из этого каталога могут только владелец файла и владелец каталога. Обычно это используется в каталогах, открытых для записи всем (например, /tmp
).
Читать дальше
Конец ознакомительного отрывка
Купить книгу