Выполнить команду sudo (openvt) с глобальным ярлыком

! используется в Linux для ярлыков, связанных с историей. Так, !! просто выполнит предыдущую команду, которую вы выполнили.

Это очень полезно в тех случаях, когда вы либо забываете ставить sudo перед командой, которая требует ее, либо вы получаете отказ от прав, или что-то подобное просто sudo !!, и вы Сделано.

1
задан 13 April 2017 в 15:24

1 ответ

Посмотрите эту тему: https://unix.stackexchange.com/questions/91541/why-is-path-reset-in-a-sudo-command Ваш PATH сбрасывается при выдаче команды sudo, так злой хакер не мог измениться и указать на злонамеренный скрипт cmatrix. Поэтому измените свой безопасный путь или добавьте точное местоположение вашей программы cmatrix в команду sudo.

0
ответ дан 23 May 2018 в 14:10
  • 1
    Я не думаю, что это проблема, поскольку скрипт работает, даже если я запускаю sudo su до него, поэтому все находится на PATH пользователя root. – lmazgon 20 January 2016 в 17:20
  • 2
    @lmazgon: скрипт работает после sudo su, потому что вы получаете права root с помощью su, а затем запускаете его как «регулярную» команду из учетной записи root. sudo не позволит вам запускать команды, расположенные за пределами безопасного пути, не предоставляя полный путь к ним. Например. если вы поместите свой скрипт на /unsecure/path/script, а затем выполните export PATH=/unsecure/path; sudo script, он не будет запущен, но sudo /unsecure/path/script будет. – nsilent22 20 January 2016 в 20:21
  • 3
    Я понимаю. Тем не менее, все, что я выполняю, находится на безопасном пути, то есть /usr/bin или /bin. Во всяком случае, я нашел решение, спасибо за ваш вклад! – lmazgon 20 January 2016 в 22:16
  • 4
    @lmazgon: Если вы нашли решение, поделитесь им, чтобы вы могли помочь другим с подобными проблемами. – nsilent22 20 January 2016 в 23:23
  • 5
    Это прямо над вашим, я просто не могу принять ответ, потому что он мой. Я сделаю это завтра;) – lmazgon 20 January 2016 в 23:27

Другие вопросы по тегам:

Похожие вопросы: