Как получить приложение rails с включенным пакетом, работающим как служба с выскочкой?

Вам следует просто загрузиться с загрузочных USB (или CD/DVD) и переименовать [Ф3] обратно.[!dе д0]

[Ф4] не работать с setuid для исполняемых файлов. Но, если вы хотите, вы можете использовать [F5], чтобы сделать последнюю минуту резервных копий (которые не требуют выполнения команд с правами root) перед перезагрузкой. Это можно исправить без загрузочных USB/компакт-диск/DVD-диск, но вам все равно нужно перезагрузить, и я предлагаю использовать один.

[ф6] не работает с командами с setuid.

в данный момент вы пытаетесь сделать [ф7] использовать переименованный общей библиотеки путем установки нажать [F8]. Это не будет работать. Вы не можете изменить то, что разделяемые библиотеки [F9] и ссылки в с [ф10], и он не работает с любой из альтернатив [ф11] либо. Если Вы смогли сделать это, то это будет очень серьезной ошибки безопасности.

кстати [F12] и [от f13] (и [ф14]) работы позволяют повысить привилегии в том, что те исполняемые файлы имеют бит setuid set0, которая заставляет их работать, как пользователь, который ими владеет, что для тех, исполняемые пользователя root, а не пользователя, который фактически запускает их. Когда они бегут, они очень тщательно проверять то, что вы просите их сделать. Таким образом, при условии их разработчики были достаточно осторожны, они только позволяют пользователям выполнять действия, которые они уполномочены осуществлять.

[ф15] не влияет на функцию setuid исполняемые файлы запускать другие пользователи, чем их хозяева. Это абсолютно важно для безопасности. В противном случае, могли может сделать свою собственную библиотеку и сила такая программа, Как [ф16], чтобы использовать ее, и тогда кто угодно может получить привилегии суперпользователя. Вы можете использовать [f17 в] для битов setuid программ, и root может использовать ее для запуска просто ни о чем. Но как не-root пользователь, Вы не можете использовать его для запуска программ как [ф18], [зг19], и [ф20], что не установлен бит setuid корень.

