Существует ли различие между sudo su - корень и sudo-u корень-H/bin/bash?

Если Вы хотите создать файловую систему на своем разделе палки usb, необходимо сделать

    mkfs -t vfat /dev/sdc1

как пользователь, кто как права доступа для записи в раздел, как root

3
21.03.2012, 17:30
4 ответа

Если Вы хотите стать корнем, лучший способ сделать так sudo -i, который моделирует начальный вход в систему (предоставление Вам все пути и переменные, связанные с корневым входом в систему). Если Вы хотите войти в систему, не получая пользователей root .files, Вы могли бы просто использовать sudo su (никакая потребность указать пользователя root).

9
27.01.2020, 21:07
  • 1
    sudo -H /bin/bash действительно выполняет удар. -H опция не берет аргумент. –  Gilles 'SO- stop being evil' 22.03.2012, 01:37
  • 2
    sudo -H /bin/bash действительно выполняет удар. -H опция не берет аргумент. –  Gilles 'SO- stop being evil' 22.03.2012, 01:37
  • 3
    H просто изменяет $HOME на корневой каталог целевого пользователя.Именно. Как в странице справочника говорится, это могло бы даже быть политикой по умолчанию. –  jsbillings 22.03.2012, 02:11
su - # causes the user to run a login shell aka bash --login
     # the same as if the user had logged in as the root from the login prompt

и sudo su - совпадает с sudo su - root определение корня избыточно.

sudo -u root -H /bin/bash снова -u root избыточно, sudo выполнения как корень по умолчанию, но -H /bin/bash выполняется как sudoer, огибающий Вар SUDO_USER, SUDO_UID и SUDO_COMMAND установлены на вызывающие стороны name/uid и колотят соответственно.

Но в этом случае, удар не выполняется как оболочка входа в систему.

7
27.01.2020, 21:07

Очевидно, они могут отличаться, если корневая оболочка не является/bin/bash - это возможно для крошечных или встроенных сред Linux или традиционно для систем BSD, которые предпочитают / мусорное ведро / [t] csh для пользователя root. Кроме того, 'su -' отбрасывает всю среду кроме нескольких переменных, связанных с терминалом. поведение sudo на среде настраивается (см. env_reset в/etc/sudoers). Так, быть осторожным с деталями...

2
27.01.2020, 21:07

Самым большим различием между двумя командами, которые Вы перечислили, является то выполнение su - заставит оболочку быть оболочкой входа в систему. Это означает, что сценарии входа в систему оболочки корня будут выполняться (.bash_profile, например, если это будет удар), то PWD будет установлен на $HOME, и будут инициализированы определенные части пользовательской среды. sudo bash просто выполняет новую оболочку как оболочку целевого пользователя, и-H просто инициализирует одну переменную, $HOME, к корневому каталогу целевого пользователя. Другие переменные не будут установлены, и некоторые будут перенесены на новую оболочку, как определено в Вашей sudo политике.

0
27.01.2020, 21:07

Теги

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