Сменить пользователя linux debian

How to Change Users in Linux Command Line

Linux systems have different users and different types of users. Learn how to switch the users in Linux command line or how to change to the root user in Linux.

Linux systems have different types of users with different types or permissions as well.

Not all users can execute all commands and not all users are allowed to switch to other users neither. This all might sound confusing but, I will try to explain these so it can be easy to understand.

For the moment, here’s a quick summary of how to switch users in Linux command line.

To switch users, you need to know the password of that user. You can switch the users with this command:

To switch to root user in Ubuntu, you can use this command:

Various user types in Linux

If you list all users in Linux, you’ll see a lot of users that you didn’t know about. Who are these users? Where did they come from? I could write an entire article in regards of how users work in Linux, however, this is not the idea for this one.

Basically, there are 3 types of users in Linux:

1. System Users

These are the users that are automatically created in Linux systems to be able to run services or applications and are not intended to log in to the system (in fact you can’t log in as any of these users).

2. Regular Users

These are the (human) users who can log in to a system. Each of these users might have or not different permissions or levels in the system which is given by the groups they belong to.

3. Super Users

These are system administrators or users who can perform high-level tasks that can be considered critical or system dangerous.

Читайте также:  Cannot execute binary file linux java

Switch users in the command line

When using a Linux system you can log in with a user and then simply “switch” to another user through the same command line session. In order to do this, there is a command “su -“, which allows you to switch to become another user:

[email protected]:~$ su - janedoe Password: [email protected]:~$ 

In the above example, you need to know the password of janedoe in order to switch to that user. Which makes sense because if you are going to switch to a user, you need to know the password of that user else it will be a security risk.

Switch to root user

For security reasons, some systems have ‘root’ account blocked for direct login, either locally or remotely, so this means it will not accept someone who tries to log in using ‘root’ even with the correct password.

So, how do you perform actions as the ‘root’ user? That’s what the ‘sudo’ command allows you to.

The sudo command will basically execute anything you want in the system as if the ‘root’ was doing it. You don’t need to know the ‘root’ user’s password, in fact, probably nobody knows it or there is no password assigned to ‘root’. You only need to know your own user’s password and that user must be in the ‘sudoers’ group, which is basically the group of users which can use ‘sudo’ in the system.

Normally, it is a good practice to run the commands with sudo that needs to run with root permission like this:

But if you want to change to root user so that all the subsequent commands will be run as root, you can use:

You’ll use your own password here, not the root account’s password.

Change to root user in Linux

As a sudo user yourself, you can create sudo user by adding the user to sudo group.

Linux systems allow you to easily switch users or execute high-level commands with the usage of ‘su‘ and ‘sudo’ commands. And remember: with great sudo power comes great responsibility!

Источник

Debian | Как сменить пользователя в терминале?

Сперва выходим из самого терминала при помощи команды:

Или нажимаем сочетание клавиш CTRL + D на клавиатуре.

Второй

Вводим имя пользователя под которым хотим войти в консоль. Вводим «невидимый» пароль для этого пользователя.

Читайте также:  Use wireshark on linux

Смена с root на postgres

Не выходя из root пользователя можно прописать команду:

su - postgres

Информационные ссылки

Вам также может понравиться

NGINX | Как удалить символическую ссылку на конфигурационный файл виртуального хоста в Debian?

NGINX | Как удалить символическую ссылку на конфигурационный файл виртуального хоста в Debian?

Когда сайты перестают обслуживаться, то приходит время удалять символическую ссылку на конфигурационный файл виртуального хоста. Сайта нет. Данных нет. Домен уже давно […]

Debian | Как добавить текущую дату и время к имени файла?

Debian | Как добавить текущую дату и время к имени файла?

К имени файла добавьте выражение: «`date +»%d-%m-%Y»`» Вернёт строку вида: 24-03-2022 Мы получили через дефис (-) номер дня, номер месяца и номер […]

Как установить VMware Tools на виртуальную машину?

Установка VMware Tools для Linux (Debian) Переходим в раздел виртуальных машин и выбираем нужную машину. Убеждаемся, что программный продукт «VMware Tools» не установлен […]

Disk Provisioning - VMware ESXi 7

VMware ESXi 7 | Тип диска гостевой операционной системы

При создании новой виртуальной машины в гипервизоре VMware ESXi 7 есть возможность выбрать тип диска для гостевой операционной системы. Эта опция находится […]

