Создание пользователя в графическом интерфейсе
Использование для создания пользователя Linux в графическом конфигураторе — самый простой, но и наименее гибкий способ.
Вот пример с Ubuntu.
Откройте настройки системы, перейдите в раздел «Пользователи» и нажмите «Разблокировать»,
чтобы приступить к работе с учетными записями.
Как только вы это сделаете, появится кнопка добавления нового юзера.
Возможности конфигурирования нового пользователя невелики: вы можете лишь присвоить ему имя, установить пароль и назначить администратором.
Администратор в Ubuntu может делать всё то же самое, что и root, запросив у последнего разрешение командой sudo, тогда как права обычного пользователя ограничены. Так, обычный пользователь не сможет изменять важные системные настройки и управлять другими пользователями, ему не будет доступна команда sudo. Как и в Windows, для нового юзера создается отдельный каталог с одноименным названием.
Удаление пользователя из вторичной группы
Чтобы удалить пользователя из вторичной группы, нужно перезаписать список групп пользователя, задав набор групп, в котором не будет этой вторичной группы.
При помощи команды id смотрим, в каких группах состоит пользователь (опция -n нужна для вывода названий групп, а не их ID).
id -nG quincy
Предположим, мы увидели, что пользователь quincy состоит в группах «editors» и «writers». Если мы хотим удалить его из группы «writers», мы можем воспользоваться следующей командой:
usermod -G editors quincy
Эта команда очень похожа на ту, которой мы установили для пользователя quincy вторичную группу «editors». Но поскольку мы сейчас не использовали флаг -a, предыдущий список групп просто перезаписался, и теперь в нем нет группы «writers».
Изменение пользователей
Для того, чтобы изменить параметры уже существующей учетной записи используется команда usermod, для ознакомления с ее возможностями получим список ключей командой
usermod -h
Приведем некоторые из них:
- -c — изменить комментарий
- -d — новый домашний каталог
- -g — новая основная группа
- -G — новые дополнительные группы
- -a — добавить пользователя в дополнительные группы, не удаляя из других групп, используется совместно с ключом -G
- -l — новое имя учетной записи
- -L — блокировать учетную запись
- -m — переместить содержимое домашнего каталога, используется только вместе с -d
- -U — разблокировать учетную запись
Например:
usermod -c «Ivanov Ivan» -aG sudo ivan
Данная команда создаст новый комментарий к учетной записи и добавит пользователя ivan в дополнительную группу sudo.
Управление группами пользователей
Для управления группами используется аналогичный набор команд: groupadd, groupmod и groupdel. Их ключи также можно посмотреть, запустив их с параметром -h.
Для создания группы используйте:
groupadd office
Из дополнительных ключей имеют практический смысл:
- -g — использовать указанный GUID
- -f — завершить команду без ошибки если группа с таким именем уже существует и отменить действие -g, если указанный GUID уже используется.
При помощи команды usermod мы можем изменить GUID и наименование группы, скажем:
groupmod -n sales office
Данная команда переименует группу office в группу sales. Используемые ключи:
- -g — изменить GUID группы
- -n — изменить наименование группы
Ну и наконец groupdel, который используется для удаления групп:
groupdel office
Из параметров можно использовать:
-f — удалить группу, даже если она является основной для пользователя
При удалении групп всегда нужно проявлять осмотрительность и не следует удалять группы, в которых состоят пользователи. Если же такая необходимость существует, то следует предварительно вывести из группы пользователей и изменить группу для всех объектов, которыми владела удаляемая группа.
Команда chmod
Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».
Синтаксис команды chmod следующий:
Разрешения можно задавать двумя способами:
- Числом
- Символами
Запись прав доступа числом
Пример:
В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.
- Первая цифра используется для указания прав доступа для пользователя.
- Вторая цифра для группы.
- Третья для всех остальных.
В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):
Число | Разрешения | Символьное обозначение |
---|---|---|
разрешения отсутствуют | — | |
1 | x — запуск | —x |
2 | w — изменение | -w- |
3 | x+w — запуск+изменение | -wx |
4 | r — чтение | r— |
5 | r+x — чтение+запуск | r-x |
6 | r+w — чтение+изменение | rw- |
7 | r+w+x — чтение+изменение+запуск | rwx |
Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:
Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 764, которые означают:
- 7 — права для владельца-пользователя. Владелец файла может читать, изменять и запускать файл (r+w+x).
- 6 — права для группы. Пользователи, которые принадлежат группе могут читать и изменять файл (r+w).
- 4 — права для всех остальных. Все остальные могут только читать файл (r).
Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».
В таблице ниже приведены некоторые часто используемые значения числовых значений прав доступа:
Числовоеобозначение | «rwx»-обозначение | Описание |
---|---|---|
400 | -r——— | Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены. |
644 | -rw-r—r— | Все пользователи могут читать файл. Владелец может изменять файл. |
660 | -rw-rw—- | Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены. |
664 | -rw-rw-r— | Все могут читать файл. Владелец и группа могут изменять. |
666 | -rw-rw-rw- | Все могут читать и изменять файл. |
700 | -rwx—— | Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены. |
744 | -rwxr—r— | Все могут читать файл. Владелец может также изменять и запускать файл. |
755 | -rwxr-xr-x | Все могут читать и запускать файл. Владелец может также изменять файл. |
777 | -rwxrwxrwx | Все пользователи могут читать, изменять и редактировать файл. |
Запись прав доступа символами
Примеры:
Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «—» и такие символы как, например, «g» или «u».
Общий синтаксис можно записать примерно так:
Обозначения для владельцев файла следующие:
Обозначение | Описание |
---|---|
u | Владелец-пользователь. |
g | Группа. |
o | Все остальные. |
a | Вообще все. |
Математические операции означают следующее:
Оператор | Описание |
---|---|
+ | Добавляет к текущим правам доступа новое разрешение. |
— | Удаляет из текущих прав доступа определенное разрешение. |
= | Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми). |
В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).
Рассмотрим примеры:
-
В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1.
-
Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).
-
Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.
-
Разрешаем владельцу (u) и группе (g) запускать файл (x).
-
Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.
Рекурсивное изменение прав доступа
Если необходимо изменить права доступа на все файлы в директории, включая вложенные директории, то для этого существует опция -R, что означает рекурсивное изменение прав доступа для директорий и их содержимого. Например, изменим права доступа у всех файлов в директории Mydir:
И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:
Добавление пользователя в группу
Для добавления пользователя в группу используется команда usermod. Давайте добавим пользователя «quincy» в группу «writers». Опция -a означает «append» («добавить», «прикрепить»), а опция -G служит для указания названия вторичной группы.
usermod -a -G writers quincy
Когда вы создаете пользователя при помощи команды adduser, для него автоматически создается первичная группа, носящая его имя. Поэтому в настоящее время пользователь «quincy» состоит в первичной группе «quincy» и вторичной «writers».
Также можно добавить пользователя сразу в несколько групп, перечислив их через запятую без пробелов (-G group1,group2,group3).
А эта команда изменит первичную группу пользователя quincy на группу «editors»:
usermod -g editors quincy
Установка, обновление и удаление пакетов
В Linux почти все программное обеспечение имеет открытый исходный код, поэтому в большинстве своем распространяется через открытые репозитории. Для его загрузки и установки используются менеджеры пакетов. В каждом семействе дистрибутивов он свой.
apt (в Debian, Ubuntu и им подобных)
sudo apt-get install название пакета — устанавливает пакет из подключенных репозиториев. Ищется по названию и версии.
sudo apt remove название пакета — удаляет из системы установленный пакет.
sudo apt purge название пакета — удаляет установленный пакет и вместе с ним уничтожает все зависимые данные. От приложения не остается никаких следов. Такой вариант подходит, когда нужна полная переустановка пакета «с нуля».
sudo apt autoremove — автоматически выполняет уборку среди установленных пакетов, убирая ненужные остатки кода.
sudo apt-add-repository адрес репозитория — подключает к системе дополнительный репозиторий с пакетами, не вошедшими в базу репозиториев по умолчанию. Требуется для установки некоторых редких open-source-приложений.
sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.
sudo apt-upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.
dnf (в Red Hat Linux, CentOS, Fedora)
sudo dnf install название пакета — устанавливает программу на выбор.
sudo dnf config-manager –add-repo адрес репозитория — подключает к системе дополнительный репозиторий.
sudo dnf upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.
sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
sudo dnf autoremove — разыскивает мусор среди имеющихся пакетов и в автоматическом режиме вычищает его.
pacman (в Arch Linux и Manjaro)
sudo pacman -S название пакета — устанавливает пакет на выбор.
sudo yaourt -S название пакета — устанавливает пакет на выбор из репозитория AUR.
sudo pacman -Sy — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.
sudo pacman -Syu — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.
sudo pacman -R название пакета — стирает с жесткого диска имеющийся в системе пакет.
sudo pacman -Rs название пакета — стирает не только установленное приложение, но и все зависимые от него элементы.
Модифицирование первичной группы пользователя в Linux
Хотя учетная запись пользователя может быть долею нескольких групп, одна из групп всегда является «основной группой», а остальные представляются «вторичными группами». Файлы и папки, созданные пользователем, будут соответствовать первичной команде.
Чтобы изменить основную группу, которой назначен пользователь, запустите бригаду usermod, заменив groupname на имя группы, которую вы хотите сделать основной и username на имя переписной записи пользователя.
Обратите внимание на -g здесь. При использовании маленькой буквы g вы назначаете основную группу
Когда вы используете верхний регистр -G, как указано реке, вы назначаете новую вторичную группу.
Ограничения на добавление пользователей в группы
- Максимальное число участников в группе. Количество участников группы не ограничено, поэтому пригласить, добавить или принять можно сколько угодно пользователей.
- Детские аккаунты. Добавить пользователей детских аккаунтов нельзя ни одним из способов.
Как отправлять приглашения
- Войдите в Google Группы.
- Нажмите на название группы.
- В меню слева нажмите Участники.
- В верхней части экрана нажмите Добавить участников.
- Внизу переведите в выключенное положение переключатель Добавлять участников напрямую.
- Введите адреса электронной почты нужных пользователей.
- Если нужно добавить сообщение с приглашением, введите текст.
- Нажмите Отправить приглашения.
- Как управлять приглашениями
- Слева выберите Ожидающие рассмотрения участники.
- Выполните одно из следующих действий:
- Чтобы пригласить пользователя ещё раз, выберите приглашениесправа нажмите на значок «Отправить приглашение повторно» . Через 7 дней приглашение становится недействительным, но его можно отправить повторно в любой момент.
- Чтобы отменить отдельное приглашение, выберите егосправа нажмите на значок «Отменить приглашение» .
- Чтобы повторно отправить или отменить несколько приглашений сразу, установите флажки рядом с нимисправа над списком нажмите на значок «Отправить приглашение повторно» или «Отменить приглашение»
Как добавлять пользователей в группу напрямую
При добавлении напрямую вы можете назначить пользователям роль участника, менеджера или владельца.
- Войдите в Google Группы.
- Нажмите на название группы.
- В меню слева нажмите Участники.
- В верхней части экрана нажмите Добавить участников.
- Введите адреса электронной почты нужных пользователей.
-
Если нужно добавить приветственное сообщение в уведомление по электронной почте для новых участников, введите текст.
- Нажмите Добавить участников.
Как управлять запросами на присоединение к группе
Вы можете проверять запросы на вступление в свою группу и принимать или отклонять их.
- Войдите в Google Группы.
- Нажмите на название группы.
- Слева выберите Ожидающие рассмотрения участники.
- Выполните одно из следующих действий:
- Чтобы одобрить отдельный запрос, справа от него нажмите на значок «Одобрить запрос» .
- Чтобы отклонить запрос, справа от него нажмите на значок «Отклонить запрос» .
- Чтобы одобрить или отклонить несколько запросов сразу, установите флажки рядом с нимисправа над списком нажмите на значок «Одобрить запрос» или «Отклонить запрос»
Как посмотреть список участников
Для группы можно посмотреть список участников, а также пользователей, которые были в ней заблокированы.
- Войдите в Google Группы.
- Нажмите на название группы.
- В меню слева нажмите Участники.
- Чтобы посмотреть список заблокированных пользователей, слева нажмите Заблокированные пользователи.
Список пользователей — /etc/passwd
Список всех созданных пользователей хранится в текстовом файле —
Открыть список пользователей можно также следующей командой.
Формат данных в файле выглядит следующим образом.
- Логин пользователя: используется для входа в учетную запись. Длина логина не должна превышать 32 символа.
- Пароль: если вместо пароля стоит символ «x», то это означает, что пароль зашифрован и хранится в файле . Сам хеш пароля создается при создании пароля с помощью команды
- Идентификатор пользователя (UID): при создании нового пользователя ему присваивается идентификатор — 32 битовое целое число (UID). Для пользователя root всегда используется идентификатор со значением 0. Идентификаторы в пределах 1-9 зарезервированы для предопределенных аккаунтов. UID в пределах 100-999 зарезервированы для прочих системных аккаунтов.
- Идентификатор основной группы (GID): — 32 битовое целое число. Учетная может принадлежать одной основной группе. Доступные группы и пользователей, которые к ним причислены можно увидеть в файле /etc/group.
-
Контактная информация: добавляется с помощью команды .
5.1 Полное имя пользователя
5.2 Рабочий адрес
5.3 Рабочий номер телефона
5.4 Домашний номер телефона - Домашняя директория пользователя: полный путь директории в которую попадет пользователь после входа в учетную запись. Если директория не будет указана, то по умолчанию домашней директорией становится корень — .
- Командная оболочка: полный путь к файлу командной оболочки. Изменить оболочку можно с помощью команды .
Создание пользователя в Linux
Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.
Команда useradd
Это довольно простая команда, которая есть во всех дистрибутивах Linux. Она позволяет зарегистрировать нового пользователя или изменить информацию об уже имеющемся. Во время создания можно даже создать домашний каталог пользователя и скопировать в него системные файлы. Рассмотрим синтаксис команды:
$ useradd опции имя_пользователя
Все довольно просто, дальше нам нужно рассмотреть основные опции команды, с помощью которых вы будете настраивать нового пользователя:
- -b — базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
- -c — комментарий к учетной записи;
- -d — домашний каталог, в котором будут размещаться файлы пользователя;
- -e — дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
- -f — заблокировать учетную запись сразу после создания;
- -g — основная группа пользователя;
- -G — список дополнительных групп;
- -k — каталог с шаблонами конфигурационных файлов;
- -l — не сохранять информацию о входах пользователя в lastlog и faillog;
- -m — создавать домашний каталог пользователя, если он не существует;
- -M — не создавать домашнюю папку;
- -N — не создавать группу с именем пользователя;
- -o — разрешить создание пользователя linux с неуникальным идентификатором UID;
- -p — задать пароль пользователя;
- -r — создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
- -s — командная оболочка для пользователя;
- -u — идентификатор для пользователя;
- -D — отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.
Теперь, когда вы знаете основные необходимые нам параметры утилиты мы можем перейти к разбору того, как выполняется создание нового пользователя linux. Сначала давайте посмотрим какие параметры будут применены для пользователя по умолчанию:
Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:
Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:
Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:
Также, можно установить дату, когда аккаунт пользователя будет отключен автоматически, это может быть полезно для пользователей, которые будут работать временно:
Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:
Пожалуй, это все основные примеры как добавить пользователя linux. Дальше нам осталось взглянуть только на работу в графическом интерфейсе.
Создание нового пользователя linux в GUI
Затем откройте «Пользователи»:
Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»:
Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:
В открывшемся окне нужно заполнить все поля. Но тут намного больше ограничений, чем в методе через терминал. Вы не можете задать слишком простой пароль, а также нельзя настроить группы. Можно только указать будет ли пользователь включен в группу wheel с помощью выбора типа пользователя — администратор или обычный:
После этого создание пользователя linux завершено, новый пользователь появится в списке.
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
Подключение к серверу через SSH
Мы уже выяснили, что представляет собой SSH и команды для него. Теперь установим соединение с сервером.
Естественно, перед началом надо арендовать виртуальный хостинг или VDS у одного из доступных провайдеров. У Timeweb, к примеру.
Если у вас macOS или Linux
- Запускаем программу Terminal.
- Вводим в консоль команду со следующим синтаксисом ssh имя пользователя@адрес сервера. В моем случае это ssh [email protected].
- Указываем пароль суперпользователя (его отправляет хостинг-провайдер сразу после регистрации).
- Жмем Enter.
Все. Соединение установлено, можно переходить к работе непосредственно с сервером.
Если у вас Windows
- Скачиваем и устанавливаем программу PuTTY.
- В строку IP-адрес вводим адрес своего VDS или виртуального хостинга.
- Жмем на кнопку Open.
- Вводим пароль администратора, чтобы получить доступ к управлению.
Управление протоколом SSH
У команды для подключения к удаленному PC по SSH есть две важных опции:
- ssh -p номер порта имя пользователя@адрес сервера — заменяет стандартный 22-й порт на иной, что положительно сказывается на безопасности и устойчивости к автоматическим хакерским атакам от ботов.
- ssh-copy-id -i путь до файла с ключом имя пользователя@адрес сервера— копирует ключ на сервер, чтобы вход осуществлялся без логина и пароля, а именно через ключ.
Основные правила управления доступом
Объекты (например, файлы и процессы) имеют владельцев. Владельцы обладают обширным (но необязательно неограниченным) контролем над своими объектами.
- Вы являетесь владельцами новых объектов, создаваемых вами.
- Пользователь root с особыми правами, известный как суперпользователь, может действовать как владелец любого объекта в системе.
- Только суперпользователь может выполнять административные операции особого значения.
Владельцем файла всегда является один человек, тогда как в группу владельцев могут входить несколько пользователей. По традиции информация о группах хранилась в файле .
Повышение пользовательских прав командой sudo
Существует более современный способ повышения пользовательских прав с помощью команды sudo (substitute user and do — подменить пользователя и выполнить).
Sudo является программой системного администрирования, дающей возможность выполнять команды от имени root. Если для выполнения команды su все пользователи должны были знать пароль root, что само по себе небезопасно, то sudo его не требует. В sudo нужен пароль самого пользователя.
Sudo работает следующим образом, перед командой которую необходимо выполнить, нужно добавить sudo, например:
От имени root: yum install -y wget При помощи sudo: sudo yum install -y wget
Sudo определяет пользователя сверяясь с настройками находящимися в файле /etc/sudoers, если пользователь внесен в sudoers, то команда выполняется. Если выполнить команду sudo от имени пользователя не внесенного в sudoers, то можно увидеть такую картину:
$ sudo yum install -y wget password for test: test is not in the sudoers file. This incident will be reported.
При попытке выполнить команду sudo, от имени пользователя test, выдается ответ что такого пользователя в файле sudoers не обнаружено. О событии создается запись в лог файле, также высылается электронное письмо root-пользователю с уведомлением о случившемся.
From [email protected] Sat Feb 11 20:19:12 2017 Return-Path: <[email protected]> X-Original-To: root Delivered-To: [email protected] Received: by test2.localdomain (Postfix, from userid 0) id CD2AF8051BC; Sat, 11 Feb 2017 20:19:12 +0300 (MSK) To: [email protected] From: [email protected] Auto-Submitted: auto-generated Subject: *** SECURITY information for test2 *** Message-Id: <[email protected]> Date: Sat, 11 Feb 2017 20:19:12 +0300 (MSK) test2 : Feb 11 20:19:12 : test : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/test ; USER=root ; COMMAND=/bin/yum install wget
Для того чтобы пользователь мог выполнять sudo, его надо внести в файл sudoers. Сделать это можно двумя способами.
Первый способ — внесение имени пользователя непосредственно в сам файл /etc/sudoers. Для изменения файла sudoers, требуется обладать правами root.
nano /etc/sudoers Находим строку: root ALL=(ALL) ALL Добавляем под нее имя пользователя, которому будет разрешен доступ к sudo: root ALL=(ALL) ALL test ALL=(ALL) ALL Сохраняем и выходим.
После того как пользователь будет внесен в список допущенных к использованию, он может выполнять команду sudo.
Вторым способом разрешить пользователям выполнять команду sudo, является внесение пользователя в группу wheel, точно так же как в случае с командой su.
Вносим пользователя в группу wheel: usermod -a -G wheel techlist_1 Проверяем: id techlist_1 uid=1001(techlist_1) gid=1004(techlist_1) группы=1004(techlist_1),10(wheel) Перезагружаем систему: reboot
После перезагрузки системы, пользователь внесенный в группу wheel, сможет выполнять sudo.
Для того чтобы полностью сменить окружение пользователя на окружение root, используется команда sudo -i, что равносильно использованию команды su —
$ sudo -i password for test: #
Возвращение в свое пользовательское окружение, происходит при помощи команды exit.
Каждый раз при использовании sudo, требуется ввод пароля пользователя. При вводе пароля, происходит обновление временной метки, что позволяет выполнять sudo без ввода пароля на протяжении некоторого времени. По умолчанию ввод пароля не требуется на протяжении пяти минут, после чего пароль опять будет затребован. Временной промежуток можно изменить при помощи опции timeout в файле sudoers. Существует возможность отключения ввода пароля.
Отключить ввод пароля для пользователей принадлежащих к группе wheel:
Открываем для внесения изменений: nano /etc/sudoers Находим строку: # %wheel ALL=(ALL) NOPASSWD: ALL Раскомментировать строку: %wheel ALL=(ALL) NOPASSWD: ALL Сохраняем изменения и выходим.
Отключить ввод пароля для пользователей добавленных вручную:
Открываем для внесения изменений: nano /etc/sudoers Находим строку с нужным пользователем: test ALL=(ALL) ALL Изменяем ее: test ALL=(ALL) NOPASSWD: ALL Сохраняем изменения и выходим.
Sudo гибкая в настройке и позволяет настроить множество различных параметров. Грамотный администратор знающий sudo может творить настоящие чудеса с пользователями.
Для просмотра руководства по настройке sudo, выполняется команда:
Посмотреть руководство sudo: man sudoers Выйти из руководства: q Посмотреть список дополнительных опций команды: sudo -h
Прочие инструменты для работы с базами данных
Для просмотра отдельных записей можно использовать getent(1) :
% getent group tty
Как отмечалось в разделе #База данных пользователей, для работы с базами данных лучше использовать специализированные утилиты вроде passwd и chfn. Если же они недоступны, то есть vipw и vigr. Данные редакторы предпочтительней обычных текстовых редакторов, поскольку они могут блокировать базу данных на случай одновременного редактирования, а также не позволяют добавить в базу некорректную запись. Shadow-базы редактируются командами vipw -s и vigr -s из пакета util-linux , если утилита chage также недоступна.
Создание пользователя в терминале
Использование терминала для создания пользователя открывает как минимум на порядок больше возможностей. Чтобы не нагружать мало знакомого с Linux читателя избыточной информацией, мы намерено решили опустить тему синтаксиса приведенных ниже команд управления учетными записями, коснувшись только некоторых ее сторон, но посчитали нужным дать определение используемым в статье терминам.
- Команда — это зарезервированное слово, «приказ» системе выполнить то или иное действие.
- Ключ — под ключом мы имеем ввиду некий переключатель, используемый в команде и расширяющий ее возможности. Ключ может принимать значение, а может и не принимать.
- Аргумент или значение ключа — это некий логический набор данных, который обрабатывается командой.
Для создания пользователя в Linux используется команда useradd, если вы откроете ее справку командой useradd —help, где —help является ключом, то в терминале будет выведен полный набор поддерживаемых данной командой ключей.
Назначение домашнего каталога по умолчанию, блокировка учетной записи по истечении указанной даты, добавление пользователя в другие группы, создание пользователя без GUI и домашней папки, смена папки с конфигурационными файлами пользователя и назначение ему уникального ID и шелла — всё это и многое другое можно сделать с помощью терминала.
Добавляется новый пользователь в Ubuntu командой useradd имя-юзера. Перед выполнением команды мы запрашиваем разрешение у root, поэтому вначале ставим sudo. Если вы хотите в рамках сессии постоянно работать с правами суперпользователя, выполните sudo su -. Если увидите на скриншотах такую конструкцию, это значит мы переключились в режим root.
При выполнении команды useradd автоматически будет создана новая группа и домашняя папка юзера. В процессе система попросит придумать и ввести для нового пользователя пароль и указать дополнительные сведения, которые, в отличие от пароля, можно проигнорировать. Это будет самый обычный пользователь с домашней папкой в каталоге /home и командной строкой bash. Получить базовые сведения о пользователе можно командой id имя-юзера. Для примера мы только что создали нового пользователя ludos и вывели командой id ludos о нём сведения. В результате получили строку из трех частей.
- uid — это идентификатор пользователя.
- gid — идентификатор его группы (по умолчанию равен ID юзера).
- группы — перечень групп, в которые входит пользователь.
Используя ключи, можно создать нового пользователя с определённым набором прав и функций, например, очень часто приступающие к изучению Linux люди интересуются, как создать рутового пользователя.
Да очень просто: используя ключи -o, -u, -g и -s Первый ключ разрешает создание пользователя с неуникальным ID, второй назначает ему идентификатор пользователя, а третий — идентификатор группы, которые совпадают с идентификаторами рута (0). Четвёртый ключ назначает командную оболочку. Сама же команда будет выглядеть следующим образом, где newroot — новый рутовый пользователь.
useradd -o -u 0 -g 0 -s /bin/bash newroot
Только вот делать так не рекомендуем.
Во-первых, этот дубль-root не отображается на экране входа в систему (нужно нажать «нет в списке» и ввести его имя и пароль), не отображается он и в графической утилите управления пользователями. Во-вторых, у вас могут возникнуть проблемы с его удалением. Ubuntu советует использовать для удаления рутового пользователя ключ —force, но когда мы выполняем команду удаления deluser —force newroot, система сообщает об ошибке из-за использования newroot процесса с ID 1, принадлежащего пользователю root! То есть newroot стал как-бы зеркалом рута.
Проверить, существует ли пользователь в системе Linux
Теперь, когда мы знаем, как составить список всех пользователей, чтобы проверить, существует ли пользователь в нашем Linux-сервере, мы можем просто отфильтровать список пользователей, передав его по конвейеру команде .
Например, чтобы узнать, существует ли в нашей системе Linux пользователь с именем мы можем использовать следующую команду:
Если пользователь существует, приведенная выше команда распечатает информацию для входа в систему. Нет вывода, что означает, что пользователь не существует.
Мы также можем проверить, существует ли пользователь, не используя команду как показано ниже:
Как и раньше, если пользователь существует, команда отобразит информацию для входа в систему.
Если вы хотите узнать, сколько учетных записей пользователей у вас в системе, вывод команде :
Как видно из вышеприведенного вывода, в моей системе Linux 33 учетных записи пользователей.