Как выполнить файл без разрешения на выполнение

Предположим, user хочет выполнить скрипт test.sh но ls -l test.sh дает

  -rwxrwxr-- 1 root root 96 Feb 25 21:44 test.sh 

Теперь, если user не хочет делать копию test.sh (на которой он делает chmod +x ), он может просто сделать

 sh test.sh 

выполнить test.sh

Есть ли аналоговый способ выполнения двоичных программ, у которых нет разрешений на выполнение?

  • Как я могу гарантировать, что только пользователь root имеет право остановить или перезагрузить систему?
  • Найти файлы с групповыми разрешениями более ограничительными, чем разрешения владельца
  • «Другие» разрешения на файлы
  • Предоставление разрешения на чтение файла устройства на диске
  • Служба не запускается при отказах разрешений - в каких файлах она не работает?
  • Звук трубки другому пользователю на том же компьютере (pulseaudio)
  • Как применяются разрешения файлов для вновь созданных файлов?
  • временно отключить собственное разрешение на запись в файловой системе
  • 2 Solutions collect form web for “Как выполнить файл без разрешения на выполнение”

    В основном это одно и то же, что и один из самых известных вопросов, связанных с техническим интервью UNIX, известный давно:

    Предположим, что кто-то с корневым доступом выполнил команду chmod -R 444 / и сделал двоичный файл chmod неисполняемым. Как вы оправились от этого?

    Существует ответ perl, и есть этот, который в основном запускает неисполняемую программу, chmod в этом случае:

     /lib/ld-linux.so /bin/chmod +x /bin/chmod 

    Я думаю, вы можете применить его к любой другой программе, которая, как вы знаете, является исполняемой. В противном случае будьте готовы принять бедствие, которое может произойти

    PS> /lib/ld-linux.so может отличаться по названию. Поэтому, если прямое совпадение недоступно, посмотрите вокруг так называемого so . Например, на моем сервере CentOS 6 это /lib/ld-linux.so.2 который является символической /lib/ld-2.12.so указывающей на /lib/ld-2.12.so . Таким образом, ваш пробег может отличаться.

    Если у пользователя нет разрешения на выполнение и он не может или не желает его изменить, он должен выполнить его как группу или пользователя, у которого есть разрешение на выполнение.

    Если они знают пароль root, то:

     su -c <executable> 

    Если они не знают пароль root, но им доверяют sudo тогда:

     sudo <executable> 

    Если они не знают пароль root и не пользуются привилегиями sudo , тогда есть причина, по которой они должны запускать исполняемый файл.

    Linux и Unix - лучшая ОС в мире.