Х требуется доступ к устройствам ввода (мыши и клавиатуре ), а также к монитору и видеокарте для вывода.
Чтобы добиться этого для не -root X, вы можете изменить группу Xorg
с root
на input
, установить бит setgit и добавить своего пользователя в группуvideo
:
chown root:input /usr/lib/xorg/Xorg
chmod g+s /usr/lib/xorg/Xorg
adduser YOURUSERNAME video
(Вместо этого вы можете добавить своего пользователя как в video
, так и в input
, но это не рекомендуется. Пользователь в группе input
может следить за вводом других пользователей. Например. графический интерфейс в X, вероятно, мог бы шпионить за паролем root, введенным в console/tty.)
Если вы пытаетесь выполнить команду от имени другого пользователя, sudo
запросит ваш пароль, su
запросит пароль другого пользователя.
Sudo позволяет непривилегированным пользователям выполнять определенные команды от имени другого пользователя, и поэтому имеет файл конфигурации, /etc/sudoers
который позволяет системным администраторам решать, какие пользователи могут запускать какие команды от имени других пользователей. IE имеет мелкозернистые разрешения. Эти разрешения могут быть предоставлены, а затем отозваны.
Su также позволяет запускать команду от имени другого пользователя, но не предусматривает таких же детальных разрешений. Если у вас есть пароль другого пользователя, вы можете делать что угодно как этот пользователь. Единственный способ отозвать этот доступ — изменить пароль другого пользователя.
Оповещение о мнении
В большинстве случаев я бы использовал sudo
, а не su
. Легче дать кому-то доступ, не передавая ему ключи ко всему (ваш пароль)
Окончательное мнение
Нет большой разницы в эффекте при попытке «имитировать» другого пользователя. Оба запускают вашу команду от имени этого пользователя.