Источник

ОПИСАНИЕ¶

Программа su используется для того, чтобы пользователь мог стать другим пользователем в текущем сеансе. Если su вызывается без имени_пользователя, то это по умолчанию делает пользователя суперпользователем. Необязательный параметр можно использовать для воссоздания окружения, такого же как если бы настоящий пользователь выполнял вход в систему.

После имени пользователя можно указать дополнительные аргументы, которые будут переданы регистрационной оболочке пользователя. В частности, аргумент -c заставит большинство оболочек считать следующий аргумент как команду. Команда будет выполнена оболочкой, указанной в файле /etc/passwd, которая является регистрационной для указываемого пользователя.

Вы можете использовать параметр чтобы отделить параметры su от параметров, которые передаются оболочке.

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

Текущее окружение передаётся новой оболочке. Значение $PATH сбрасывается в значение /bin:/usr/bin для обычных пользователей или в /sbin:/bin:/usr/sbin:/usr/bin для суперпользователя. Эти значения можно изменить в переменных ENV_PATH и ENV_SUPATH в файле /etc/login.defs.

Субсистемный вход в систему можно распознать по наличию символа «*» в начале регистрационной оболочки. Заданный домашний каталог будет использован как корень новой файловой системы, в которой регистрируется пользователь.

ПАРАМЕТРЫ¶

-c, —command КОМАНДА

The executed command will have no controlling terminal. This option cannot be used to execute interactive programs which need a controlling TTY.

When is used, it must be specified before any username. For portability it is recommended to use it as last option, before any username. The other forms (-l and —login) do not have this restriction.

Читайте также:  Linux отключить звук приложения

-s, —shell ОБОЛОЧКА

Запущенная оболочка выбирается из (в порядке убывания приоритета):

Если заданный пользователь имеет ограниченную оболочку (то есть оболочка в поле пользовательской записи в файле /etc/passwd отсутствует в файле /etc/shells), то параметр —shell или переменная окружения $SHELL не будут учтены, если su не была запущена суперпользователем.

-m, -p, —preserve-environment

Если заданный пользователь имеет ограниченную оболочку, то этот параметр не сработает (если su не запускается суперпользователем).

Заметим, что поведение окружения по умолчанию таково:

Переменные окружение $HOME, $SHELL, $USER, $LOGNAME, $PATH и $IFS сбрасываются.

Если параметр —login не указан, то окружение копируется, за исключением переменных, перечисленных выше.

Если параметр —login указан, то переменные окружения $TERM, $COLORTERM, $DISPLAY и $XAUTHORITY копируются (если они установлены).

ПРЕДОСТЕРЕЖЕНИЯ¶

Данная версия программы su может быть собрана с разными параметрами и только некоторые из них смогут быть использованы на любой машине.

НАСТРОЙКА¶

CONSOLE_GROUPS (строка)

Список групп для добавления к набору пользовательских дополнительных групп при входе с консоли (определяемой переменной CONSOLE). По умолчанию не указана.

Используйте осторожно — может дать пользователям постоянный доступ к этим группам, даже если они не входили с консоли.

DEFAULT_HOME (логический)

Определяет, можно ли войти в систему, если нельзя выполнить cd в домашний каталог. По умолчанию «no».

Если равно yes, то пользователь будет попадать в корневой каталог (/), если невозможно выполнить cd в его домашний каталог.

If set, it will be used to define the PATH environment variable when a regular user login. The value is a colon separated list of paths (for example /bin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/bin:/usr/bin.

If set, it will be used to define the PATH environment variable when the superuser login. The value is a colon separated list of paths (for example /sbin:/bin:/usr/sbin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/sbin:/bin:/usr/sbin:/usr/bin.

Если определена, то выводится имя команды когда работает «su -». Например, если значение равно «su», то «ps» покажет команду как «-su». Если не определена, то «ps» покажет имя запускаемой оболочки например как «-sh».

SYSLOG_SU_ENAB (логический)

ФАЙЛЫ¶

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ¶

Если выполнение команды завершилось по сигналу, то su возвращает номер этого сигнала плюс 128.

Если su завершила команду (так как был запрос сделать это и команда не завершилась в положенное время), то su завершается с кодом 255.

Некоторые коды выхода su не зависят от запускаемой команды:

Источник

Оцените статью
Adblock
detector