Как запустить скрипт от имени другого пользователя?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
niv88
Сообщения: 1

Как запустить скрипт от имени другого пользователя?

Сообщение niv88 »

Есть скрипт.
/usr/lib/ScriptName/ScriptName.sh

Надо его запустить от имени пользователя ScriptUser, причём без запроса пароля.
Как такое можно сделать?

(а то с /etc/sudoers/ - запутался)
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian
Контактная информация:

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

Сообщение Frank »

sudo su -c /usr/lib/ScriptName/ScriptName.sh ScriptUser
Если запутались, читайте man
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

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

Сообщение drBatty »

niv88 писал(а):
13.12.2009 12:26
(а то с /etc/sudoers/ - запутался)

но что-то вы там написали? Что?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
blackdevil
Бывший модератор
Сообщения: 2751
Статус: Добровольный помощник
ОС: Ubuntu (lts)

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

Сообщение blackdevil »

iУведомление от модератора
Автору - man su, man sudo. Тему переношу в "Вопрос Новичка"
Простые решения для Ubuntu-подобных систем: смотрим тут
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1100
ОС: ArchLinux

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

Сообщение Black »

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

ScriptUser    localhost=NOPASSWD:/usr/lib/ScriptName/ScriptName.sh


Frank
sudo su - это из серии "cat file | less". Работать-то оно работает, но неудобно, неэстетично и непрактично %).
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian
Контактная информация:

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

Сообщение diesel »

Black писал(а):
15.12.2009 11:20
Frank
sudo su - это из серии "cat file | less". Работать-то оно работает, но неудобно, неэстетично и непрактично %).

cat file | less бывает очень даже практично, например: cat /very/long/path | less -> ^W^W|awk '{..}' | less -> ^W^W|tr ..... ..... ....
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian
Контактная информация:

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

Сообщение Frank »

Black писал(а):
15.12.2009 11:20
Frank
sudo su - это из серии "cat file | less". Работать-то оно работает, но неудобно, неэстетично и непрактично %).

Предложи другой универсальный вариант запуска, даже когда пароль пользователя не задан ("*" в /etc/shadow).
Изображение
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1100
ОС: ArchLinux

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

Сообщение Black »

Другой вариант?
sudo -u ScriptUser ScriptName.sh
А универсального не существует, т.к. далеко не везде разрешено запускать всё подряд через sudo. Тем более дистрибутив топикстартер не указал, это может оказаться и не убунта.

Кстати, в предыдущем посте немного ошибся, подумал SomeUser должен запускать скрипт от рута. Должно быть так:

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

someuser    localhost=(ScriptUser) /usr/lib/ScriptName/ScriptName.sh

someuser - это тот, кто будет запускать скрипт через sudo.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

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

Сообщение drBatty »

Black писал(а):
16.12.2009 14:52
т.к. далеко не везде разрешено запускать всё подряд через sudo.

точнее НИГДЕ не разрешено. (кроме убунты).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Ответить