Готова ли ваша криптотаблица? Я не вижу настроенного ключевого файла... поэтому я не знаю, как это сделать без ключевых файлов.
Насколько мне известно, обычным способом является создание и прикрепление ключевых файлов к каждому контейнеру luks и использование их для разблокировки. Все ключевые файлы должны содержаться в одном контейнере luks. Этот контейнер вы можете разблокировать с помощью парольной фразы, а затем ключевые файлы доступны для разблокировки других контейнеров.
Сохранение необработанного пароля в файле небезопасно; но по крайней мере это будет ответом на ваш вопрос.
Использование NOPASSWD в sudoers
Добавьте указанную ниже запись в свои sudoers:
<your_user> ALL=NOPASSWD: /bin/su - user1
#Then simply run
sudo -S su - user1
Без sudoers:Полезно для неинтерактивных оболочек
su - user1 -c "" < ~/pwd.txt &>/dev/null
< ~/pwd.txt
Перенаправьте ваш пароль, хранящийся в ~/pwd.txt, на команду su.
&>/dev/null
Перенаправление stdout и sterr в >/dev/null.
##ЛУЧШЕ##:
Вы можете использовать инструмент gpg для шифрования пароля:
# Encrypt your password with choosing a passphrase :
gpg -c ~/pwd.txt
# Remove your raw password file :
rm -f ~/pwd.txt.gpg
Теперь при попытке использовать su для расшифровки вашего пароля:
используйте описанное выше.su - user1 -c "" <<< "$(gpg -q -d ~/pwd.txt.gpg 2>/dev/null)" &>/dev/null