• Linux policykit Продолжаю плеваться при виде современных линуксов. Задача: разрешить юзеру user1 запускать одно приложение от имени user2. Разумеется, нужно спрашивать пароль от аккаунта user2.
    В PolicyKit есть auth_self и auth_admin. И всем насрать на пароль user2, от имени которого будет запускаться приложение. Офигенно гибко и секьюрно. Даже в винде лучше сделано, чем в этих ваших линуксах.

Replies (15)

  • @ugnich, либо set uid, либо sudo -u user2 bla-bla-bla
  • @oxpa, Приложение графическое, Firefox.
  • @ugnich, Если ты знаешь пароль он user2, то ты можешь запустить любое приложение от его имени через su -. Ты адекватен?
  • @ugnich, пишет, мол "не могу открыть дисплей :0" ? сделай .Xauthority доступным на чтение. и либо прёдтся ещё кучу прав поправить, либо добавить ключ -i к sudo
  • @oxpa, Плохой совет, так делать нехорошо.
    P.S. Я не ищу решение проблемы. Я жалуюсь, что нормального решения этой проблемы вообще не предусмотрено. А какой костыль воткнуть — это уже не важно.
  • @ugnich, ещё есть gksudo, если хочется чуть прямее. Но в целом, я не вижу ничего плохого в совете: если хочешь запустить приложения пользователя на своём экране, ему нужно дать право на этом экране что-либо рисовать.
  • @ugnich, очевидно, что если известен пароль user2 то можно вообще под ним зайти и запускать все без ограничений. т.е. для разршения запуска только одной программы лучше спрашивать именно пароль user1
  • @solhov, Так никто не проверяет, знаю я пароль user2 или нет. Две опции: разрешить, если user1 знает свой пароль; разрешить, если user1 знает root пароль. На пароль от user2 всем насрать.
  • @ugnich, ещё есть вариант с su. Там проверяют пароль user2. В целом, через pam пилится что угодно. Пам — классный.
  • @ugnich, почему? если разрешить — админу нужен свой пароль и юзеру1 только его.
    пароль от юзер2 знать только юзер2 должен.
  • @ugnich, А чего хочешь сделать-то?
  • @oxpa, This.
  • @oxpa, сделай .Xauthority доступным на чтение. и либо прёдтся ещё кучу прав поправить, либо добавить ключ -i к sudoНормальные люди делают xhost +si:localuser:USERNAME
  • @ugnich, Создать под это приложение группу, выставить право запуска у группы. ru.wikipedia.org