Смена пользователя в Linux

Иногда компьютерами под управлением операционных систем Linux пользуются несколько юзеров по очереди, например, дома. В таких случаях не всегда удобно иметь одну учетную запись на всех человек, поскольку каждый желает задать определенную конфигурацию ОС и получить хотя бы минимальную конфиденциальность. Именно поэтому разработчики добавляют возможность создавать неограниченное количество защищенных профилей, чтобы в любой момент переключиться к какому-либо из них. На нашем сайте уже имеется статья, в которой детально описано два способа создания юзеров, поэтому сегодня мы опустим этот процесс и сразу перейдем к теме способов переключения между профилями.
Меняем пользователя в Linux
Далее вы узнаете о четырех доступных вариантах смены учетной записи в Linux на примере дистрибутива Ubuntu. Проще всего это сделать через графическую оболочку или сразу же при начале нового сеанса. Однако существуют и другие условия, о которых мы тоже поговорим в рамках данного материала. Дополнительно вам может понадобиться просмотреть список всех профилей, чтобы знать, какие у них установлены пароли и имена. Для этого мы предлагаем ознакомиться со следующей статьей по ссылке ниже, а мы переходим к первому варианту.
Способ 1: Список профилей при входе в систему
По умолчанию абсолютно во всех существующих дистрибутивах Линукс функция автоматического входа отключена, поэтому при создании нового сеанса требуется выбрать пользователя для входа, а уже потом появится строка для ввода пароля. На этом этапе вы можете указать, к какой именно учетной записи хотите подключиться.

-
Включите компьютер, чтобы создать новый сеанс. При отображении списка кликните левой кнопкой мыши по соответствующей строке с подходящим именем.
Как видите, этот метод максимально прост, что позволит даже самому начинающему юзеру выполнить его без каких-либо трудностей. Однако если вы уже создали сеанс и не желаете перезагружать ПК для смены профиля, обратите внимание на следующий способ.
Способ 2: Кнопка «Сменить пользователя» в окружении
Еще раз уточним, что мы рассматриваем выполняемую процедуру на примере Ubuntu и установленной по умолчанию в ней графической оболочке. Если же вы обнаружили какие-либо различия, изучая скриншоты, вам предстоит самостоятельно отыскать необходимую кнопку. Это не составит труда, если вы хотя бы немного ориентируетесь в графическом интерфейсе. В противном случае можно обратиться к официальной документации дистрибутива и его оболочки. Смена учетной записи через окружение рабочего стола происходит так:
- Нажмите на кнопку выключения, которая находится на панели задач. Она может быть расположена вверху или снизу, что зависит от общих настроек.

- В появившемся контекстном меню кликните по имени своего профиля и в списке выберите «Сменить пользователя».

- Появится та же самая форма, что вы видели в инструкции к предыдущему методу. Здесь кликните ЛКМ по нужной учетной записи.

Теперь вы можете с легкостью проверить, произошла ли смена пользователя. Это осуществляется через ту же кнопку на панели задач, о которой мы говорили в первом шаге или путем запуска «Терминала». Там вы увидите, от какого имени была открыта консоль.
Способ 3: Команда в «Терминале»
Отметим, что этот вариант подойдет только в том случае, если вы не хотите менять юзера для всей сессии, а желаете выполнить какие-либо команды от его имени через консоль, а потом снова вернуться к управлению через исходный профиль. В любом дистрибутиве существует единая команда, позволяющая осуществить задуманное.
- Откройте «Терминал» любым удобным способом, например, через главное меню.

- Введите команду su — username , где username — точное имя необходимой учетной записи.

- Для разблокирования управления введите пароль. Учтите, что отображаться в консоли он не будет, но символы при этом корректно вводятся.

- Теперь обратите внимание на зеленую надпись. Как видите, пользователь был успешно сменен.

- При закрытии консоли появится всплывающее окно, что здесь запущен какой-то процесс. Этот процесс как раз и является сменой пользователя. Подтвердите закрытие, чтобы завершить консольную сессию учетной записи.

Как видите, для осуществления данного способа потребуется знать точное имя пользователя, а не только его пароль. Однако это единственный доступный вариант, позволяющий выполнять команды в пределах одной консоли от имени другого юзера.
Способ 4: Функция «Автоматический вход»
Иногда во время установки или уже после нее юзер создает учетную запись без пароля и активирует функцию «Автоматический вход». В такой ситуации авторизация происходит самостоятельно, поэтому у других юзеров нет возможности сменить профиль при включении компьютера. Исправить это положение или назначить другой профиль для автоматического входа помогут параметры, реализованные через графическую оболочку.
- Откройте меню приложений и перейдите в «Параметры».

- Здесь вас интересует категория «Сведения о системе».

- Разверните категорию «Пользователи» и кликните по кнопке «Разблокировать».

- Потребуется ввести пароль суперпользователя, чтобы получить возможность управлять другими учетными записями.

- После этого переключитесь на необходимый профиль, активируйте или деактивируйте функцию «Автоматический вход» путем перемещения ползунка.

Выше вы узнали о четырех доступных вариантах смены пользователя, последний из которых предполагает включение опции автоматического входа, что позволит упростить процедуру переключения в тех ситуациях, когда она производится довольно редко. Вам осталось только выбрать подходящий способ и следовать инструкциям, чтобы без проблем справиться с поставленной задачей.
Управление пользователями на Ubuntu и Debian
В инструкции описано создание, удаление и изменение пользователей операционной системы Ubuntu или Debian.
Первоначальные требования для системы Debian
Многие из команд в этом руководстве требуют привилегий суперпользователя. Если при использовании команды sudo появляется следующая ошибка:
bash: sudo: command not found
Вам необходимо активировать режим суперпользователя, установить команду sudo и добавить своего пользователя в группу sudo:
su —
apt-get install sudo -y
usermod -aG sudo yourusername
Как добавить нового пользователя?
В Ubuntu и Debian есть два инструмента командной строки, которые вы можете использовать для создания новой учетной записи пользователя: useradd и adduser.
useradd — это низкоуровневая утилита для добавления новых пользователей, а adduser — дружественный интерактивный интерфейс для useradd, написанный на Perl.
Для создания новой учетной записи пользователя операционной системы с именем username с помощью команды adduser, выполните следующую команду:
sudo adduser username
В результате появится диалог, в котором необходимо ввести пароль и дополнительную информацию:
Adding new group `username’ (1000) .
Adding new user `username’ (1000) with group `username’ .
Creating home directory `/home/username’ .
Copying files from `/etc/skel’ .
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for username
Enter the new value, or press ENTER for the default
Full Name []: Name
Room Number []: 100
Work Phone []: 123-45-45
Is the information correct? [Y/n] Y
Команда создает домашний каталог для нового пользователя и скопирует туда файлы из каталога /etc/skel.
По умолчанию членам группы sudo предоставляется доступ sudo.
Если необходимо, чтобы у вновь созданного пользователя были права администратора, добавьте его в группу sudo:
sudo usermod -aG sudo username
Как удалить пользователя?
Существует два инструмента командной строки, которые можно использовать для удаления учетной записи пользователя: userdel и deluser. Рекомендуем использовать команду deluser, так как она более дружественная, чем низкоуровневая userdel.
Чтобы удалить пользователя, не удаляя пользовательские файлы и каталоги, выполните:
sudo deluser username
Если необходимо удалить домашний каталог пользователя и его содержимое, используйте флаг —remove-home:
sudo deluser —remove-home username
В результате появится следующее сообщение:
Removing user `username’ .
Warning: group `username’ has no more members.
Как изменить пароль пользователя?
Для изменения собственного пароля используйте команду passwd без дополнительных аргументов:
В системном диалоге необходимо будет ввести старый пароль и указать новый:
Changing password for username.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Для изменения пароля для другого пользователя необходимы права администратора и имя пользователя:
Debian. Шпаргалка сисадмина. Операции с пользователями
www.debian.org
Статья «Debian. Шпаргалка сисадмина. Операции с пользователями» — первая из серии статей-памяток для быстрого доступа к наиболее часто используемым командам с их описаниями и некоторыми нюансами использования. Статьи не содержат какой-либо уникальной информации, полученной из собственного профессионального опыта или из других источников, а только примеры использования общеизвестных команд . Для большей наглядности в статье могут даваться ссылки на источники, где описание команд дано более интересно или полно. Основная информация получена из справочных страниц официального дистрибутива Debian 7.7 и др..
Если интересуетесь ОС Debian, рекомендую обратиться к тегу Debian на моем блоге.
Debian. Шпаргалка сисадмина. Операции с пользователями
Для управления пользователями существует ряд основных команд:
useradd — регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях;
usermod — изменяет учётную запись пользователя;
userdel — удаляет учётную запись и файлы пользователя;
passwd — изменяет пароль пользователя.
И некоторые другие. Далее небольшие примеры использования каждой команды.
useradd
Создаем пользователя test01 (без домашнего каталога и без пароля):
useradd test01
Создаем пользователя test01 с домашним каталогом /home/test01:
useradd -m -d /home/test01 test01
-m — создать домашний каталог пользователя
-d — домашний каталог новой учётной записи
Создаем пользователя testuser01 с домашним каталогом /home/testuser01, оболочкой /bin/bash и паролем Qwerty123:
useradd -g testgroup01 -m -d /home/testuser01 -s /bin/bash -p Qwerty123 testuser01
-g — имя или ID первичной группы новой учётной записи
-s — оболочка новой учётной записи
-p — зашифрованный пароль новой учётной записи
Надо отметить, что вводить пароль в открытом виде в командную строку не совсем правильно, лучше использовать две команды последовательно:
useradd -g testgroup01 -m -d /home/testuser01 -s /bin/bash testuser01
passwd testuser01
В этом случае вы устанавливаете пароль отдельной командой и он не запоминается в кэше командной строки, этот способ более предпочтителен.
usermod
Смена имени пользователя testuser01 на testuser02:
usermod -l testuser02 testuser01
-l Имя пользователя будет изменено с testuser01 на testuser02. Больше ничего не меняется. В частности, вероятно, должно быть изменено имя домашнего каталога и почтового ящика.
Изменение первичной группы пользователя testuser02 на группу testgroup02:
usermod -g testgroup02 testuser02
-g — Имя или числовой идентификатор новой первичной группы пользователя. Группа с таким именем должна существовать. Все файлы в домашнем каталоге пользователя, принадлежавшие предыдущей первичной группе пользователя, будут принадлежать новой группе. Группового владельца файлов вне домашнего каталога нужно изменить вручную.
Создание нового домашнего каталога /home/testuser02 пользователя testuser02 и перенос данных из старого в новый:
usermod -d /home/testuser02 -m testuser02
-d — Домашний каталог нового пользователя. Если указан параметр -m, то содержимое текущего домашнего каталога будет перемещено в новый домашний каталог, который будет создан, если он ещё не существует.
-m — Переместить содержимое домашнего каталога в новое место. Этот параметр можно использовать только с параметром -d (или —home). Команда usermod пытается изменить владельцев файлов и копирует права, ACL и расширенные атрибуты, но после неё всё равно могут потребоваться некоторые ручные действия.
В принципе для команды usermod ничего интересного больше нет, разве что кроме предупреждения в «манах»:
Вы должны убедиться, что от указанного пользователя не запущено никаких процессов, если при выполнении этой команды изменяется числовой пользовательский ID, имя пользователя или домашний каталог пользователя. В Linux команда usermod выполняет такую проверку, но на других архитектурах проверяется только присутствие пользователя в системе согласно данным utmp. Вы должны вручную изменить владельца всех файлов crontab или заданий at. Вы должны сделать все изменения NIS на сервере NIS самостоятельно.
Переходим к следующей команде.
userdel
Удаление пользователя testuser02. Домашний каталог и файлы в нем останутся нетронутыми:
userdel testuser02
Удаление пользователя testuser02 вместе с домашним каталогом и файлами в нем, а также почтового ящика, если он есть:
userdel -r testuser02
passwd
Отобразить состояние текущей учетной записи (имя, инф. о пароле, дата последнего изменения пароля, минимальный срок, максимальный срок, период выдачи предупреждения, период неактивности пароля):
root@debian7:
# passwd -S
Отображение состояния всех учетных записей:
root@debian7:
# passwd -S -a
Задать пароль для учетной записи testuser02:
root@debian7:
# passwd testuser02
Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.
Об основных командах все. Ниже есть информация о других вспомогательных командах, связанных с пользователями.
Дополнительные команды
id — Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user;
groups — print the groups a user is in;
last, lastb — show listing of last logged in users.
Отобразить информацию о трех последних входах в систему пользователя root:
root@debian7:
# last -n 3 root
lastlog — выводит отчёт о последней регистрации в системе всех или указанного пользователя
logname — print user´s login name.
whoami — Print the user name associated with the current effective user ID.
mesg — control write access to your terminal.
Включение приема сообщений от пользователей, отправленных с помощью команды write:
root@debian7:
# mesg y
su — изменяет ID пользователя или делает его суперпользователем
sudo, sudoedit — execute a command as another user
По поводу корректности использований той или иной команды есть масса рассуждений, например, в статье «su или sudo?»
Но кратко вывод можно сформулировать следующим образом — пользоваться «su» уже не кошерно. Вот так, например, можно поставить программу sudo (да и любые другие) от обычного пользователя, зная пароль рута:
su -c «apt-get install sudo» root
users — print the user names of users currently logged in to the current host
w — Show who is logged on and what they are doing.