Права пользователей в Linux. Команды sudo и su
Linux — сложная система, поддерживающая многопользовательский режим. Это утверждение означает, что в режиме реального времени одновременно параллельно с системой может работать множество человек, и каждый из них способен запустить несколько приложений. В Linux настроить права пользователя совсем несложно.
Root обладает в указанной системе максимальными полномочиями, и она полностью подвластна ему, — любая его команда будет выполнена сразу. Поэтому работать таким доступом следует с осторожностью. Если вы арендуете виртуальный сервер Linux – используйте эту инструкцию. Чтобы не допустить ошибки необходимо изначально знать, как посмотреть права пользователя Linux.
Рекомендуется работать под стандартным пользователем, а максимальные привилегии получать только тогда, когда это действительно нужно, например, для выполнения конфигурации сервера, для перезапуска служб, для установки ПО. Для временного получения в Linux права пользователя root применяются сопутствующие команды sudo и su, рассмотренные в этой статье.
Команда sudo
Sudo позволяет клиенту задать практически любую команду с доступами, разрешениями и привилегиями root. Применять ее очень просто:
Если вам необходимо изменить файл /etc/apt/sources.list:
sudo nano /etc/apt/sources.list
Если задать аналогичную команду, но без sudo (просто: nano /etc/apt/sources.list), текстовый редактор запустит файл, но сохранить внесенные изменения вы при этом не сможете, поскольку для завершения задачи не хватит полномочий.
Перед самым выполнением команды она обязательно затребует у вас личный пароль:
sudo nano /etc/apt/sources.list
Password:
Нужно ввести пароль, применяемый для входа в систему, но он должен отличаться от пароля root.
Использовать sudo могут не все, а только профили, внесенные в файл /etc/sudoers. Администратору системы позволено редактировать этот файл с помощью visudo.
На платформе Xelent виртуальные серверы (даже на базе Ubuntu) создаются с активной записью root. Следовательно, если вы хотите использовать sudo для обычного пользователя, то сначала нужно его создать, а затем добавить в /etc/sudoers. Далее рассмотрен весь процесс подробно — с момента создания на примере Ubuntu 18.04.
Первым делом добавим пользователя через adduser (рис. 1):
Команда добавит den и установит его пароль. Узнать права пользователя Linux с этим логином можно будет в любой момент.
Рис. 1. Создание пользователя в Ubuntu 18.04
В Ubuntu adduser не только добавляет в Linux права пользователя, но и создает пароль для него. В прочих дистрибутивах вам понадобится две команды — одна для создания новой пользовательской учетной записи, а вторая — для задания его пароля:
adduser den
passwd den
Затем den нужно добавить в файл /etc/sudoers для редактирования которого предназначена visudo. По умолчанию она использует текстовый редактор vi, который очень неудобен и понадобится еще одна статья, объясняющая как с ним работать. Гораздо проще установить переменную окружения EDITOR и задать более удобный текстовый редактор, например, nano.
Узнаем, где находится текстовый редактор nano:
which nano
/bin/nano
Установим переменную окружения:
Рис. 2. Установка переменной окружения EDITOR
После этого можно выполнить visudo и дать права пользователю Linux, отредактировав необходимый файл, добавив в него den. Добавьте в него строчку:
den ALL=(ALL:ALL) ALL
Данная строка объясняет, что den можно выполнять со всех (первый ALL) терминалов, работая как любой (второй ALL) все команды (третий ALL) с максимальными правами. Конечно, его можно и более ограничить, например:
den ALL= /sbin/poweroff
Эта запись означает, что вышло дать права пользователю Linux den и он может с любого терминала вводить команду завершения работы. Руководств по файлу sudoers в Интернете предостаточно, поэтому вы без проблем найдете дополнительные примеры ограничения прав через этот файл, чтобы настроить сервер так, как вам нужно.
Рис. 3. Редактирование /etc/sudoers
Для сохранения изменений нажмите сначала Ctrl + O, а затем Ctrl + X, чтобы выйти из редактора.
Теперь проверим, все ли у нас получилось. Превратимся в den:
Попытаемся с максимальными правами выполнить любую команду, например, ls:
Команда sudo запросит пароль den — введите его. Если бы мы допустили ошибку при настройке, sudo сообщила бы, что он не имеет права ее использовать. А поскольку она запросила пароль, мы все сделали правильно.
Рис. 4. Sudo в действии
Каждую команду, которая требует максимальных прав, вам придется выполнять через sudo. Порой нужно выполнить продолжительную настройку и вводить каждый раз sudo не хочется. В этом случае можно запустить командный интерпретатор bash через sudo и вы получите полноценную консоль root. Вот только не забудьте по окончанию настройки ввести exit:
Через sudo у вас не получится использовать перенаправление задач категории ввода/вывода, то есть команда вида sudo ls /etc > /root/somefile не сработает. Для этого требуется ввести sudo bash и использовать систему как обычно.
Каждая команда, которая была введена в систему непосредственно с помощью sudo, фиксируется в учетном журнале, находящемся по адресу /var/log/auth.log, и у вас сохранится история введенных задач с полномочиями root, а вот при работе под администратором root журнал вовсе не ведется. Кроме того, если пойдет не так, можно будет понять, что случилось, изучив данный журнал. Посмотрите на рис. 5. На нем видно, что den вводил ls через sudo.
Рис. 5. Журнал auth.log
Команда su
Su дает доступ к консоли с полными правами администратора root любому (даже если он изначально не был вписан в файл /etc/sudoers). Единственное условие — он должен иметь пароль root. Понятно, что в большинстве случаев ним будет сам root, — не станете же вы всем доверять свой пароль? Поэтому su предназначена, в первую очередь, для администратора системы, в Linux права пользователя у него не ограничены, а sudo — для остальных, им тоже иногда требуются права root (чтобы они меньше отвлекали администратора от своей работы).
Использовать su просто:
su
После этого нужно будет подтвердить права root пользователя Linux и ввести пароль, далее вы сможете работать в консоли, как обычно. Использовать su удобнее, чем sudo, потому что нет необходимости вводить su непосредственно перед каждой командой, требующей выполнения с правами root.
Чтобы закрыть сессию su нужно или ввести слово exit, или закрыть окно терминала.
С помощью su можно работать от имени любого пользователя. Ранее было показано, как мы с помощью su den смогли выполнять команды от имени пользователя den.
Права доступа в Linux
Права доступа определяют, какие действия конкретный пользователь может или не может совершать с определенным файлами и каталогами.
С помощью разрешений можно создать надежную среду — такую, в которой никто не может поменять содержимое ваших документов или повредить системные файлы.
Как работают права доступа
Есть 3 вида разрешений. Они определяют права пользователя на 3 действия: чтение, запись и выполнение. В Linux эти действия обозначаются вот так:
- r — read (чтение) — право просматривать содержимое файла;
- w — write (запись) — право изменять содержимое файла;
- x — execute (выполнение) — право запускать файл, если это программа или скрипт.
У каждого файла есть 3 группы пользователей, для которых можно устанавливать права доступа.
- owner (владелец) — отдельный человек, который владеет файлом. Обычно это тот, кто создал файл, но владельцем можно сделать и кого-то другого.
- group (группа) — пользователи с общими заданными правами.
- others (другие) — все остальные пользователи, не относящиеся к группе и не являющиеся владельцами.
Как узнать разрешения файла
Чтобы посмотреть права доступа к файлу, нужно вызвать команду ls с опцией -l . Эта опция отвечает за вывода списка в длинном формате.
В приведенном выше примере первые 10 символов вывода показывают разрешения файла.
- Первый символ определяет тип файла. Если первый символ — прочерк — , то это обычный файл. Если первый символ d , то это каталог.
- Следующие 3 символа показывают разрешения для владельца. Буква означает наличие разрешения, а прочерк — — его отсутствие. В нашем примере у владельца есть все разрешения (чтение, запись и выполнение).
- Следующие 3 символа показывают разрешения для группы. В этом примере у членов группы есть разрешение на чтение, но нет разрешений на запись и выполнение. Обратите внимание, порядок записи разрешений всегда такой: чтение, запись, выполнение.
- Последние 3 символа показывают разрешения для всех остальных пользователей. В этом примере у них есть только разрешение на выполнение.
Как изменить права доступа
Для изменения прав доступа к файлу или каталога используется команда chmod (от англ. change mode). Эта команда меняет биты режима файла — если совсем просто, это индикатор разрешений.
Аргументы команды chmod , отвечающие за разрешение, состоят из 3 компонентов:
- Для кого мы меняем разрешение? Обозначается первыми буквами слов: [ugoa] — user (пользователь, он же владелец), group (группа), others (другие), all (все).
- Мы предоставляет или отзываем разрешения? Обозначается плюсом + , если предоставляем, минусом — , если отзываем.
- Какое разрешение мы хотим изменить? Чтение (r), запись (w), выполнение (x).
Разберем на примере. Давайте дадим группе разрешение на выполнение, а затем отзовем разрешение на запись для владельца.
Права доступа необязательно выдавать индивидуально. Можно назначить сразу несколько разрешений.
Может показаться странным, что владелец файла может сам себя лишить прав. Но бывают случаи, когда такая возможность очень полезна. Допустим, у вас есть файл с данными, которые мы не хотели бы случайно изменить.
Да, вы можете лишать себя каких-то разрешений, но у вас всегда остается возможность выдавать права. Всегда сможете вернуть себе отозванное разрешение.
Короткая форма записи прав
Для разрешений можно установить сокращенные формы записи. С их помощью выдавать разрешения будет быстрее. Сокращения полезны, когда нужно регулярно применять набор разрешений для определенных файлов.
Вспомним восьмеричную систему
Чтобы понять, как работает этот сокращенный метод, давайте освежим знания по системам счисления.
Мы используем десятичную систему счисления, в которой 10 цифр: от 0 до 9. Еще есть восьмеричная система счисления, в которой используется 8 цифр: от 0 до 7.
Разрешений — 3 вида, каждый кодируется 1 (разрешение есть) или 0 (разрешения нет). Поэтому для кодирования всех разрешений требуется 2 3 = 8 комбинаций. Соответственно, для записи каждого разрешения используется восьмеричная система счислений. Числа восьмеричной системы счисления можно представить в двоичной системе, в которой всего две цифры: 0 и 1. Вот, как восьмеричные числа выглядят в двоичной с. с.
Восьмеричная
Двоичная
Заметьте, все восьмеричные цифры можно представить тремя битами. Записи в двоичной системе включают в себя все возможные комбинации 0 и 1.
Если использовать 3 восьмеричные цифры, каждая из которых представляет собой 3 цифры в двоичной системе, можно зашифровать 9 значений. Это как раз то, что нам нужно: для каждого из 3 разрешений нужно определить права каждой из 3 групп.
- у владельца — все права;
- у группы — нет только права на запись;
- у остальных — нет только права на запись.
Разберем несколько примеров. Обратите внимание на цифры после chmod , переведите их в двоичную систему и попробуйте определить, какие разрешения для каких групп устанавливает та или иная комбинация.
Часто повторяющиеся комбинации можно просто запомнить, и тогда работа с правами будет гораздо быстрее.
Права доступа для каталогов
Для каталогов можно устанавливать те же права доступа, но работают они немного иначе.
Тот же набор разрешений можно использовать для каталогов, но они имеют немного другое поведение.
- r — право просматривать содержимое каталоги, т. е. можно выполнить команду ls;
- w — право записывать данные в каталог, т. е. создавать файлы и подкаталоги;
- x — право зайти в каталог, т. е. выполнить команду cd.
Разберем разрешения каталогов.
Обратите внимание, что в строках 5 и 14 при вызове команды ls мы указали параметр -d (от англ. directory). Так мы указываем, что работаем именно с каталогом.
Сначала эти разрешения могут показаться немного запутанными. Помните, что эти разрешения распространяются только на сам каталог, а не на файлы внутри. Допустим, у вас есть каталог, для которого у вас нет разрешения на чтение. Но в нем могут быть файлы, читать которые вы можете. Пока вы знаете, имя файла, вы все равно можете прочитать файл.
Кто такой пользователь root
В системе Linux обычно только 2 человека могут изменять права доступа к файлу или каталогу: владелец файла или каталога и пользователь root — суперпользователь.
Пользователь root — это пользователь с административным доступом к вашей системе. Иначе говоря, у него есть права делать все что угодно.
Обычно пользователем root является системный администратор, особые права ему нужны, чтобы обслуживать систему. Обычные пользователи чаще всего имеют доступ только к файлам и подкаталогом в своем домашнем каталоге. Это помогает поддерживать безопасность и стабильность системы.
Как разрешения обеспечивают безопасность
Домашний каталог — ваше личное пространство в системе. Чтобы оно так и оставалось личным, нужно обеспечить его безопасность. В этом помогут права доступа.
Большинство пользователей предоставляют себе полные права на чтение, запись и выполнение для своего домашнего каталога и не устанавливают никаких разрешений для группы или других пользователей, однако у некоторых людей по разным причинам может быть другая настройка.
Для оптимальной безопасности не стоит предоставлять ни группе, ни другим лицам права на запись в ваш домашний каталог, но вот разрешение на выполнение без возможности читать иногда может пригодиться. Это позволит пользователям заходить в ваш каталог, но при этом не видеть, что там происходит. Так настроены, например, личные веб-сайты.
Что нужно запомнить
Команды
chmod
Изменить права доступа для файла или каталога.
ls -ld
Посмотреть права доступа для определенного каталога.
Привилегии в Linux: что это и как с этим работать
Linux – это многопользовательская операционная система, которая использует концепцию Unix о привилегиях для обеспечения безопасности на уровне файловой системы. При работе с Linux очень важно понимать, что такое права доступа и собственности. Данная статья поможет вам разобраться в основных понятиях, связанных с привилегиями пользователей Linux.
Примечание: Чтобы узнать, как изменять привилегии, читайте это руководство.
Требования
- Базовые навыки работы с Linux.
- Сервер Linux (опционально).
Пользователи Linux
Поскольку Linux является многопользовательской системой, важно понимать, как работают пользователи и группы. Рассмотрим эти понятия подробнее.
В Linux существует два типа пользователей: системные и обычные. Системные пользователи предназначены для выполнения неинтерактивных и фоновых процессов, а обычные пользователи отвечают за выполнение интерактивных задач. Входя в систему Linux впервые, вы могли заметить, что она запускает множество системных пользователей, которые в свою очередь запускают различные сервисы, от которых зависит система.
Чтобы просмотреть всех пользователей системы, проверьте файл /etc/passwd. Каждая строка в этом файле содержит данные об отдельном пользователе, начиная с имени пользователя (перед первым символом двоеточия). Чтобы вывести содержимое файла на экран, введите:
Суперпользователь
Кроме основных двух типов пользователей в Linux существует также суперпользователь, или root. Этот пользователь может переопределять права других пользователей на файлы и ограничивать доступ. По сути, суперпользователь имеет права доступа ко всем файлам, существующим на сервере. Этот пользователь имеет право вносить общесистемные изменения, потому его безопасность очень важна для безопасности самого сервера.
Также можно настроить других пользователей для выполнения полномочий суперпользователя. Для этого нужно открыть обычному пользователю доступ к команде sudo. В повседневной работе администратора сервера рекомендуется использовать именно такой аккаунт с расширенными привилегиями, поскольку использование root на постоянной основе опасно и может разрушить систему.
Группы Linux
Группы представляют собой наборы из 0 или более пользователей. Пользователь принадлежит к группе по умолчанию, а также может быть членом какой-либо из других групп.
Чтобы просмотреть все доступные группы и списки их членов, откройте файл /etc/group.
Права собственности и доступа к файлам
В Linux каждый файл принадлежит одному пользователю и одной группе и имеет индивидуальные настройки доступа.
Для просмотра прав доступа используется команда ls. Она имеет длинный список опций (например, ls -l myfile). Чтобы просмотреть настройки доступа к файлам в текущем каталоге, запустите команду без аргументов:
Чтобы запросить содержимое каталога /etc, введите:
В первом столбце вывода указан режим доступа к файлу, второй и третий столбец содержат имя пользователя и группу, четвертый – размер файла, пятый – дату его последнего изменения, в последнем столбце указано имя файла.
В целом вывод команды ls довольно легко понять, кроме, пожалуй, первого столбца, который описывает права доступа к файлу. Он выглядит примерно так:
Чтобы понять, что значат эти буквы и дефисы, разделим содержимое столбца на его компоненты. Первую строку вышеприведённого примера можно разделить на следующие категории:
d rwx(1) rwx(2) rwx(3)
- d – поле типа файла.
- rwx(1) – права пользователя-владельца файла.
- rwx(2) – права группы-владельца.
- rwx(3) – права остальных пользователей.
Типы файлов
В Linux существует два основных типа файлов: обычные и специальные.
Обычные файлы определяются символом дефиса в поле типа. Обычные файлы – это простые файлы, в которых можно хранить данные.
Файл является специальным, если в поле типа содержится буква. Такие файлы обрабатываются операционной системой иначе, чем обычные файлы. Символ в поле типа файла указывает, к какому виду специальных файлов относится определенный файл. Самым распространённым видом специальных файлов является каталог (или директория), он определяется символом d (как в примере выше). В системе Linux существует несколько видов специальных файлов, но данная тема выходит за рамки этой статьи.
Классы доступа
Как говорилось ранее, каждый файл имеет настройки для трёх категорий (или классов) доступа:
- пользователя – владельца файла;
- группы – владельца файла (к этому классу относятся все члены группы, в которой состоит пользователь – владелец файла);
- и остальных пользователей (к этому классу относятся все пользователи, которые не принадлежат к предыдущим классам).
Такого порядка привилегий придерживаются все дистрибутивы Linux.
Виды доступа
Каждая категория имеет три вида доступа, каждый из которых обозначается отдельным символом:
- r (read) – право на чтение файла,
- w (write) – право на изменение (редактирование),
- x (execute) – право на запуск (в некоторых особых случаях вместо х может использоваться другой символ).
Если вместо символа стоит дефис, значит, данный класс не имеет соответствующего права доступа. Например:
В таком случае пользователь и группа – владельцы файла имеют все права доступа, а для остальных пользователей доступ к файлу полностью закрыт.
Теперь вы знаете, как читать права доступа к файлу.
Рассмотрим подробнее, что именно даёт каждый вид доступа.
Примечание: Чтобы обеспечить нормальный доступ к файлам и каталогам, виды доступа часто используются в сочетании друг с другом.
Право на чтение файла
Право на чтение обычного файла – это возможность просматривать его содержимое.
Право на чтение каталога позволяет пользователю просматривать имена файлов, хранящихся в нём.
Право на изменение файла
В случае с обычным файлом это право даёт пользователю возможность изменять содержимое файла или удалить его.
Если у пользователя есть право на изменение каталога, то такой пользователь может удалить каталог, изменять его содержимое (то есть, создавать, переименовывать или удалять файлы в нём) и содержимое хранящихся в нём файлов.
Право на запуск
Имея такое право, пользователь может запускать обычный файл, но для этого ему также нужны права на чтение данного файла. Права на запуск нужно устанавливать для исполняемых программ и сценариев оболочки.
Если у пользователя есть право на запуск каталога, то он может читать такой каталог, а также получить доступ к его метаданным о хранящихся файлах.
Примеры привилегий
Теперь рассмотрим несколько полезных общих примеров прав доступа к файлу.
- -rw——-: доступ к файлу имеет только пользователь-владелец файла.
- -rwxr-xr-x: любой пользователь системы может запустить такой файл.
- -rw-rw-rw-: любой пользователь системы имеет право на изменение такого файла.
- drwxr-xr-x: любой пользователь системы может читать данный каталог.
- drwxrwx—: содержимое каталога могут читать и изменять только пользователь и группа-владелец.
Как видите, пользователь-владелец файла, как правило, обладает всеми правами на файл (или, по крайней мере, имеет больше прав, чем остальные классы). Из соображений безопасности файлы должны быть доступны только для тех пользователей, которым необходим доступ к ним по определенной причине.
Существует множество комбинаций прав доступа, однако в каждом конкретном случае только некоторые из них полезны. К примеру, право на изменение и запуск почти всегда комбинируется с правом на чтение файла, поскольку файл сложно изменить и невозможно запустить без прав на чтение.
Примечание: Чтобы научиться изменять права доступа, читайте это руководство. В нем речь идёт об использовании команд chown, chgrp и chmod.
Заключение
Теперь вы знакомы с основными понятиями, связанными с правами доступа и собственности в окружении Linux.
Права доступа в системе Linux
Поскольку Linux (да и UNIX вообще) — многопользовательская OS, в ней существует система прав доступа к файлам, служащая для защиты файлов каждого пользователя от влияния других пользователей системы.
Разрешение на чтение позволяет пользователю читать содержимое файлов, а в случае каталогов — просматривать перечень имен файлов в каталоге (используя, например, команду ls). Разрешение на запись позволяет пользователю писать в файл, изменять его или удалять. Для каталогов это дает право cоздавать в каталоге новые файлы и каталоги, или удалять файлы в этом каталоге. Наконец, разрешение на выполнение позволяет пользователю выполнять файлы (как бинарные программы, так и командные файлы). Если на файле стоит атрибут Execute, то независимо от его расширения он считается программой, которую можно запустить. (Вот почему в *nix не принято ставить исполняемым файлам расширения по типу DOS’овских *.com, *.exe, *.bat. Вообще в Unix/Linux нет такого жесткого понятия расширение файла, как в Dos/Windows, и система сама определяет тип файлов независимо от их расширения, но это — уже другая история. ). Так же атрибут выполнения может стоять у shell-скриптов, CGI-скриптов, и у всего, что можно хоть как-то запустить. Разрешение на выполнение применительно к каталогам означает возможность выполнять команды вроде cd.
Владельцем файла становится юзер, который создал этот файл. Короче говоря, для файла все юзеры делятся на 3 типа: хозяин, или владелец, юзеры, состоящие в одной группе с владельцем, и все остальные юзеры. Для каждого типа — свои права. Учтите, что директории и все системные устройства в UNIX являются обычными файлами. Тот же самый /dev/fd0 — это не сам Floppy disk, а всего лишь файл, связанный с флопповодом. Поэтому, если root запретил юзеру доступ к этому файлу, тот не сможет использовать флопповод (так же обстоят дела с модемами, хардами и т.п.). Владельцем всех системных файлов является root. Он же имеет право забирать файлы у одного юзера и передавать их другому (менять владельца).
Команда chmod
Изменить права доступа к файлу может либо его владелец, либо сам root. Делается это командой chmod. Существует две формы представления прав доступа: символьная и цифровая.
Символьная форма прав доступа
Если войти в любой каталог, где есть файлы, и набрать ls -l, то появится список всех файлов в этом каталоге и права доступа в символьной форме. Строка прав доступа состоит из 10 символов. Первый символ указывает на тип файла: d — директория, — — обычный файл. Три последующих — права доступа владельца к этому файлу. Если первый символ из этих трех — r, владелец имеет право читать этот файл, а если —, то не имеет. Следующие 2 символа — w — писать и x — запускать. Если вместо них стоит —, значит, владелец этого права не имеет. Еще 3 символа — права доступа группы, еще три — права всех остальных пользователей.
drwxrwxrwx — директория, к которой все имеют любые права доступа.
-rwxr--r-- — обычный файл, владелец может делать все, а остальные — только читать.
-r-------- — обычный файл, который владелец может только читать, а остальные пользователи не видят.
Важно заметить, что права доступа, которые имеет файл, зависят также от прав доступа к каталогу, в котором этот файл находится. Например, даже если файл имеет -rwxrwxrwx, другие пользователи не смогут до него добраться, если у них не будет прав на чтение и выполнение каталога, в котором находится файл. Например, если юзер захочет ограничить доступ ко всем своим файлам, он может просто изменить права доступа своего домашнего каталога /home/user на drwx------. Таким образом, никто другой не будет иметь доступ в его каталог, а следовательно посторонним будут недоступны и все файлы. Так что, пользователь может не заботиться об индивидуальной защите своих файлов. Другими словами, чтобы иметь доступ к файлу, вы должны иметь доступ ко всем каталогам, лежащим на пути от корня к этому файлу, а также разрешение на доступ собственно к этому файлу. Обычно пользователи UNIX весьма открыты всеми своими файлами. По умолчанию файлам устанавливается защита -rw-r--r--, которая позволяет другим пользователям читать файлы, но ни коим образом их не менять. Каталогам обычно устанавливаются права доступа drwxr-xr-x, что позволяет другим пользователям ходить с правами экскурсантов по вашим каталогам, но ничего в них не трогать и не записывать.
Но многие пользователи хотят держать других подальше от своих файлов. Установив права доступа файла -rw-------, вы никому не покажете этот файл и не дадите записать в него. Также хорошо закрывает файлы защита соответствующего каталога drwx------.
С правами доступа в символьной форме chmod работает так:
Кратко, вы выбираете из all (все), user (пользователь), group (группа) или other (другие). Далее указываете, либо вы добавляете права (+), либо лишаете прав (—). И наконец, вы указываете один или несколько режимов: read, write или execute.
Числовая форма прав доступа
- 400 — владелец имеет право на чтение
- 200 — владелец имеет право на запись
- 100 — владелец имеет право на выполнение
- 40 — группа имеет право на чтение
- 20 — группа имеет право на запись
- 10 — группа имеет право на выполнение
- 4 — остальные имеют право на чтение
- 2 — остальные имеют право на запись
- 1 — остальные имеют право на выполнение
Теперь осталось только просуммировать числа, соответствующие тем правам доступа, которые мы хотим поставить файлу.
Примеры
Символьная форма
Дает всем пользователям право читать файл stuff.
То же самое, что и ранее (a — по умолчанию).
Лишает права на выполнение всех, кроме владельца.
Разрешает владельцу все (read, write и execute).
Запрещает все (read, write и execute) пользователям категории другие (other).
владелец может делать все, а остальные — только читать.
все имеют право только на чтение.
владелец может читать и выполнять, остальные — только выполнять.
Классическая команда. Скрипт — это исполняемый файл, и все должны иметь к нему доступ на чтение и выполнение. Только владелец этого файла может его изменять или удалять.
Команда chown
Изменение владельца файла осуществляется командой chown, например:
Для передачи каталога надо вводить:
Команда chgroup
Изменение группы, которой принадлежит файл.
Для передачи каталога надо вводить:
FilePermissionsRu (последним исправлял пользователь ckimes 2017-09-02 05:31:46)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details