2

У меня есть вопрос по Linux относительно команды sudo и пользователя root. Если я войду в систему как пользователь root с помощью команды su , в чем разница между следующими двумя командами?

root> sudo ./some_executable

а также

root> ./some_executable

есть ли разница? Я пытаюсь использовать исполняемый файл и заметил, что исполняемый файл отлично работает с первой командой, но не удалось выполнить вторую команду, указав, что я не запускаю команду от имени пользователя root. Я всегда думал, что команды sudo/su позволяют вам выполнять команды с привилегиями root, поэтому выполнение первой команды будет избыточным. Однако я заметил, что пользователь root находится в файле sudoers, поэтому я не знал, является ли это ошибкой в исполняемом файле или действительно ли есть разница между выполнением команды, вошедшей в систему как root, с использованием sudo?

1 ответ1

5

Ваши переменные среды будут разными для двух экземпляров.

sudo будет сбрасывать некоторые переменные окружения - прочитайте справочную страницу sudo и посмотрите опцию -E а также раздел в файле конфигурации sudoers.

Кроме того, использование вами su а не su - для получения root означает, что у вас нет настоящей корневой среды для непосредственного выполнения файла.

Таким образом, у вас есть несоответствие среды между двумя ситуациями, когда одна работает, а другая - нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .