Используйте sudo -l
, чтобы определить, какой уровень возможностей вы назначили в его конфигурации.
От man 8 sudo
-l[l] [command]
If no command is specified, the -l (list) option will list the
allowed (and forbidden) commands for the invoking user (or the user
specified by the -U option) on the current host.
If a command is specified and is permitted by the security policy,
the fully-qualified path to the command is displayed along with any
command line arguments. If command is specified but not allowed,
sudo will exit with a status value of 1.
If the -l option is specified with an l argument (i.e. -ll), or if
-l is specified multiple times, a longer list format is used.
Не используйте \r
в ожидаемом шаблоне для сопоставления, так как это означает возврат каретки -и получаемые подсказки не заканчиваются на единицу. Например, замените "Owner\r"
на "Owner"
. Используйте \r
только для завершения отправляемого ответа, например "yes\r"
.
set frkp [read $fokp]
--это будет включать завершающую новую строку из файла, и вы, вероятно, не захотите включать этот символ как часть фразы-пароля. Вместо этого:
set frkp [read -nonewline $fokp]
Кроме того, при разработке сценария ожидания добавьте команду exp_internal 1
перед первым спауном. Подробный вывод отладки покажет вам, почему ваши шаблоны не совпадают.