Как запустить команду от имени другого пользователя, когда нет команд sudo или su

У меня здесь довольно необычное состояние. У меня есть старая система Linux, в которой нет команд sudo или su. У меня нет физического доступа к этому компьютеру, поэтому я не могу войти как другой пользователь.

Ядро Linux – 2.6.18-498, а система – красная шляпа 4.1.2-55.

Я могу перейти в каталог / bin и точно сказать, что там нет двоичных файлов su или sudo. Так что это не случай неправильной конфигурации переменных PATH.

Также это веб-сервер, так что, возможно, он настроен таким образом. Есть ли способ запустить команду от имени другого пользователя? Любая помощь будет оценена.

2 Solutions collect form web for “Как запустить команду от имени другого пользователя, когда нет команд sudo или su”

Проверьте, запущены ли у вас какие-либо службы удаленного входа ( in.telnetd , rlogind , sshd ), а затем выполните соответствующую команду входа на in.telnetd (127.0.0.1). Например, если у вас есть sshd выполните:

 $ ssh root@127.0.0.1 

С помощью telnet вы запускаете:

 $ telnet -l root 127.0.0.1 

И с rlogin вы бы запустить:

 $ rlogin -l root 127.0.0.1 

Любая команда с set-uid или установленным gid-bit. Будет запущен как владелец или группа. Однако, если они написаны правильно, они не позволят вам делать то, что вы не должны. sudo и su позволяют вам делать что-либо значимое только в том случае, если вы указали правильный пароль. Большинство других инструментов просто безопасно выполняют одну вещь, но не позволяют вам наращивать привилегии.

Однако если вы можете записать в хранилище как root (удалив носитель и вставив его на другую машину или загрузившись в другую ОС), вы можете добавить нужные вам файлы с соответствующим разрешением.

Исполняемые файлы с битами set-uid / set-gid являются единственным способом повышения привилегий в системах Unix (современные системы теперь имеют возможности, но это одно и то же).

Ядро не использует пароли, поэтому для реализации паролей создается исполняемый файл с владельцем root и установленным битом set-uid. Этот исполняемый файл проверит пароль, а затем установит пользователя соответствующим образом и запустит оболочку (или что-то еще).

Предположим, что возможности не используются, а затем find / -executable -type f -user root -perm -u+s -print 2>/dev/null , в котором перечислены все исполняемые файлы, которые повышают разрешение (хотя бы временно), большинство (может быть, все ) будет бесполезен.

  • Удалить сообщение, отображаемое при каждом запуске ZSH (с установленным oh-my-zsh)
  • Создать точку монтирования и смонтировать блочное устройство с помощью одной команды?
  • почему не работает pwd и echo?
  • Рекурсивно создать пустой файл в пустых подкаталогах
  • id -u $ var дает тот же результат, если $ var имеет значение или нет
  • Удалите файлы с именами, которые начинаются с '?' в командной строке
  • Мой терминал MacOSX не показывает текущий каталог
  • Как очистить кеш браузера Chromium?
  • Как искать совпадение, затем несоответствие в этой строке, но включать контекстные строки для сопоставленной строки?
  • Запуск приложения OpenGL без рабочего стола
  • Копировать файлы из одного каталога в другой, игнорируя файлы, в которых файл назначения был изменен за последний час?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.