Как сменить пользователя linux
В отличие от архитектуры MS-DOS, этой предшественницы Windows, архитектура Linux изначально разрабатывалась как многопользовательская. И даже сегодня, когда Windows проделала немалый путь в своем развитии, создание пользователей и назначение им прав в Linux отличается большей логичностью и прозрачностью. В только что установленной Ubuntu или Mint имеются два пользователя — вы и root, присутствующий в системе как-бы неявно.
Но обладающий полными правами на выполнении любых операций и могущий делегировать свои права вам как администратору по первому же требованию. Есть еще системные пользователи, так называемые демоны — запускаемые системой процессы, аналогичные службам в Windows, но это отдельная тема.
Создание пользователя в графическом интерфейсе
Использование для создания пользователя Linux в графическом конфигураторе — самый простой, но и наименее гибкий способ.
Вот пример с Ubuntu .
Откройте настройки системы, перейдите в раздел «Пользователи» и нажмите «Разблокировать»,
чтобы приступить к работе с учетными записями.
Как только вы это сделаете, появится кнопка добавления нового юзера.
Возможности конфигурирования нового пользователя невелики: вы можете лишь присвоить ему имя, установить пароль и назначить администратором.
Администратор в Ubuntu может делать всё то же самое, что и root, запросив у последнего разрешение командой sudo , тогда как права обычного пользователя ограничены. Так, обычный пользователь не сможет изменять важные системные настройки и управлять другими пользователями, ему не будет доступна команда sudo . Как и в Windows, для нового юзера создается отдельный каталог с одноименным названием.
Создание пользователя в терминале
Использование терминала для создания пользователя открывает как минимум на порядок больше возможностей. Чтобы не нагружать мало знакомого с 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 стал как-бы зеркалом рута.
Где хранятся данные о пользователях
Сведения обо всех пользователях хранятся в нескольких файлах, с содержимым которых мы познакомимся на примерах. Для вывода содержимого этих файлов в терминал мы будем использовать команду cat, выполненную с правами суперадминистратора.
/etc/passwd — файл passwd хранит имя пользователя, метку пароля, ID пользователя, ID группы (GID) , полное имя и служебную информацию, путь к домашней папке и используемый юзером шелл (командную строку) , разделенные двоеточиями.
Чтобы просмотреть содержимое этого файла выполните команду sudo cat /etc/passwd .
Помимо пользователя root, который всегда идет в списке первым и имеет ID и GID , файл может содержать массу служебных пользователей, которые сейчас нас не интересуют. Давайте-ка лучше посмотрим на запись администратора.
Для наглядности мы использовали цветовую идентификацию.
- Желтый — имя пользователя.
- Красный — метка пароля (x), сам пароль хранится в зашифрованном виде в другом файле.
- Оранжевый — идентификатор пользователя.
- Зеленый — идентификатор группы, в которую входит пользователь, и таких групп может быть несколько.
- Серый — полное имя пользователя и служебная информация. Если данные отсутствуют, блок заполняется запятыми.
- Голубой — домашний каталог пользователя.
- Сиреневый — используемая командная оболочка.
/etc/shadow — хранит пароли пользователей в зашифрованном виде. Строка представлена именем пользователя и зашифрованным паролем, разделяемыми двоеточием.
Цвета на изображении означают:
- Желтый — имя пользователя.
- Красный — его пароль в зашифрованном виде.
/etc/group — этот файл хранит названия групп. Его содержимое представлено названием группы, меткой пароля, идентификатором группы и ее названием. Если в группу входит несколько пользователей, они перечисляются через запятую.
Цветом на изображении выделены:
- Желтым — название группы.
- Красным — метка пароля.
- Зеленым — идентификатор группы.
- Голубым — входящие в группу пользователи.
Управление пользователями
Для управления пользователями в Linux Ubuntu существует команда usermod , которая также может принимать множество ключей и параметров. Если помните, ранее мы создали пользователя ludos. Это обычный пользователь, не являющийся администратором и не имеющий прав использовать команду sudo . Предоставим ему эти привилегии, добавив его в группы adm и sudo . Здесь мы вынуждены сделать маленькое отступление, сказав пару слов о группах. Как просмотреть список групп и что в них хранится, вы уже в курсе, но не будет лишним также знать, что группы могут быть первичными и вторичными.
- Первичной называется группа, которая создается вместе с пользователем; в свою очередь, пользователь может входить только в одну первичную группу.
- Вторичными называются все остальные группы, в которые пользователь может быть добавлен в процессе работы. Один и тот же пользователь может входить в множество дополнительных групп.
На досуге вы можете изучить ключи команды usermod , выполнив ее с параметром --help, а сейчас нам достаточно знать два ключа:
- -a — ключ добавляет пользователя в указанную группу.
- -G — специальный ключ, определяющий список дополнительных групп.
Формируем такую команду, добавляя юзера в группы adm и sudo , перечисляя их через запятую:
usermod -a -G adm,sudo ludos
Получив данные о пользователе командой id ludos , мы видим, что его ID и GID остались прежними, зато он оказался членом групп adm и sudo .
Открыв графическую оболочку управления пользователями, мы обнаруживаем, что наш обычный ludos стал администратором, а так как он входит еще и в группу sudo , то может пользоваться и привилегиями root, в чём мы и убеждаемся, войдя в учетную запись ludos, открыв терминал и запросив разрешения root.
Удаление пользователей
Удалить пользователя проще всего в настройках через раздел «Пользователи». Для этого мы должны входить в группу администраторов и обладать правами root.
Тут всё очень просто: выбираем юзера, жмем разблокировать, вводим свой пароль, жмем кнопку «Удалить пользователя».
И выбираем, оставлять на диске его файлы (домашнюю папку) или нет.
Чтобы удалить пользователя из терминала, используем команду deluser имя-юзера . Выполненная без параметров, команда удаляет только запись о пользователе, но не его файлы, поэтому приходится использовать ключи, ознакомиться с которыми вы опять же можете сами, выполнив deluser --help .
Например, чтобы вместе с пользователем удалить его домашний каталог, нужно добавить ключ --remove-home, вот так:
deluser --remove-home ludos
Шаблон, в котором хранятся настройки удаления пользователя командой deluser без использования аргументов, представлен файлом /etc/deluser.conf.
Давайте его откроем в редакторе nano и кое-чего подправим, сделав так, чтобы выполненная без аргументов команда deluser удаляла юзера вместе с его домашним каталогом.
Открываем и видим, что REMOVE_HOME имеет значение 0,
что означает не удалять папку профиля. Заменяем 0 на 1, сохраняем конфиг-файл,
удаляем юзера deluser без параметров и видим, что папка тоже удалена!
Удаление рутового пользователя
Ну хорошо, но у нас есть еще пользователь с рутовым правами и именем newroot, помните, мы его создали, а потом хотели удалить, но безуспешно? Этот юзер использует корневой процесс unit с ID 1, — убьёте его командой killall — тут же уложите систему.
Не навсегда, просто она перейдет в состояние, подобное BSOD .
Как быть в этой ситуации? Вероятно, есть более элегантное решение проблемы, но мы решили пойти ва-банк и удалить запись зеркального рута прямо из конфигурационных файлов.
Сначала открываем в редакторе nano файл /etc/passwd и удаляем из него запись о юзере newroot .
Точно так же поступаем с файлом /etc/shadow.
Осталось только разобраться с домашним каталогом newroot ,
для чего в открываем терминал в папке /home и сносим его командой sudo rm -r newroot .
Заключение
Создание и управление пользователями через графический интерфейс в Linux имеет много общего с аналогичной процедурой в Windows, но стоит только углубиться в тему, задействуя командную строку, как тут же становится очевидным, насколько более широкие возможности в этом плане предоставляет Linux.
Иногда компьютерами под управлением операционных систем Linux пользуются несколько юзеров по очереди, например, дома. В таких случаях не всегда удобно иметь одну учетную запись на всех человек, поскольку каждый желает задать определенную конфигурацию ОС и получить хотя бы минимальную конфиденциальность. Именно поэтому разработчики добавляют возможность создавать неограниченное количество защищенных профилей, чтобы в любой момент переключиться к какому-либо из них. На нашем сайте уже имеется статья, в которой детально описано два способа создания юзеров, поэтому сегодня мы опустим этот процесс и сразу перейдем к теме способов переключения между профилями.
Меняем пользователя в Linux
Далее вы узнаете о четырех доступных вариантах смены учетной записи в Linux на примере дистрибутива Ubuntu. Проще всего это сделать через графическую оболочку или сразу же при начале нового сеанса. Однако существуют и другие условия, о которых мы тоже поговорим в рамках данного материала. Дополнительно вам может понадобиться просмотреть список всех профилей, чтобы знать, какие у них установлены пароли и имена. Для этого мы предлагаем ознакомиться со следующей статьей по ссылке ниже, а мы переходим к первому варианту.
Способ 1: Список профилей при входе в систему
По умолчанию абсолютно во всех существующих дистрибутивах Линукс функция автоматического входа отключена, поэтому при создании нового сеанса требуется выбрать пользователя для входа, а уже потом появится строка для ввода пароля. На этом этапе вы можете указать, к какой именно учетной записи хотите подключиться.
-
Включите компьютер, чтобы создать новый сеанс. При отображении списка кликните левой кнопкой мыши по соответствующей строке с подходящим именем.
Как видите, этот метод максимально прост, что позволит даже самому начинающему юзеру выполнить его без каких-либо трудностей. Однако если вы уже создали сеанс и не желаете перезагружать ПК для смены профиля, обратите внимание на следующий способ.
Еще раз уточним, что мы рассматриваем выполняемую процедуру на примере Ubuntu и установленной по умолчанию в ней графической оболочке. Если же вы обнаружили какие-либо различия, изучая скриншоты, вам предстоит самостоятельно отыскать необходимую кнопку. Это не составит труда, если вы хотя бы немного ориентируетесь в графическом интерфейсе. В противном случае можно обратиться к официальной документации дистрибутива и его оболочки. Смена учетной записи через окружение рабочего стола происходит так:
-
Нажмите на кнопку выключения, которая находится на панели задач. Она может быть расположена вверху или снизу, что зависит от общих настроек.
Отметим, что этот вариант подойдет только в том случае, если вы не хотите менять юзера для всей сессии, а желаете выполнить какие-либо команды от его имени через консоль, а потом снова вернуться к управлению через исходный профиль. В любом дистрибутиве существует единая команда, позволяющая осуществить задуманное.
Как видите, для осуществления данного способа потребуется знать точное имя пользователя, а не только его пароль. Однако это единственный доступный вариант, позволяющий выполнять команды в пределах одной консоли от имени другого юзера.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Операционная система Ubuntu рассчитана на то, чтобы её использовали от имени одного определенного пользователя. Менять пользователя в процессе работы приходится не так уж часто. Обычно вы вводите логин и пароль при входе в систему, а затем пользуетесь ею пока не придёт пора выключать компьютер.
Если надо выполнить какие-либо действия с административными привилегиями, то для этого есть sudo. Однако иногда надо сменить пользователя Ubuntu. В этой статье мы поговорим о том как сделать это в графическом интерфейсе и в терминале.
Как сменить пользователя в Ubuntu
Сначала кликните по значку выключения в правом верхнем углу экрана и выберите там пункт Завершить сеанс или Сменить пользователя:
Затем подтвердите завершение сеанса или смену:
Далее перед вами откроется обычное окно входа, где вы сможете выбрать пользователя из списка или ввести его логин в поле ввода. Затем вы снова окажетесь на рабочем столе Ubuntu.
Теперь давайте поговорим как выполняется смена пользователя в терминале. Для этого надо использовать команду su. Например, чтобы сменить пользователя на losst достаточно выполнить:
Утилита запросит пароль пользователя losst после чего откроет командную строку от его имени:
Если вы хотите, чтобы путь к домашней папке и все другие переменные окружения для пользователя обновились используйте опцию -l или --login. Вместо неё также можно просто добавить чёрточку "-". Например:
Если выполнить утилиту без параметров, то вы войдете от имени пользователя root. Но поскольку пароль root не задан по умолчанию, то следует добавить перед ней sudo:
В таком случае иногда целесообразнее использовать опцию -i команды sudo:
В этой статье мы рассмотрели как поменять пользователя в Ubuntu, как видите, здесь всё очень просто. Если остались вопросы, спрашивайте в комментариях!
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
su - утилита позволяет выполнять команды с привилегиями другого пользователя, по умолчанию привилегированного пользователя.
Использование su - это самый простой способ перейти к учетной записи администратора в текущем сеансе входа в систему. Это особенно удобно, когда пользователю root не разрешено входить в систему через ssh или с помощью диспетчера отображения GUI.
Как использовать su команду
Общий синтаксис su команды выглядит следующим образом:
Когда вызывается без какой-либо опции, поведение по умолчанию su для запуска интерактивной оболочки от имени пользователя root:
Вам будет предложено ввести пароль пользователя root, и в случае аутентификации пользователь, выполняющий команду, временно станет пользователем root.
Переменные среды сеанса shell ( SHELL ) и home ( HOME ) задаются из записи замещающего пользователя , и текущий каталог не изменяется . /etc/passwd
Чтобы подтвердить, что пользователь изменился, используйте whoami команду:
Команда выведет имя пользователя, выполняющего текущий сеанс оболочки:
Наиболее часто используемый вариант , когда ссылающийся su есть - , -l , --login . Это делает оболочку оболочкой входа в систему со средой, очень похожей на реальную регистрацию, и изменяет текущий каталог :
Если вы хотите запустить еще одну оболочку вместо одной , определенной в passwd файле, используйте -s , --shell вариант. Например, чтобы переключиться на root и запустить zsh оболочку, вы должны набрать:
Для того, чтобы сохранить всю окружающую среду ( HOME , SHELL , USER и LOGNAME ) использование вызывающего пользователя -p , --preserve-environment вариант.
Если вы хотите запустить команду как пользователь заменителя без запуска интерактивной оболочки, используйте -c , --command вариант. Например, чтобы вызвать ps команду от имени пользователя root, введите:
Чтобы переключиться на другую учетную запись пользователя, передайте имя пользователя в качестве аргумента su . Например, чтобы переключиться на пользователя, tyrion вы должны набрать:
Sudo против Su
В некоторых дистрибутивах Linux, таких как Ubuntu, учетная запись пользователя root по умолчанию отключена из соображений безопасности. Это означает, что для пользователя root не задан пароль, и вы не можете использовать его su для переключения на root.
Один из вариантов для перехода в root будет заключаться в добавлении su команды к команде sudo и вводе текущего пароля пользователя:
Команда sudo позволяет запускать программы от имени другого пользователя, по умолчанию пользователь root.
Если пользователю предоставлена sudo оценка, su команда будет вызываться от имени пользователя root. Запуск sudo su - и использование пароля пользователя аналогичны запуску su - с использованием пароля root.
При использовании с -i параметром sudo запускайте интерактивную оболочку входа в систему со средой пользователя root:
Преимущество использования sudo перед su заключается в том, что пароль root не должен использоваться несколькими учетными записями администраторов.
Также sudo вы можете разрешить пользователям запускать только определенные программы с привилегиями root.
Вывод
su утилита командной строки, которая позволяет вам временно стать другим пользователем и выполнять команды с замещающим пользователем.
Linux - начинающим. Часть 6. Управление пользователями и группами. Практика
В прошлом материале нашего цикла мы рассмотрели теоретические аспекты системы управления пользователями в Linux и теперь, располагая багажом необходимых знаний, можно переходить к практике. Несмотря на то, что мы традиционно рассматриваем работу в системах основанных на Debian, данный материал будет полезен пользователям любого Linux-дистрибутива, так как работа с учетными записями пользователей везде построена одинаково. Именно поэтому мы будем рассматривать только работу в командной строке, так как она предоставляет единый и универсальный интерфейс вне зависимости от используемого окружения.
Создание пользователей
Для создания пользователей используется команда useradd, но не будем спешить с ее применением, сначала ознакомимся с используемыми по умолчанию параметрами, для этого выполните:
Здесь мы можем увидеть место размещения домашних каталогов, оболочку по умолчанию и каталог с шаблоном домашней директории /etc/skel. Эта директория будет полностью скопирована в директорию нового пользователя и содержит базовые настройки окружения пользователя. Вы можете воспользоваться этим, если вам нужно формировать определенную структуру домашних каталогов или применять какие-либо специфичные настройки. При этом не рекомендуется вносить изменения в оригинальный /etc/skel, рекомендуется сделать его копию (можно и не одну) в которую внести все необходимые изменения.
Также обратите внимание на параметр:
Но как нам известно в Debian пользовательские группы начинаются с 1000, а в RHEL c 500, поэтому в современных системах этот параметр игнорируется. Все параметры, кроме SKEL, могут быть изменены, но практический смысл это имеет только для HOME и SHELL.
Скажем вы настраиваете многопользовательский веб-сервер и хотите создавать домашние директории в каталоге веб-сервера, в этом случае можно выполнить:
А для изменения командной оболочки:
Чтобы добавить нового пользователя введите:
Ключ -m предписывает создать домашний каталог пользователя. Это самый простой вариант использования, но при использовании дополнительных ключей мы можем сразу задать или переопределить многие параметры пользователя. Получить их список можно командой:
Приведем некоторые из них:
- -b - задает домашний каталог пользователя
- -c - комментарий к учетной записи
- -g - задает основную группу пользователя
- -G - задает дополнительные группы
- -m - создать домашний каталог пользователя
- -N - не создавать группу с именем пользователя
- -k - путь к каталогу шаблона домашней директории (по умолчанию /etc/skel)
- -s - командная оболочка
Этой командой мы создадим пользователя ivanov, которому назначим домашнюю директорию в /var/www/ivanov, для которой будет использован шаблон из /etc/myskel, включим его в основную группу webuser и дополнительную www-data. Также запретим ему интерактивный вход в систему, назначив оболочкой /sbin/nologin.
Созданная учетная запись будет заблокирована до тех пор, пока мы не установим для нее пароль, это можно сделать следующей командой:
которая установит пароль к учетной записи ivan. Для блокировки пароля используйте:
Но учтите, что данная блокировка распространяется только на вход по паролю, если у пользователя настроены иные способы входа, скажем по SSH-ключу, то доступ в систему с их помощью сохранится. Поэтому данный способ следует использовать в тех случаях, когда есть подозрение на компрометацию пароля, но в полной блокировке учетной записи нет необходимости. Для разблокировки потребуется заново установить пароль.
Изменение пользователей
Для того, чтобы изменить параметры уже существующей учетной записи используется команда usermod, для ознакомления с ее возможностями получим список ключей командой
Приведем некоторые из них:
- -c - изменить комментарий
- -d - новый домашний каталог
- -g - новая основная группа
- -G - новые дополнительные группы
- -a - добавить пользователя в дополнительные группы, не удаляя из других групп, используется совместно с ключом -G
- -l - новое имя учетной записи
- -L - блокировать учетную запись
- -m - переместить содержимое домашнего каталога, используется только вместе с -d
- -U - разблокировать учетную запись
Данная команда создаст новый комментарий к учетной записи и добавит пользователя ivan в дополнительную группу sudo.
Удаление пользователей
Для удаления учетной записи пользователя используется команда userdel, например:
которая удалит учетную запись vasya.
Команда имеет дополнительные ключи, которые также можно просмотреть, запустив ее с ключом -h, практическую пользу представляют два из них:
- -r - удалить домашний каталог пользователя
- -f - удалять файлы, даже если они не принадлежат пользователю
На практике оба ключа обычно используются совместно, но будьте осмотрительны и перед удалением убедитесь, что удаляемые данные не нужны другим пользователям. Чтобы удалить пользователя вместе со всеми данными выполните:
Управление группами пользователей
Для управления группами используется аналогичный набор команд: groupadd, groupmod и groupdel. Их ключи также можно посмотреть, запустив их с параметром -h.
Для создания группы используйте:
Из дополнительных ключей имеют практический смысл:
- -g - использовать указанный GUID
- -f - завершить команду без ошибки если группа с таким именем уже существует и отменить действие -g, если указанный GUID уже используется.
При помощи команды usermod мы можем изменить GUID и наименование группы, скажем:
Данная команда переименует группу office в группу sales. Используемые ключи:
- -g - изменить GUID группы
- -n - изменить наименование группы
Ну и наконец groupdel, который используется для удаления групп:
Из параметров можно использовать:
- -f - удалить группу, даже если она является основной для пользователя
При удалении групп всегда нужно проявлять осмотрительность и не следует удалять группы, в которых состоят пользователи. Если же такая необходимость существует, то следует предварительно вывести из группы пользователей и изменить группу для всех объектов, которыми владела удаляемая группа.
Управление членством пользователей в группах
Управлять членством пользователей в группах можно различным образом. Выше мы уже приводили примеры с использованием usermod, для изменения основной группы пользователя используйте:
Данная команда изменит основную группу пользователя ivan на office. Для добавления в дополнительные группы следует выполнить команду:
Которая добавит пользователя ivan в группы office и sales.
Также существует и другая команда gpasswd, которая позволяет не только добавлять, но и удалять членство пользователей в группах. Для добавления пользователя в группу используйте:
Данная команда добавить пользователя ivan в группу office. Для удаления членства выполните:
Для того, чтобы проверить членство пользователя в группах используйте команду:
где ivan - имя пользователя.
Чтобы быстро удалить пользователя из всех дополнительных групп используйте:
Как видим, управление пользователями и группами в Linux не такое уж и сложное дело, особенно когда вы понимаете, что значит тот или иной параметр и для чего вы это делаете.
Читайте также: