|
|
|||||||||||||||||
Запуск bash скрипта от имени (без пароля) из php21.11.2019, 08:57. Показов 5361. Ответов 32
Метки нет (Все метки)
Здравствуйте!
Я хочу запустить bash скрипт через браузер. От имени конкретного юзера, не апача. По идее, должно получиться: php:
Я добавил через visudo строчку:
Для теста, залогинился под user2, но при вводе:
ОС: Debian 9.
0
|
|||||||||||||||||
| 21.11.2019, 08:57 | |
|
Ответы с готовыми решениями:
32
Запуск bash скрипта, вызывающий последовательно команды php Запуск командной строки от имени админа без ввода пароля
|
|
|
|||||||
| 21.11.2019, 20:08 [ТС] | |||||||
|
Спасибо.
В случае
Даже если допустить, что пароля у учетки апача нет, я даже не знаю как его учетка называется. echo "$USER" выдает пустую строку. Следовательно, я думаю, мне нужно: 1. Узнать имя учетки апача иным образом 2. Сделать, чтобы с нее не затребовался пароль при выполнении sudo 3. Добавить в sudoers, т.к. даже если ввести пароль, то при тесте пишет:
P.S. Я очень не опытный юзер в linux shell, так что работаю только по мануалам, что нахожу в сети. Если можно, объясните, пожалуйста, на пальцах, или посоветуйте, где что можно посмотреть. -- В инете, видел совет запустить сервис апача от имени самого user1, но что-то мне эта идея не очень нравится.
0
|
|||||||
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
| 21.11.2019, 20:17 | |
|
юзер, от имени которого пашет апач, обычно указан в его конфиге. например, для debian-based дистрибутивов это обычно www-data
0
|
|
|
|
|||||||||||||||||||||
| 21.11.2019, 23:55 | |||||||||||||||||||||
|
Попробуйте раскоментировать вот эту строчку
в моем случае это nez под которым я логинелась в системе
0
|
|||||||||||||||||||||
|
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|||||||||||||||||||||
| 22.11.2019, 09:56 | |||||||||||||||||||||
|
Если не ошибаюсь, то в судоерах должно быть нечто вроде:
Сам скрипт запускать не через system, а exec:
0
|
|||||||||||||||||||||
|
|
||||||
| 17.11.2020, 19:48 [ТС] | ||||||
|
Прошел год, но лучше ответить поздно, чем никогда. Задачу так и не решил, и она снова актуальна.
Dmitry, спасибо. Да, так и есть, в /etc/apache2/apache2.conf => User ${APACHE_RUN_USER}, а в envvars => export APACHE_RUN_USER=www-data greg zakharov, спасибо, но для начала попробовать бы разобраться хотя бы с запуском без пароля от имени другого (не апач) юзера. chown и chmod пробовал применять, ничего не изменилось. nezabudka, спасибо, но я именно так и делал в 1 посте. # это я уже потом добавил, т.к. не сработало. sudo или su, без разницы, все равно требует пароль. Повторю ещё раз, пошагово. Сейчас у меня: Debian 10 x64. Вводим команды из под root:
Заранее благодарен за любую помощь.
0
|
||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||
| 18.11.2020, 09:02 | ||||||
0
|
||||||
|
|
||
| 18.11.2020, 15:43 [ТС] | ||
|
Marinero, не понял я вашего ответа.
Если всё получится, я потом тоже самое проделаю будучи залогиненным под www-data, тем самым решив оригинальный вопрос сабжа.
0
|
||
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
||||||
| 18.11.2020, 15:49 | ||||||
![]() зы. возвращаясь к запуску баша через браузер. лично я (как считаю, в целях безопасности) практикую такое:
1
|
||||||
|
|
||||||||
| 18.11.2020, 15:57 [ТС] | ||||||||
|
Первая же строчка - ведет к запросу пароля:
Проверку через cron считаю не особо хорошим вариантом, т.к.: - будут задержки между отправкой команды и ее исполнением - доп. нагрузка У меня безопасность реализована через передачу в php токена. С другой стороны да, вы подсказали вариант обхода проблемы (без испольщования su). Но хотелось бы это как-то по нормальному сделать.
0
|
||||||||
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|||
| 18.11.2020, 16:11 | |||
|
вас "пнули в направлении" вы не поняли, или даже не пытались понять вы написали ранее, как настраивали использование судо пользователем юзер2, потом написали, что не проходит проверка, и задали вопрос "что я делаю не так?" пока все верно? так вот вам показали, что надо для "так" - чтобы срабатывало разрешение, настроенное для пользователя юзер2, СНАЧАЛА НУЖНО СТАТЬ ЭТИМ САМЫМ ПОЛЬЗОВАТЕЛЕМ (юзер2)! и команда su как раз и предоставляет такую возможность - ПЕРЕКЛЮЧИТЬСЯ НА ДРУГОГО ПОЛЬЗОВАТЕЛЯ! а пароль она - да, просит, причем просит обязательно! и пароль который она от вас хочет - это пароль (в данном случае) пользователя юзер2. И лишь став пользователем юзер2, вы сможете проверить, работают ли те разрешения судо, которые вы для него настраивали... Добавлено через 1 минуту Не по теме:
Добавлено через 3 минуты
0
|
|||
|
|
||||
| 18.11.2020, 16:16 [ТС] | ||||
|
Не по теме:
Если передавать туда жестко вшитую строку (или делать нормальные проверки), то наверно и нет смысла ничего такого блочить.
0
|
||||
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
| 18.11.2020, 16:18 | |
|
0
|
|
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|||
| 18.11.2020, 16:22 | |||
|
беспарольное разрешение выдано КОМУ? а в 14-й строке мы команду пытаемся выполнить как кто?
0
|
|||
| 18.11.2020, 16:25 | |
|
0
|
|
|
|
|||
| 18.11.2020, 16:29 [ТС] | |||
|
Не по теме:
0
|
|||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||
| 19.11.2020, 16:51 | ||
|
Dragokas, как-то у Вас смешалось все... Если Вы дали разрешения user2 (см visudo) зачем Вы скрипт выполняете от имени user1?
0
|
||
| 19.11.2020, 16:51 | |
|
Помогаю со студенческими работами здесь
20
Файл pgpass, запуск psql от имени другого пользователя без ввода пароля
Шифрование пароля внутри скрипта Bash php запуск скрипта без браузера или преобразование в exe Запуск и остановка bash - скрипта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|