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

Предположим, 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

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

  • Разрешения Linux и SMB не работают должным образом
  • Почему bash дает мне (видимо) противоречивую информацию о файле?
  • Ограничить доступ к файлам только для добавления
  • Редактирование файла без разрешения перезаписи
  • Предоставление пользователю возможности удалять файл, не предоставляя им права на запись в каталог
  • Поиск разрешений для файлов, кроме 755
  • mkdir дает разные ошибки (разрешение отклонено против файла существует) в зависимости от того, был ли доступ к каталогу недавно
  • "Rsync: не удалось установить разрешения на ..." ошибка с параметром rsync -a или -p
  • 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 , тогда есть причина, по которой они должны запускать исполняемый файл.

    Interesting Posts

    `ssh -X` запрашивает определенный X-дисплей?

    Экран становится черным во время загрузки в Debian Jessie

    E: очистка / не поддерживается

    Как использовать sed для вставки символа в определенную позицию символа только на одну строку?

    Выполнить команды Lua в Awesome window manager

    Как заставить ноутбук спящий режим, когда он достигнет некоторого низкого уровня заряда батареи?

    почему EXPORT PS1 в моем .profile получает clobbered?

    Dropbox – интеграция Nemo под Fedora

    Почему Super-F1 отображает «:: 1 localhost»?

    Как bash передает группы пользователей ребенку?

    доступ к системе / dev / xx был изменен при перезапуске systemd

    Я хочу создать задание cron, которое запускает команду в удаленном поле Linux, используя ssh, но я хочу, чтобы ssh отвечал на пароль

    Разрывание экрана в матте с помощью compiz, а не разрывание экрана с помощью KDE или Unity

    Изменение размера виртуального жесткого диска

    Проблема с выпуском скрипта bash blcheck

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