Скрипт с изменением текущего пользователя

Установка, обновление, настройка Linux

Модераторы: Olej, adminn

Doddger
Интересующийся
Сообщения: 4
Зарегистрирован: 13 апр 2016, 12:25
Контактная информация:

Скрипт с изменением текущего пользователя

Непрочитанное сообщение Doddger » 13 апр 2016, 12:37

Здравствуйте!
Есть необходимость в рамках одного скрипта устанавливать пакеты под другим пользователем:
запускаю, например, скрипт от user_0, потом в скрипте надо выполнить действия от user_1. Делаю так:
#!/bin/sh
# Какие-то действия от user_0
sudo su - user_1
echo user_1 login
exit
# Какие-то действия от user_0

В итоге получаю только выполнение sudo su - user_1 и система переходит в режим ожидания команд под пользователем user_1.
Как правильно написать такой скрипт?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Скрипт с изменением текущего пользователя

Непрочитанное сообщение Olej » 13 апр 2016, 14:22

Doddger писал(а): В итоге получаю только выполнение sudo su - user_1 и система переходит в режим ожидания команд под пользователем user_1.

Код: Выделить всё

olej@nvidia ~/2016_WORK/in.WORK/bash $ cat ./scr1
# действия user_1 :
whoami
su -c ./scr2 -m olga
# действия user_1 :
whoami

Код: Выделить всё

olej@nvidia ~/2016_WORK/in.WORK/bash $ cat ./scr2
# действия user_2 :
whoami
exit
Выполнение:

Код: Выделить всё

olej@nvidia ~/2016_WORK/in.WORK/bash $ ./scr1
olej
Пароль: 
olga
olej
Это не совсем то, что вы хотели, потому что пароль вас всё равно нужно вводить с терминала: команд su не допускает ввода пароля ни с канала, ни из файла.


Doddger
Интересующийся
Сообщения: 4
Зарегистрирован: 13 апр 2016, 12:25
Контактная информация:

Re: Скрипт с изменением текущего пользователя

Непрочитанное сообщение Doddger » 14 апр 2016, 08:14

А как можно использовать окружение пользователя user_1?
Т.е. при использовании su -c ./src -m user_1 команда whoami возвращает user_1, но HOME = /home/user_0. Получается, что когда требуется доступ к домашней директории, возникает ошибка из-за отсутствия прав доступа.


Ответить

Вернуться в «Администрирование Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей