Я определил 2 учетных записи пользователей:
с правами администратора (с sudo вправо) => позволяет называть его adminuser. второй, без каких-либо привилегий =>, позвонит ему normaluser, и я настрою автолог на этого второго пользователя normaluser.Итак, когда я открываю сессию normaluser и хочу запускать приложение с правами администратора, открываю терминал Ctrl + Alt + T и:
Он работает нормально, не выходя из сеанса normaluser (нет необходимости открывать сеанс adminuser).
Но что мне делать, если приложение нужно запускать с помощью графического интерфейса пользователя? Я хоть об этом:
su adminuser
gksu anyapplication ...
, но я получаю
[ f3]Один из способов, который, вероятно, будет работать, - использовать «sux», а не «su» при первом переключении на пользователя admin. sux устраняет проблему запуска приложений x из подделанного пользователя. Он находится в стандартном репо и может быть установлен путем ввода sudo apt-get install sux в командной строке.
Затем просто используйте «sux» вместо «su», и он должен работать так, как вы ожидаете.
Позволяет повторно использовать пример приложения xclock:
sux admin
gksu xclock
Это работает для меня на Ubuntu 16.04:
помещает строку:
session optional pam_xauth.so
где-то в:
/etc/pam.d/su
и / или
/etc/pam.d/sudo
, а затем делать «su» или «sudo su». Я могу использовать графические приложения как root.
Вместо
su admin gksu anyapplication ...предлагаю вам попробовать gksu -u admin anyapplication, где вы делаете все, используя команду gksu. Также учтите, что вы должны ввести пароль пользователя, упомянутого в команде, то есть в этом случае вам нужно ввести пароль администратора.
Существует вездесущая альтернатива kdesudo и gksu - pkexec, которая из пакета policykit-1, которая требуется множеством пакетов.
Вот команда, чтобы выполнить это.
gksu app-name
Запустите его, не выполнив сначала su. Вам нужно только выполнить указанную выше команду из обычного пользовательского сеанса, и приложение будет запущено с правами root.
Вы должны использовать:
gksudo AppName
Это сначала вызывает запрос графического пароля (пароль пользователя), а затем запускает GUI-приложение как root (я просто пытался, это действительно так. вещь: я попытался gksu AppName сразу после этого, и это сработало, как и предполагалось, как предполагает префикс «gk». Поэтому я не совсем уверен, где может быть ваша проблема). [!d1 ]
Есть только один суперпользователь, и это root.
Пользователь 1 является администратором и имеет права sudo. Пользователь 2 не является администратором и не имеет прав sudo.
Попробуйте войти в систему как пользователь 1, затем используя команду
gksudo app-name
(заменив имя приложения именем приложения) Надеюсь, что это поможет - позвольте мне знать. : o)
EDIT: дополнительная информация по запросу
Если это только вы на компьютере, то использование пользователя 1 (у кого есть разрешение на использование sudo) ничем не отличается от использования пользователя 2 (у кого нет разрешения на использование sudo). Пользователь 1 имеет те же права, что и пользователь 2. Если пользователь 1 не выдает команду с префиксом sudo и / или предоставляет свой пароль, чтобы приложения могли запускаться с корневыми привилегиями. Единственное различие заключается в том, что пользователь 2 не может запускать приложения как root.
Надеюсь, это поможет вам немного объяснить это. :
о)