5.8. Права доступа и атрибуты файла. Команды chown, chmod и chattr
5.8. Права доступа и атрибуты файла. Команды chown, chmod и chattr
5.8.1. Права доступа к файлам и каталогам
Для каждого каталога и файла вы можете задать права доступа. Точнее права доступа автоматически задаются при создании каталога (файла), а вы, при необходимости, можете их изменить. Какая может быть необходимость?
Например, вам нужно, чтобы к вашему файлу-отчету смогли получить доступ пользователи — члены вашей группы. Или вы создали обычный текстовый файл, содержащий инструкции командного интерпретатора. Чтобы этот файл стал сценарием, вам нужно установить право на выполнение для этого файла.
Существует три права доступа: чтение (r), запись (w), выполнение (x). Для каталога право на выполнение означает право на просмотр содержимого каталога.
Вы можете установить разные права доступа для владельца (то есть для себя), для группы владельца (то есть для всех пользователей, входящих в одну с владельцем группу) и для прочих пользователей. Пользователь root может получить доступ к любому файлу (каталогу) вне зависимости от прав, которые вы установили.
Чтобы просмотреть текущие права доступа, введите команду:
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).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
5.5.1. Смена владельца файла: chown() , fchown() и lchown()
5.5.1. Смена владельца файла: chown(), fchown() и lchown() Владелец и группа файла изменяются с помощью трех сходных системных вызовов.#include <sys/types.h> /* POSIX */#include <unistd.h>int chown(const char *path, uid_t owner, gid_t group);int fchown(int fd, uid_t owner, gid_t group);int lchown(const char *path, uid_t owner, gid_t group);chown() работает с аргументом имени
5.5.2. Изменение прав доступа: chmod() и fchmod()
5.5.2. Изменение прав доступа: chmod() и fchmod() Изменение прав доступа осуществляется с помощью одного из двух системных вызовов, chmod() и fchmod():#include <sys/types.h> /* POSIX */#include <sys/stat.h>int chmod(const char *path, mode_t mode);int fchmod(int fildes, mode_t mode);chmod() работает с аргументом имени файла, a fchmod() работает с
Права доступа
Права доступа Как уже обсуждалось в предыдущей главе, каждый процесс имеет четыре пользовательских идентификатора — UID, GID, EUID и EGID. В то время как UID и GID определяют реального владельца процесса, EUID и EGID определяют права доступа процесса к файлам в процессе выполнения. В
4.1. Права доступа
4.1. Права доступа Давайте вспомним команду ls -al. Она возвращает список файлов в следующем виде:drwx------ 3 Flenov FlenovG 4096 Nov 26 16:10 .drwxr-xr-x 5 root root 4096 Nov 26 16:21 ..-rwxr-xr-- 1 Flenov FlenovG 24 Nov 26 16:10 testКак мы уже знаем, первая колонка (занимает 10 символов) — это права доступа. Давайте рассмотрим,
7.3. Права доступа
7.3. Права доступа В данном разделе нам предстоит познакомиться с основными параметрами файла конфигурации /etc/httpd/conf/httpd.conf. Они отвечают за права доступа, относящиеся к директориям, и имеют следующий вид:<Directory /var/www/html> Order allow,deny Allow from all</Directory>или, например:<Location
8.4.3. Права доступа
8.4.3. Права доступа Ни один сервис в ОС не должен работать от имени администратора root. Если в коде программы будет найдена лазейка, позволяющая запускать команды, то можно считать систему потерянной, потому что директивы будут выполняться с правами root. Опытные пользователи
Владелец файла и права доступа
Владелец файла и права доступа Средства защиты Linux базируются на понятиях принадлежности файла определенному владельцу и правах доступа к нему, принятых в системе UNIX. Однако SMB/CIFS использует те же признаки несколько по-другому. Средства SMB/CIFS регистрируют пользователей,
4.6.1. Команды chown и chgrp
4.6.1. Команды chown и chgrp Эти команды служат для смены владельца файла и группы файла. Выполнять смену владельца может только суперпользователь, смену группы может выполнить сам владелец файла или суперпользователь. Для того, чтобы иметь право сменить группу, владелец должен
4.12. Права доступа
4.12. Права доступа Для каждого файла и каталога в ОС Linux задаются права доступа. Права доступа определяют, кто имеет доступ к объекту и какие операции над объектом он может выполнять. Под объектом следует понимать файл или каталог. Выполнять можно три основных операции:
1.4.5. Понятие владельца файла, права доступа к файлам и каталогам
1.4.5. Понятие владельца файла, права доступа к файлам и каталогам Первоначально в DOS, а затем и в Windows не было такого понятия, как "владелец файла" и "права доступа к файлу". Права доступа к файлам и каталогам появились только в файловой системе NTFS, но фактически NTFS "пришла в
Приложение В. Команды chmod и chown: изменение прав доступа
Приложение В. Команды chmod и chown: изменение прав доступа В Linux есть понятие владельца файла (каталога) и прав доступа к нему. С данными понятиями мы познакомились в главе I, но подробно не рассматривали их. Здесь мы поговорим об этом подробнее.В Linux существует три типа прав
1.4.2. Примеры использования команды chmod
1.4.2. Примеры использования команды chmod Рассмотрим несколько примеров изменения режима доступа к файлу с помощью команды chmod. Предполагается, что строка режима для нашего файла имеет такой вид: rwxrwxrwx. Команда Строка режима Результат chmod a?x myfile rw?rw?rw- Отмена всех разрешений
1.4.4. Дополнительные примеры использования команды chmod
1.4.4. Дополнительные примеры использования команды chmod Ниже приведен ряд Примеров, иллюстрирующих применение команды chmod в абсолютном режиме: Команда Строка режима Результат chmod 666 rw?rw?rw- Установка разрешений на чтение и запись для владельца, группы и других
1.7. Команды chown и chgrp
1.7. Команды chown и chgrp Создав файл, вы автоматически становитесь его владельцем, но можете передать право владения другому пользователю, у которого есть запись в файле /etc/passwd. Только системный администратор либо фактический владелец может передавать права на файл другому
1.7.1. Пример использования команды chown
1.7.1. Пример использования команды chown Вот как можно поменять владельца файла с помощью команды chown:$ ls -l-rwxrwxrwx 1 louise admin 345 Sep 20 14:33 project$ chown pauline project $ ls -l-rwxrwxrwx 1 pauline admin 345 Sep 20 14:33 projectПраво владения файлом project переходит от пользователя louise к