Последнее обновление:
Доступ к файлам на многопользовательском Linux-сервере или ПК может немного усложниться. Знание того, как создавать и добавлять пользователей в группу, может оказаться спасительным. Вот как.
Если вы управляете сервером с несколькими пользователями, это сопряжено с жонглированием. Управление тем, кто может читать и записывать в каталог, а не только чтением файлов, требует некоторых дополнительных инструментов. В Linux это достигается с помощью групп. Давайте посмотрим, как ими управлять, особенно как добавить пользователя в группу в Linux.
Руководство для начинающих по правам доступа к файлам в Linux
Прежде всего, все эти примеры тестируются в Дистрибутив Linux Ubuntu. Тем не менее, все они должны работать одинаково, независимо от того, какую версию Linux вы используете.
Управление доступом к файлам и каталогам в Linux работает с набором разрешений. Если вы посмотрите на них, набрав лс -л из командной строки это выглядит так:
Первая цифра обычно либо пуста, либо для каталогов вы увидите
Имея это в виду, мы видим, что приведенный выше пример представляет собой каталог. Владелец каталога (Джефф) имеет полный доступ (чтение, запись и выполнение). Члены группы, к которой принадлежит каталог (Джефф) может переходить в этот каталог и читать его файлы, но не записывать. То же самое касается всех других пользователей, поскольку последние 3 разрешения делают его доступным для чтения и выполнения для всего мира.
Почему я должен использовать группы в Linux?
Допустим, у вас есть каталог, к которому нужен доступ нескольким пользователям. Однако загвоздка здесь в том, что некоторым пользователям требуется полный доступ для чтения и записи. Другие, вы хотите иметь возможность только читать файлы, а не создавать их.
Например, предположим, что у нас есть пять пользователей (Джефф, Оливия, Брюс, Стейси, и Саманта). Двое из них, пользователи Джефф и Саманта, являются редакторами и должны иметь возможность читать и записывать файлы в каталоге. С другой стороны, пользователи Оливия, Брюс, и Стейси требуют доступа для чтения к другому каталогу, чтобы они могли читать файлы, но не вносить изменения.
Создание групп и каталогов групп
Для этого вы должны создать две группы: читатели и редакторы. Предполагая, что вы уже создали пользователей, пришло время создать группы. Мы сделаем это с помощью Добавить группу команда.
читатели addgroup. редакторы addgroup.
Вы можете подтвердить, что группы были созданы, введя команду меньше /etc/группа.
Далее, давайте создадим наши два каталога, читатели и редакторы. Эти команды сделают свое дело.
sudo mkdir/ЧИТАТЕЛИ. sudo mkdir / РЕДАКТОРЫ.
После этого пришло время установить права доступа для каталогов. Вы назначите каждый каталог соответствующей группе, а затем установите разрешения.
sudo chown -R :читатели /ЧИТАТЕЛИ. sudo chown -R: редакторы / РЕДАКТОРЫ.
Эти команды изменяют владельца группы для каждого каталога.
sudo chmod -R gw /READERS. sudo chmod -R o-x /READERS.
То г в первых командах сообщает Linux, что мы хотим изменить групповые разрешения. Эта команда запрещает пользователям в читатели группа от записи в каталог. Вторая команда удаляет Икс немного от другие (Обратите внимание о как раз перед -Икс) для этого каталога. Это предотвращает доступ к каким-либо файлам, не являющимся членами группы.
После этих команд только владелец каталога (root) и члены читатели группа может получить доступ к файлам внутри /READERS каталог.
Далее мы настроим /EDITORS каталог, чтобы разрешить запись членам группы редакторы. Никто другой, кроме root, не будет иметь доступа к файлам.
sudo chmod -R g+w /EDITORS. sudo chmod -R o-x /EDITORS.
Обратите внимание, что на этот раз первая команда добавляет ж бит к разрешениям каталога. Это то, что позволит группе редакторы для записи в файлы. Теперь root будет иметь полный доступ к /EDITORS каталог, редакторы группа сможет записывать файлы внутри, и никто другой не сможет получить к ним доступ.
Добавление пользователя в группу в Linux
Пока что эти команды мало что дадут. Группы пусты, поэтому нам нужно добавить наших пользователей в соответствующие группы. Для начала добавим пользователей Джефф и Саманта к редакторы группа.
sudo usermod -a -G редакторы jeff. sudo usermod -a -G редакторы Саманта.
Далее мы добавим пользователей Оливия, Брюс, и Стейси к читатели группа.
sudo usermod -a -G читатели Оливия. sudo usermod -a -G читатели Брюс. sudo usermod -a -G читатели Стейси.
Вот как в Linux добавить пользователя в группу. Теперь наши пользователи имеют доступ к нужным им файлам. Вы можете проверить, какие пользователи являются членами каждой группы, просмотрев /etc/group файл. Это должно выглядеть примерно так.
Более продвинутый контроль доступа в Linux
Теперь предположим, что вы хотите, чтобы члены вашей группы редакторов имели доступ на запись в каталог. /DATA. В то же время вашим редакторам необходим полный доступ для чтения/записи к каталогу. Это немного сложнее, так как Linux позволяет только одной группе одновременно владеть файлом или каталогом.
К счастью, есть способ. Используя списки управления доступом (ACL), вы можете предоставить одной группе доступ на чтение, а другой — чтение/запись. Вот как вы можете дать членам читатели группа правильный доступ.
sudo setfacl -m g: считыватели: rx -R /DATA.
Теперь давайте редакторы доступ для чтения и записи.
sudo setfacl -m g: редакторы: rwx -R /DATA.
Есть совсем немного больше это можно сделать с помощью списков контроля доступа, но это отличное начало.
Несколько пользователей хорошо играют вместе в Linux, но будьте осторожны
Это демонстрирует, как вы можете предоставить доступ к каталогам для нескольких пользователей. Однако помните, что каждый пользователь компьютера может представлять собственную угрозу безопасности. Также важно установить надлежащие политики в отношении надежности и безопасности пароля.
Научите своих пользователей устанавливать надежные пароли. Это не обязательно должны быть случайные последовательности букв, цифр и символов. Они также могут используйте безопасный пароль, но только если это разрешено вашей политикой. Вы также захотите убедиться, что каждый пользователь знает, как изменить их пароль.