Я пытаюсь выяснить, где выход следующей команды направлено:Командного выход расположение
Суды -i -u someuser /home/someuser/test.sh
Содержание test.sh сценария:
echo "test"
Команда вызывается из домашнего каталога другого пользователя.
Я пытаюсь выяснить, где выход следующей команды направлено:Командного выход расположение
Суды -i -u someuser /home/someuser/test.sh
Содержание test.sh сценария:
echo "test"
Команда вызывается из домашнего каталога другого пользователя.
Самый простой способ узнать это - запустить pwd (1) с помощью sudo, хотя я испорчу удовольствие и покажу, что, когда sudo (1) выполняется с помощью переключателя '-i', рабочий каталог будет установлен на эффективный идентификатор пользователя (= независимо от того, что указано в «-u» или «root», когда оно не указано), и без «-i» это будет текущий каталог.
Пример:
[email protected]:~/work/linux-3.11.7$ sudo -i -u games pwd
[sudo] password for user:
/usr/games
[email protected]:~/work/linux-3.11.7$ sudo -u games pwd
/home/user/work/linux-3.11.7
Таким образом, в случае, если вы будете перенаправлены вывод Судо (1) в какой-то файл без полного пути указано, что, как вы знаете, где будет создан файл.
http://linux.die.net/man/8/sudo - проверьте опцию -i. вы попробовали запустить команду как someuser? это среда, созданная странным образом? – x29a
'echo' просто печатает на стандартный вывод, и ничего здесь не указывает, что он перенаправляется. Если вы не укажете важную информацию, вывод будет на вызывающий пользовательский терминал. – tripleee
Команда ведет себя так, как ожидалось, при запуске как someuser. Я проверил эту команду на своем локальном ПК, и все в порядке. Однако на удаленном сервере это другое. Я заметил эту команду: sudo -i -u someuser /home/someuser/test.sh ничего не печатает. Однако команда sudo -i -u someuser ./test.sh печатает ожидаемый текст 'test'. – user882027