LINUX.ORG.RU

sudo su

 ,


0

2

Здравствуйте есть команда результат которой зависит от того из под какого пользователя ее вызвали, допустим command при вызове

su $USER -c "command"
результат такой же а при вызове
sudo -u $USER command
результат другой, в чем может быть проблема или какие дополнительные флаги нужны еще у sudo

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

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

Homura_Akemi
()

А если:

sudo -u $USER -i command
работает?

Потом, sudo оставляет указания на реального пользователя. Например, переменные SUDO_USER и проч. Та программа их не смотрит?

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

Это допустимо сравнивать только с «su -» :)

Да, но при этом почти все окружение будет таким, как у другого пользователя, и мы узнаем, куда копать.

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

Если честно я не знаю на что смотрит gconftool( именно ее я вызываю в команде) с -i все равно тоже самое

Хм. У меня нет под рукой Гнома, так что не могу проверить, что там с gconftool. В Интернете нагугливаются багрепорты, связанные с работой его под sudo (https://bugs.launchpad.net/gconf/ bug/290647).

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

Теоретически на $DBUS_SESSION_ADDRESS (пишу по памяти), но практически там могут быть всякие идиотизмы, что для гномовского софта весьма обычно.

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

самая похожая $DBUS_SESSION_BUS_ADDRESS, вы ее имели ввиду? я ее засетил в переменных среды рута, все равно тоже самое

mikemike
() автор топика

результат другой

зависит от того на сколько другой. Хотя, как уже сказали, -i в 99% случаев решает проблемы.

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

самая похожая $DBUS_SESSION_BUS_ADDRESS, вы ее имели ввиду?

Ага.

я ее засетил в переменных среды рута, все равно тоже самое

Рут? Ну тогда это совсем дело дохлое, КМК. Беда в том, что всякие гномовские штуки могут очень плохо работать со стандартными средствами изменения привилегий и аутентификации, поскольку разработчики считают кривые подпорки вроде consolekit и policykit лучшим решением. Возможно, стоит копнуть в сторону pkexec. Или поищите старые руководства по настройке GDM3 — там указаны все переменные, которые нужно задать и где взять их значения.

Homura_Akemi
()

Переменные среды?

man su (почитай подробнее в man su)

Note that the default behavior for the environment is the
           following:

               The $HOME, $SHELL, $USER, $LOGNAME, $PATH, and $IFS environment
               variables are reset.

В man sudo тоже про переменные среды написано.

Я точно не знаю, что ты запускаешь, но, может быть. у тебя программа эта зависит от значения этих переменных?

Zubok ★★★★★
()

Development тут при чём, пионэр!

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