если вы уже имели оболочку с правами root, тогда вам не нужно перезагрузить. Но даже если у вас есть учетная запись root включен-то есть, даже если у вас был задан пароль для него, что вы могли бы использовать для входа в систему как root с помощью команды [клавиши f21] ... вы все равно не сможете устранить проблему без перезагрузки. Например, [ф22] в Ubuntu также требует [ф23], а также установлен бит setuid root, чтобы [ф24] не будет работать с ней.0 (См. также бит setuid[!с комментариями д7]'.)

проблема здесь заключается в том, что существующих механизмов для выполнения действий уже требуется запускать setuid исполняемые файлы, принадлежащие root, как самому себе, но [f25 привод датчика] не имеет никакого эффекта в этой ситуации. Если бы не необходимость выполнения действий как root, или если у вас уже есть корневой открытой оболочки--тогда вы могли бы переименовать его обратно без перезагрузки, а также без использования [ф26]. Это потому, что системы Ubuntu есть /bin/busybox, которая является статически. Это комментарии, включая [ф28] и cp команды. Вы можете запустить [f30 с] или вы можете запустить только [ф31], чтобы попасть снарядом в которых вы сможете выполнить команды. Запустить [f32 из] без аргументов, чтобы получить список поддерживаемых команд. У него даже есть версия dpkg!

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

я упоминаю busybox главным образом потому, что, хотя вы не сможете использовать его, чтобы получить привилегии суперпользователя и восстановления [ф35], вы или если у вас уже есть корневой открытой оболочки использовать его для резервного копирования любых файлов вы беспокоитесь о потере до перезагрузки в живой среде. [ф15] не влияет на функцию setuid исполняемые файлы запускать другие пользователи, чем их хозяева., но так как вас беспокоит, вы можете использовать [f36 в] скопировать все важные файлы-документы, как вы созданы или изменены с момента последнего резервного копирования--в другое место.

Перезагрузка в обычном режиме может и не очень далеко, потому что нормального завершения работы фактически связаны с запуском динамически связанные программы, которые зависят от [фунции f37]. Вы можете хотеть использовать Alt+SysRq+REISUB, чтобы спокойно перезагрузиться. Это не идеальный способ, чтобы закрыть, но это, наверное, лучше, чем в основном безрезультатны попытки перезагрузить затем жесткий сброс. Другой вариант заключается в попытке перезагрузиться, а затем попытаться использовать метод REISUB, чтобы взять его остальная часть пути. (Если вы хотите Выключить машину, а не перезагрузка, использовать REISUO вместо REISUB.)

[d43 см.]когда вы делаете загрузочный из живой среды, переименование файла будет легко. Вам не надо chroot или что-нибудь приглянется. Просто смонтировать корневую файловую систему (что обычно это можно сделать одним щелчком мыши в обозревателе файлов, хотя вы можете использовать команду [ф39] если вам нравится). Затем, в терминале, используйте [ф40] или команды [ф41] восстановить libc.so.6. Вам потребуется sudo, но это прекрасно работает в реальной среде.[!d43 см.]

я знаю, вы говорили, что нет спасения диска. Было бы трудно, пожалуй, невозможно, чтобы создать загрузочный Live USB на той системе, где Вы не сможете запустить большинство программ. (Вы можете использовать [пулемет f44] для копирования и перемещения файлов, и он даже имеет [f45 с] системы comand, но я не рекомендую пытаться использовать его для этого. Как правило, вы должны быть в состоянии работать dd root-правами чтобы создать Live-носителя.) Возможно, кто-то предложит способ. Если у вас есть другой компьютер поставить жесткий диск в, надеюсь, вы можете создать его с этой машиной. Если нет, то лучше всего попросить знакомого, чтобы сделать один.

есть способ без живой компакт-диск/DVD/USB, но вы все равно должны перезагрузиться.

однако, [dрайвер d41]о[!dрайвер d41] альтернативы загрузке с внешнего носителя.0 Вам все равно придется перезагрузить, но вам не нужна живая система. Я не особенно рекомендуем это, так как это громоздкое; использование интерактивной среде легче. Вы можете сделать это не один, если вы действительно хотите, хотя.

как , чтобы использовать Alt+SysRq+REISUB указывали ранее в комментариях, может не будет работать, потому что большинство программ нужно libc.6.so (например, /bin/bash, который обеспечивает оболочка, она нужна). Но вы можете загружать систему с /bin/busybox sh как init, передав [ф50] в качестве параметра загрузки ядра в grub.0 это по сути тот же метод, как более общие init=/bin/sh (или init=/bin/bash), чтобы получить корневой оболочки, но с /bin/busybox sh вместо обычного /bin/sh, потому что [f55, которая] является динамически связаны и требует libc.so.6.

[размером d57]если вы хотите сделать это таким образом, удерживая нажатой левую клавишу Shift при (пере)загрузке и появляется меню grub. (Если переход не работает, используйте клавишу ESC.) С помощью клавиш со стрелками выберите Дополнительные параметры для Ubuntu и нажмите Enter. После этого вы Б нажмите Enter, потому что это нормально загрузиться, а не с пользовательскими опциями загрузки. Выберите любое ядро и нажмите e для редактирования параметров загрузки временно. Если есть несколько линий, и курсор находится не на линии, которая начинается с linux, сдвинуть его оттуда с помощью клавиш со стрелками. Добавить init=/bin/busybox sh в конец строки и нажать F10 для загрузки.[!размером d57]

Вы должны получить busybox в командной строке. Вам придется перемонтировать корневой файловой системы чтение / запись и переименовать libc.so.6 так он имеет правильное имя, которое он использовал, чтобы иметь. Для этого выполните следующие команды в Shell из busybox (там, где другие читатели, которые [от f60] в другом месте придется изменить имя каталога передан команде [ф61]):

[Ф1]

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

[Ф2]

(без -f, команда reboot не работает вообще в этой ситуации, как не соответствующего демон init работает.)

[г70]0 для тех, кому интересно: когда эти программы (например, [64-го фокуса]) на самом деле выполнить вашу команду или создать размер или некоторые другие альтернативные пользователя, как ваш реальный и эффективный идентификаторы пользователя имеют значение целевого пользователя. Но когда вы запустите их, прежде чем они сделали это, в то время как они являются определяющими, если они позволяют вам выполнять действия, которые вы просили, их эффективный идентификатор пользователя совпадает с корнем, а их реальный идентификатор пользователя-это все еще твое. Я упоминаю об этом, чтобы устранить распространенное заблуждение о том, как реальные и эффективные идентификаторы пользователя, работа в программах, как [f65 в]; Если вы никогда не слышали реальный и эффективный идентификаторы пользователя, смело игнорируйте эту сноску.[!г70]

0 для тех, кому интересно: когда эти программы (например, [64-го фокуса]) на самом деле выполнить вашу команду или создать размер или некоторые другие альтернативные пользователя, как ваш реальный и эффективный идентификаторы пользователя имеют значение целевого пользователя. Но когда вы запустите их, прежде чем они сделали это, в то время как они являются определяющими, если они позволяют вам выполнять действия, которые вы просили, их эффективный идентификатор пользователя совпадает с корнем, а их реальный идентификатор пользователя-это все еще твое. Я упоминаю об этом, чтобы устранить распространенное заблуждение о том, как реальные и эффективные идентификаторы пользователя, работа в программах, как [f65 в]; Если вы никогда не слышали реальный и эффективный идентификаторы пользователя, смело игнорируйте эту сноску.

[кадрах, снятых D80]0 [о d54]инициализации[!о d54][!кадрах, снятых D80]

0 это удастся на прохождение sh к busybox хотя вы могли бы ожидать, что это будет истолковано как последующий вариант загрузки ядра. В том числе кавычки предотвращает его от работы. Отметим также, что, в Ubuntu, статически [f75 в Джей] исполняемый файл называется просто busybox, а не [f77 на английском языке] (хотя пакет, который обеспечивает его называют busybox-static). Если вы удалили статически слинкованный busybox и установлен динамически слинкованный busybox и, тогда этот метод не будет работать, но это очень маловероятно, что вы сделали это.

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

0 ответов

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

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