LINUX.ORG.RU

bash

 


0

1

здравствуйте есть скрипт суть которого просто выполнить одну команду #!/bin/bash command ну этот скрипт вызывается из под супер пользователя, а нужно что бы скрипт выполнялся из под обычного пробовал так

sudo -u $SUDO_USER command
но это не работает подскажите как правильно будет

Без пароля? - man sudoers
Или это функция в bash.conf которая только у рута прописана - тогда ССЗБ

anonymous_sama ★★★★★ ()

а в sudoers для данной команды NOPASSWD прописан?

null123 ★★ ()
Ответ на: комментарий от anonymous_sama

проблема в том что я не знаю имя пользователя это вообще postinst скрпит в deb пакете

mikemike ()
Ответ на: комментарий от mikemike

А зачем postinst трогать пользовательские файлы?

AITap ★★★★★ ()
Ответ на: комментарий от mikemike

ну вот так сложилось

Подробнее, пожалуйста.

возможно ли это?

Запустите в postinstall-скрипте:
set > /tmp/set.$$
env > /tmp/env.$$

И посмотрите, доступно ли в принципе имя пользователя, или нет.

AITap ★★★★★ ()

sudo не нужен. чтобы из под рута понизить привилегии - su $user -c '$command'

ananas ★★★★★ ()
Ответ на: комментарий от ananas

К тому же sudo в дебиане может не быть установлен

//видел как-то sudo в postinst-скрипте в Bodhi Linux, ругался.

illifant ()
Ответ на: комментарий от ananas

проблема в том, что на su $SUDO_USER -c '$command' он реагирует неправильно,он всеравно выполняет эту команду из под рута, т.е. сформулирую вопрос так как: что мне нужно прописать в скрипте( который запускается из под sudo), что результат его работы полностью совпадал с результатом если я его просто вставлю в консоль пробовал su $user - c 'command' -не то, при запуске из под sudo такое ощущение что он просто игнорирует $user(ну или $SUDO_USER)

mikemike ()
Ответ на: комментарий от mikemike

такое возможно только если user или SUDO_USER - пустые. тогда да, su будет все делать от рута.

ananas ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.