Что делает команда su – `whoami`?

Я запускаю сценарий в своем проекте, и я вижу эту команду

su - `whoami` 

У меня есть несколько основных вопросов:

  1. Что делает эта команда?
  2. Каково значение “ цитат вне команды whoami?
  3. Что – используется?

Я знаю, что su означает пользователя коммутатора.

  • Разница между именем журнала и $ LOGNAME
  • `who am i` после` su` не показывает новый идентификатор пользователя?
  • Команда, которая дает имя пользователя @ hostname: pwd
  • $ USER! = Whoami
  • One Solution collect form web for “Что делает команда su – `whoami`?”

    Backticks ( `` ) являются подстановкой команд : они заменяются результатом выполнения команды внутри обратных циклов. Здесь они запускают whoami , который печатает ваше имя пользователя.

    После завершения su su запускает оболочку входа : оболочка входа в систему, помимо прочего, будет считывать определенную конфигурацию среды с нуля. По умолчанию он просто запускает оболочку пользователя как обычную оболочку, которая не будет делать все это (см. Ссылку).

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

    Таким образом, все это соответствует команде (предполагая, что ваше имя пользователя на машине также « blunderboy »):

     su - blunderboy 

    что означает «повторно аутентифицировать новый сеанс как брандмауэр и запустить оболочку входа».

    Общий результат этой команды – начать новый сеанс как с нуля, так и с текущего пользователя . Зачем это делать? Вероятно, вы получите некоторые побочные эффекты su : в частности, поскольку он запускает новый сеанс пользователя, он будет получать любые изменения в группах пользователей, а также другие изменения пользователя или разрешения и переменные среды все сброшены. Обычно добавление пользователя в новую группу не вступает в силу до тех пор, пока они не войдут в систему снова .¹: su подсчитывает как вход в систему снова для этой цели, поэтому в запущенной оболочке будет активирована новая группа.

    ¹ Это упрощение, но достаточно для этого объяснения.

    Linux и Unix - лучшая ОС в мире.