hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..

Как в скрипте на bash войти под другим логином?

Делаю скрипт настройки чистого сервера под свои нужды:
USER='user'
PASS='555'

sudo useradd -G sudo -m -d /home/$USER --password $(echo "$PASS" | openssl passwd -1 -stdin ) $USER

apt update
apt install mc sqlite ncdu htop git nload curl zip tmux python3-pip -y

Здесь создаю нового пользователя user с паролем 555. Далее устанавливаю нужные пакеты.

Далее нужно установить Python библиотеки для пользователя user:
login -p user # Как передать сюда пароль 555?
pip3 install bs4 lxml requests

И столкнулся с проблемой, не знаю как автоматически ввести пароль для команды login:login -p user
  • Вопрос задан
  • 1401 просмотр
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
sudo su -l user -c 'pip3 install --user bs4 lxml requests'


под sudo, команда su не будет запрашивать пароль.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
hottabxp
@hottabxp Автор вопроса
Сначала мы жили бедно, а потом нас обокрали..
Один из вариантов:
su -l user -c 'pip3 install bs4 lxml requests'
Ответ написан
Adamos
@Adamos
sudo login -f -p user
Ответ написан
Комментировать
@pfg21
ex-турист
sudo может принять пароль со stdin, опция
-S, --stdin
Write the prompt to the standard error and read the password from the standard input instead of using the terminal device.

но это не секурно, правильнее прописать необходимую строчку запуска программы без запроса пароля в /etc/sudoers
статей навалом к примеру https://losst.ru/otklyuchaem-parol-sudo-v-linux
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы