- Как дать Root права пользователю в Linux
- Способ 1: Добавление в корневую группу с помощью usermod
- Способ 2: Добавление в корневую группу с помощью команды Useradd
- Способ 3: Редактирование файла /etc/passwd
- Способ 4: Дать права пользователя Sudo
- Создание и удаление пользователей в Debian 8
- Добавление пользователя
- Настройка прав доступа к sudo
- Добавление пользователя в группу sudo
- Редактирование файла /etc/sudoers
- Удаление пользователей
- Заключение
- Debian. Шпаргалка сисадмина. Права доступа
Как дать Root права пользователю в Linux
Суперпользователь «root” — это король пользователей Linux / Unix. Наличие корневого доступа предоставляет полный и неограниченный доступ к дистрибутиву Linux.
В этой инструкции я покажу вам, как дать root права пользователю в системе Linux. Как правило, доступ на корневом уровне (root) используется в системном администрировании. Поэтому всегда больно давать root-доступ другим пользователям. Вы должны быть очень осторожны и должны забрать доступ, как только необходимость в этом отпадет.
Как дать Root права пользователю в Linux
Согласно разрешениям файловой системы Linux, root или суперпользователь имеет полные права на чтение (r), запись (w) и выполнение (x) любого файла. По умолчанию идентификатор пользователя root равен «0».
Я собираюсь создать двух пользователей, а именно user1 и user2. Затем я предоставлю root-правак пользователю «user1«.
Способ 1: Добавление в корневую группу с помощью usermod
Давайте посмотрим, как мы можем дать обычному пользователю root- права, добавив его в корневую группу.
# adduser user1
# adduser user2
# groupadd test
Это группы, которые есть в моей дистрибутиве Linux.
# groups
root bin daemon sys adm disk wheel
Я собираюсь добавить user1 в корневую группу следующим образом:
Приведенная ниже команда даст пользователю привилегию root
Способ 2: Добавление в корневую группу с помощью команды Useradd
Я добавил нового пользователя «user3» в корневую группу с помощью команды:
# useradd -m -G root user3
# groups user3
user3 : user3 root
useradd -c “Imitation Root” -d /home/root_user -m -k /etc/skel -s /bin/bash -u 0 -o -g root root_user
Способ 3: Редактирование файла /etc/passwd
Отредактируйте /etc/passwd для конкретного пользователя. Измените UID и GID пользователя на «0«. Это даст root права пользователю в linux.
Теперь пользователь temproot должен иметь привилегии root:
ВНИМАНИЕ: это не рекомендуемый метод предоставления корневого доступа (root-прав)
Способ 4: Дать права пользователя Sudo
Конфигурационный файл sudo — это файл /etc/sudoers, и вы можете отредактировать его с помощью команды visudo:
Использование visudo защищает от конфликтов и гарантирует использование правильного синтаксиса.
Чтобы предоставить полный доступ конкретным пользователям
Добавьте в файл запись, приведенную ниже:
Следовать этому методу не очень хорошая идея, потому что это позволяет и User1, и User2 использовать команду su для предоставления постоянных привилегий root. Таким образом пропуская функции ведения журнала команд sudo.
Предоставление доступа к определенным файлам одному конкретному пользователю
Эта запись позволяет User 1 и всем другим членам группы получить доступ ко всем программным файлам в каталогах /sbin и /usr/sbin, а также привилегию выполнения команды /usr/oracle/backup.pl…
User1, %operator ALL= /sbin/, / usr/sbin, /usr/oracle/backup.pl
Если у вас есть какие-либо вопросы или предложения по этой теме, оставьте комментарий.
Источник
Создание и удаление пользователей в Debian 8
Управление пользователями – один из самых важных базовых навыков при работе с сервером Linux. Как правило, в свежей системе есть только пользователь root. Этот пользователь имеет права администратора системы, и его привилегиями можно выполнить любую задачу. Однако использовать root для постоянной работы очень опасно: имея такие широкие привилегии, можно случайно нанести системе непоправимый вред. Потому рекомендуется создать дополнительного пользователя для рутинной работы. Расширить привилегии обычного пользователя можно с помощью механизма sudo.
Данное руководство научит вас создавать и удалять учётные записи пользователей, а также передавать им доступ к sudo.
Добавление пользователя
Войдите в систему как пользователь root и создайте нового пользователя с помощью команды:
Находясь в сессии не- root пользователя с доступом sudo, можно добавить нового пользователя с помощью команды:
sudo adduser 8host
Команда предложит указать некоторые данные, в частности пароль для нового пользователя. Все данные, кроме пароля, опциональны. Чтобы принять данные по умолчанию, просто нажмите Enter.
После этого команда предложит подтвердить указанную информацию о пользователе. Чтобы продолжить, введите Y. В целом этот процесс выглядит так:
Adding user ` 8host ‘ .
Adding new group ` 8host ‘ (1001) .
Adding new user ` 8host ‘ (1001) with group `8host’ .
Creating home directory `/home/ 8host’ .
Copying files from `/etc/skel’ .
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for 8host
Enter the new value, or press ENTER for the default
Full Name []: 8host Demo
Room Number []: 123
Work Phone []: 123-123-123
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Команда adduser позволяет создать пользователя и домашний каталог для него. Теперь вы можете войти в систему как новый пользователь.
Настройка прав доступа к sudo
Чтобы иметь возможность использовать новый аккаунт для выполнения задач администратора, нужно разрешить пользователю доступ к команде sudo. Это можно сделать двумя способами:
- Добавить пользователя в группу sudo
- Отредактировать настройки sudo в конфигурационном файле.
Добавление пользователя в группу sudo
В системе Debian 8 все пользователи, входящие в группу sudo, по умолчанию имеют доступ к команде sudo.
Чтобы узнать, в какие группы входит новый пользователь, введите:
groups 8host
8host : 8host
По умолчанию каждый новый пользователь системы входит только в одноименную группу. Чтобы добавить пользователя в другую группу, введите:
usermod -aG sudo 8host
Команда usermod с флагом –aG добавляет пользователя в перечисленные группы.
Теперь нужно убедиться, что новый пользователь входит в группу sudo.
groups 8host
8host : 8host sudo
Теперь у пользователя есть права администратора.
Чтобы выполнить команду с правами обычного пользователя, достаточно просто ввести эту команду:
Чтобы выполнить команду с расширенными привилегиями, нужно добавить sudo:
При этом система запросит пароль текущего пользователя.
Редактирование файла /etc/sudoers
Альтернативный способ расширить привилегии пользователя – отредактировать файл sudoers. Для этого используется команда visudo которая позволяет открыть файл /etc/sudoers в редакторе по умолчанию и явно указать привилегии каждого системного пользователя.
Важно! Редактировать файл sudoers рекомендуется исключительно при помощи visudo, поскольку эта команда блокирует внесение нескольких одновременных правок и выполняет проверку содержания перед перезаписью файла. Это предотвращает ошибки в настройке sudo, которые могут повлечь за собой потерю привилегий.
Если вы находитесь в сессии root, введите:
В сессии обычного пользователя с доступом к sudo введите:
Как правило, visudo открывает /etc/sudoers в редакторе vi, который может показаться сложным для новичков. По умолчанию в новых установках Debian visudo использует более простой редактор nano. Для перемещения курсора используйте клавиши со стрелками. Найдите строку:
root ALL=(ALL:ALL) ALL
Скопируйте эту строку и вставьте её ниже, заменив root именем пользователя, которому нужно передать права суперпользователя.
root ALL=(ALL:ALL) ALL
8host ALL=(ALL:ALL) ALL
Добавьте такую строку для каждого пользователя, которому нужны расширенные привилегии. Сохраните и закройте файл (Ctrl-X, Y, Enter).
Удаление пользователей
Если пользователь больше не используется, его нужно удалить.
Чтобы удалить пользователя, но сохранить его файлы, введите:
# как root
deluser 8host
# как обычный пользователь с расширенными привилегиями:
sudo deluser 8host
Чтобы удалить пользователя вместе с его домашним каталогом, введите:
# как root
deluser —remove-home 8host
# как обычный пользователь с расширенными привилегиями:
sudo deluser —remove-home 8host
Если удалённый пользователь обладал правами суперпользователя, необходимо отнять эти права, отредактировав файл /etc/sudoers:
sudo visudo
root ALL=(ALL:ALL) ALL
8host ALL=(ALL:ALL) ALL # удалите эту строку
Если бы строка осталась в файле, а в системе появился одноименный пользователь, он получил бы расширенные привилегии автоматически. Теперь этого не произойдёт.
Заключение
Управление пользователями – необходимый навык при администрировании сервера Debian 8. Теперь вы можете отделить пользователей и дать им только необходимый для работы доступ.
Читайте также: Редактирование файла sudoers
Источник
Debian. Шпаргалка сисадмина. Права доступа
Предлагаю вашему вниманию третью статью из серии статей-шпаргалок, главная задача которых — быстрое освежение в памяти необходимой информации. На этот раз речь зайдет о правах доступа к файлам и каталогам . Как всегда информация не представляет из себя что-то уникальное и найти её можно как на других блогах или форумах, так и на справочных страницах.
Отобразить права доступа на объекты можно с помощью команды «ls» с ключом «-l«, при выводе мы увидим что-то на
подобии этого (права доступа выделены красной рамкой):
Далее идет пользователь-владелец объекта и основная группа пользователя. Подробнее о выводе команды «ls» вы можете почитать в «манах» или в моей предыдущей статье «Debian. Шпаргалка сисадмина. Работа с файлами и каталогами«.
Первый символ означает тип объекта, ниже они собраны в таблицу:
Флаг | Описание |
---|---|
— | Отсутствие флага |
l — лат. «л» | Символическая ссылка (symbolic link) |
d | Директория (directory) |
b | Блочное устройство (block device) |
c | Символьное устройство (character device) |
p | Канал, устройство fifo (fifo device) |
s | Unix сокет (unix domain socket) |
Для изменения прав доступа используется команда «chmod«. Права доступа могут быть заданы в символьном или абсолютном виде.
Формат символьного режима:
`[ugoa…][[+-=][rwxXstugo…]…][,…]’.
Буквы «ugoa» расшифровываются следующим образом, как логично предположить:
u — пользователь-владелец;
g — первичная группа пользователя, в неё также могут входить другие юзеры;
o — все остальные пользователи, не входящие в первичную группу пользователя-владельца;
a — все вышеперечисленные (a=ugo).
Далее разбираемся с «+-=«:
+ — добавляет выбранные права доступа к уже имеющимся;
— — удаляет выбранные права;
= — присваивает только выбранные права каждому указанному файлу.
Теперь перейдем к правам:
r — чтение;
w — запись;
x — выполнение (или доступ к каталогу);
X — выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя;
s — setuid- или setgid-биты;
t — sticky-бит;
u — установка для остальных таких же прав доступа, которые имеет пользователь, владеющий этим файлом;
g — установка для остальных таких же прав доступа, которые имеет группа файла;
o — установка для остальных таких же прав доступа, которые имеют остальные пользователи (не входящие в группу файла).
Небольшое пояснение по поводу параметра «t«, цитата из справочных страниц:
В настоящее время установка sticky-бита для каталога, приводит к тому, что только владелец файла и владелец этого каталога могут удалять этот файл из каталога. (Обычно это используется в каталогах типа /tmp, куда все имеют права на запись)
Биты setuid— и setgid нужны чтобы запускать исполняемые файлы от имени пользователя-владельца. Если запустить исполняемый файл, который находится в каталоге с установленным битом setgid, то файл запустится с идентификатором группы-владельца этого каталога.
С правами доступа в абсолютном виде дело обстоит следующим образом: для каждого объекта безопасности можно задать права в виде rwx, где r — чтение, w — запись, x — выполнение; соответственно, если права необходимо предоставить, выставляем «1«, если права не нужны — «0«. Таким образом полные права для пользователя в двоичной системе счисления будут выглядеть как «111«, что в восьмеричной будет равно 7.
Рассмотрим на примере как в двоичном виде будут выглядеть маска полных прав для владельца, прав на чтение и выполнение для первичной группы и права на чтение для всех остальных:
-rwxr-xr—
111101100
Теперь условно разбиваем на 3 части:
111|101|100
Переводим в восьмеричную систему и получаем:
754
Стоит отметить, что в большинстве случае биты setuid-, setgid и sticky в абсолютном виде опускаются. Чтобы их установить, необходимо перед числовым представлением прав вставить 4 для setuid, 2 для setgid и 1 для sticky.
Теперь попробуем задать одни и те же права в символьном и абсолютном виде.
Задать владельцу полные права, группа и остальные пользователи не имеют никаких прав, даже на чтение:
root@debian7:
# chmod u=rwx,go= test_file01
Как мы видим, права на файл изменились соответствующим образом: Аналогичная команда в абсолютном виде выглядит так:
root@debian7:
# chmod 700 test_file01
Задать владельцу полные права, группе права на чтение и изменение, а всем остальным на чтение и выполнение:
root@debian7:
# chmod u=rwx,g=rw,o=rx test_file01 Аналог в абсолютном виде:
root@debian7:
# chmod 765 test_file01
Стоить отметить, что основное преимущество изменения прав с использованием символьного вида состоит в гибкости этого метода — он позволяет изменять права только определенным объектам безопасности.
Например, мы имеем файл c разрешениями для владельца только на запись и чтение, а у всех остальных никакого доступа нет. Мы хотим присвоить группе и всем остальным право за чтение файла. Сделать это можно командой:
root@debian7:
# chmod go+r test_file01
При этом мы никак не меняем права пользователя, потому что они нас устраивает, а изменяем права только группы и всех остальных. Чтобы задать такие же права в абсолютном виде, нам придется задавать их для каждого объекта безопасности:
root@debian7:
# chmod 644 test_file01
Теперь попробуем у этого же файла изменить права следующим образом: владельцу дать дополнительно права на выполнение, группе дать права на запись, а права на чтение у всех остальных отозвать:
root@debian7:
# chmod u+x,g+w,o-r test_file01
В принципе эту же команду можно записать даже немного короче:
root@debian7:
# chmod u+x,g+w,o= test_file01 Аналог в абсолютном виде:
root@debian7:
# chmod 760 test_file01
Выставим файлу, например, бит setuid:
root@debian7:
# chmod u+s test_file01
Аналогичная команда в абсолютном представлении с текущими правами:
root@debian7:
# chmod 4760 test_file01
Соответствующим образом изменились и права:
(см. скриншот 06)
Sticky-бит можно установить вот так:
root@debian7:
# chmod +t test_file01
В абсолютном представлении с сохранением текущих прав:
root@debian7:
# chmod 1760 test_file01
Если есть необходимость установить враз, например, setuid и sticky, то маска будет 4+1=5 (или 100+001=101).
Если нужно изменить права рекурсивно на каталог:
root@debian7:
# chmod -R 755 testdir02
Либо на все файлы в текущем каталоге:
root@debian7:
# chmod -R 755 *
Кроме изменения прав доступа может потребоваться смена пользователя-владельца или группы. К сожалению, «chmod» это сделать не сможет, однако есть другие команды:
chown — изменить владельца и группу файлов.
Пример использования:
chown [опции] пользователь[:группа] файл…
root@debian7:
# chown zabbix:zabbix test_file01
Можно использовать рекурсию для изменения владельца всех файлов и каталогов:
root@debian7:
# chown -R zabbix:zabbix testdir02
chgrp — изменить группу файлов
Изменим группу у файла:
root@debian7:
# chgrp zabbix test_file01
Или рекурсивно для каталога:
root@debian7:
# chgrp -R zabbix test_file01
На этом обзор основ работы с правами закончен. Более подробную информацию можно найти в разделе «1.2.3. Filesystem permissions» руководства.
При написании статьи использовались следующие источники, кроме упомянутых выше:
Источник