попытка перенаправить & vncpasswd как другого пользователя (bash)

У меня есть уникальная потребность выполнить «vncpasswd» от имени другого пользователя в сценарии. Он также должен быть неинтерактивным и автоматическим.

Я использую перенаправление, а также как другой пользователь. Использование информации из (пытается объединить)

Спасибо.

https://unix.stackexchange.com/questions/91534/how-to-pipe-to-bash-as-a-other-user и Как настроить Vncserver в сценарии bash (redhat6)

Пробовал вариации

#!/bin/sh

'vncpasswd << EOF
tvnc1234
tvnc1234
EOF' | sudo -u vnc bash

а также

#!/bin/sh

sudo -u vnc bash 'vncpasswd' << EOF
tvnc1234
tvnc1234
EOF

person Community    schedule 22.06.2017    source источник
comment
askubuntu.com/questions/328240/assign-vnc-password -использование-скрипта ?   -  person Norbert van Nobelen    schedule 23.06.2017
comment
все та же проблема, когда мне нужно сделать это как другой пользователь. Сообщение, о котором вы упомянули, предполагает, что я не меняю имя пользователя sudo -u   -  person    schedule 23.06.2017
comment
Судо не должно иметь большого значения: что произойдет, если вы просто используете скрипты из ссылки в качестве пользователя root (так что вам не нужно использовать sudo в этом тесте)?   -  person Norbert van Nobelen    schedule 23.06.2017
comment
из-за того, что .vnc остается в /home/user/.vnc по сравнению с /root/.vnc/, он нарушает формат скрипта. Я должен запустить его без полномочий root с повышенными привилегиями с nopasswd.   -  person    schedule 23.06.2017
comment
sudo означает запуск от имени другого пользователя, так что это неудивительно. Альтернатива: вы можете добавить своего пользователя в группу, которой разрешено запускать vnc direct, чтобы sudo больше не требовался.   -  person Norbert van Nobelen    schedule 23.06.2017
comment
это не проблема прав sudo, а вызов команды vncpasswd от имени другого пользователя и создание соответствующих файлов в профиле этого конкретного пользователя. Однако команда перенаправления работает без sudo -u. (В худшем случае можно просто попросить людей создать пользователя вручную и запустить скрипт внутри пользователя). Спасибо.   -  person    schedule 23.06.2017