Как я могу использовать su для пользователя без оболочки для входа в систему?

sudo su -p сохранит среду вызывающего пользователя, за некоторыми исключениями. Исключения можно найти на справочной страницеsu, но соответствующая часть —:

   -m, -p, --preserve-environment
          Preserve the entire environment, i.e. it does not set HOME,
          SHELL, USER nor LOGNAME.  This option is ignored if the option
          --login is specified.

4
28.06.2021, 12:13
1 ответ

Если у вашего пользователя была оболочка входа в систему , вам нужно будет ввести свой cmd как:su --shell=/bin/bash lockedили sudo -u locked /bin/bash, при условии, что оболочка по умолчанию, указанная для целевого пользователя, указана в/etc/shell.
(Обратите внимание, что после длинной опции --shellстоит знак равенства.)

Однако:

  1. Смысл наличия пользователя без оболочки входа в систему именно в том, что этот пользователь не может войти в систему каким-либо образом, будь то непосредственно при запуске сеанса или через другую учетную запись пользователя. Как ни странно, это именно то, чего вы пытаетесь достичь.

  2. чтобы получить доступ к этому пользователю (при условии, что у него есть оболочка входа в систему, переключившись на его профиль, как показано выше, вам обычно потребуются привилегии sudoили, по крайней мере, возможность использовать sucmd...

3
28.07.2021, 11:22

Теги

Похожие вопросы