Вопреки тому, что их наиболее популярный способ использования привел бы Вас думать, su
и sudo
только предназначены для входа в систему (или выполнение действий) как корень.
su
позволяет Вам переключать свои идентификационные данные с тем из кого-то еще. Поэтому, когда Вы вводите su
, система должна проверить, что у Вас есть учетные данные для целевого пользователя, в которого Вы пытаетесь измениться.
sudo
несколько отличается. Используя sudo
позволяет Вам работать бесспорный (или все, в зависимости от конфигурации) команды как кто-то еще. Ваши собственные идентификационные данные используются для определения что типы команд sudo
будет работать за Вами под чужими идентификационными данными: если Вы будете доверяемым пользователем (в том смысле, что системный администратор доверяет Вам), Вам разрешат больше свободы действий, чем, скажем, интерн. Это то, почему sudo
потребности проверить Ваши собственные идентификационные данные, а не идентификационные данные целевого пользователя.
Другими словами, попытка к su
кому-то Вы не, похож на попытку заряжать Ваши покупки на украденную кредитную карту при использовании sudo
похож на продажу автомобиля Вашего друга легальным прокси.
Что касается того, что Вы пытались сделать, просто sudo su root
, или даже проще sudo su
и введите свой пароль обычного пользователя. Это примерно составило бы замену учетных данных кредитной карты Вашего друга с Вашим собственным использованием легального прокси, который они дали Вам :). Это, конечно, принимает sudo
конфигурация позволяет Вам работать su
с наращиваемыми полномочиями.
Кроме того, системы, которые прибывают предварительно сконфигурированные с sudo
доступ обычно имеет корневую отключенную учетную запись (никакой пароль root), можно включить то использование passwd
команда после становления корнем через sudo su
.
2> & 1
означает перенаправление потока ошибок к стандартному выводу и &
и символ самостоятельно не имеет большого значения: ждет вас, чтобы у вас есть номер файлового дескриптора, Но вы даете ему имя имени имени файла. Вы хотите перенаправить в файл, а не пронумерованный файловый дескриптор, поэтому
commmand >> /home/user/accumulate_output.log 2>/home/user/error.log
вы можете понять & 1
и и 2
как «имена имена», относящиеся к файловым дескрипторам STDOUT и STDERR. Теперь вы видите, что &
перед файлом не имеет смысла.
Таким образом, синтаксис N> & M
или N> файл
, где n
- это дескриптор файла для перенаправления (если он не указан, это Средства стандартного вывода n = 1
n = 1
), а с правой стороны вы можете либо перенаправить на файл дескриптора m
, либо файл с именем файл
. M
Может быть числом или -
, что означает, что дескриптор файла должен быть вместо перенаправленного (перенаправлена «нигде»).
Существует также специальный синтаксис для перенаправления как Stdout, так и STDERR в одно и то же, но это &>
. Это просто запутает вас, так как он не попадает в обычный синтаксис - это ярлык, который на самом деле выполняет два перенаправления одновременно.