Если Вы хотите создать файловую систему на своем разделе палки usb, необходимо сделать
mkfs -t vfat /dev/sdc1
как пользователь, кто как права доступа для записи в раздел, как root
Если Вы хотите стать корнем, лучший способ сделать так sudo -i
, который моделирует начальный вход в систему (предоставление Вам все пути и переменные, связанные с корневым входом в систему). Если Вы хотите войти в систему, не получая пользователей root .files, Вы могли бы просто использовать sudo su
(никакая потребность указать пользователя root).
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 и колотят соответственно.
Но в этом случае, удар не выполняется как оболочка входа в систему.
Очевидно, они могут отличаться, если корневая оболочка не является/bin/bash - это возможно для крошечных или встроенных сред Linux или традиционно для систем BSD, которые предпочитают / мусорное ведро / [t] csh для пользователя root. Кроме того, 'su -' отбрасывает всю среду кроме нескольких переменных, связанных с терминалом. поведение sudo на среде настраивается (см. env_reset в/etc/sudoers). Так, быть осторожным с деталями...
Самым большим различием между двумя командами, которые Вы перечислили, является то выполнение su -
заставит оболочку быть оболочкой входа в систему. Это означает, что сценарии входа в систему оболочки корня будут выполняться (.bash_profile, например, если это будет удар), то PWD будет установлен на $HOME, и будут инициализированы определенные части пользовательской среды. sudo bash
просто выполняет новую оболочку как оболочку целевого пользователя, и-H просто инициализирует одну переменную, $HOME, к корневому каталогу целевого пользователя. Другие переменные не будут установлены, и некоторые будут перенесены на новую оболочку, как определено в Вашей sudo политике.
sudo -H /bin/bash
действительно выполняет удар.-H
опция не берет аргумент. – Gilles 'SO- stop being evil' 22.03.2012, 01:37sudo -H /bin/bash
действительно выполняет удар.-H
опция не берет аргумент. – Gilles 'SO- stop being evil' 22.03.2012, 01:37