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

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

11.12.2015 08:19:25 Просмотров 24 Источник

Есть пользователь test и test1. Оба с обычными правами. Я работаю с пользователем test, известно что test1 не имеет пароля, и именно от него я хочу выполнить команду. Попробовал сделать так:

su test1 -c whoami

Но оно хочет какой-то пароль, хотя его нет. Возможно есть другие решения? Sudo не вариант так как пользователь test не прописан в файле sudoers.

OS: FreeBSD 8.1 amd64
У вопроса есть решение - Посмотреть?

https://ru.stackoverflow.com/questions/473607/%d0%92%d1%8b%d0%bf%d0%be%d0%bb%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%be%d1%82-%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%b3%d0%be-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d0%b5%d0%bb%d1%8f#comment533898_473607
Пробовал, дает ошибку: Сбой при проверке подлинности. Если запускать от рута то все работает, но суть в том что у меня обычный пользователь.

Ответы - Выполнение команды от другого пользователя / Выполнение команды от другого пользователя

aleksandr barakin

11.12.2015 10:05:47

нет пароля — значит, под именем этого пользователя нельзя аутентифицироваться, что и требуется при использовании программы su (у суперпользователя есть привилегия аутентифицироваться с помощью этой программы без использования пароля пользователя).

мне известно как минимум два варианта решения:

  1. присвойте пароль этому пользователю. от имени суперпользователя:

    # passwd test1
    
  2. если программа sudo установлена, добавьте в /etc/sudoers, например, такую строку:

    test ALL = (test1) ALL
    

    это даст возможность пользователю test выполнять любые программы/команды от имени пользователя test1:

    $ sudo -u test1 whoami
    

    запрашиваться при этом будет пароль пользователя test.

    можно сделать и без запроса пароля, добавив директиву NOPASSWD: в приведённую выше строку:

    test ALL = (test1) NOPASSWD: ALL
    
Закрыть X