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

9

В системе RedHat я пытаюсь запустить программу с другим пользователем, у которого нет никакой оболочки. В / etc / passwd оболочкой является / sbin / nologin.

Я пытался:

  1. su myuser -c /home/myuser/script.sh Результат: эта учетная запись в настоящее время недоступна.

  2. С chown и setuid: chown myuser: mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh Результат: script.sh все еще выполняется как мой вошедший пользователь ( корень).

Карл
источник
Вы работаете в suроли пользователя root или непривилегированного пользователя?
Джеймс О'Горман

Ответы:

17

пытаться:

su myuser -s /bin/sh -c /home/myuser/script.sh
MRC
источник
0

эта ошибка означает, что в / etc / passwd вы установили shell / sbin / nologin или / sbin / false для пользователя myuser.

Пожалуйста, установите что-нибудь полезное, например / bin / bash


источник
Это то, что уже было опубликовано ОП; OP спрашивает, есть ли способ запустить программу, несмотря на то, что у имени пользователя нет оболочки.
Барт Сильверстрим
Да ... Это вопрос на самом деле. Я хотел бы знать, возможно ли запустить скрипт от имени другого пользователя, не устанавливая оболочку в / etc / passwd
Карл
1
Вы не можете сделать это, используя скрипт, если у пользователя есть такая оболочка.