Запускать скрипт от имени другого пользователя без прав sudo / su - PullRequest
0 голосов
/ 16 сентября 2011

Я пытаюсь написать скрипт, чтобы он мог вызываться одним пользователем и выполняться как другой пользователь.Я подумал, что setuid мог бы сделать это, поэтому я включил setuid, используя chmod u + s, а владельцем сценария является user1.Я называю скрипт (который содержит только whoami прямо сейчас) как user2, и он по-прежнему показывает user2 вместо user1.Как я могу сделать так, чтобы это был user1.

- Мой конечный результат - я хочу, чтобы один пользователь мог вызвать этот сценарий и передать его по ssh на другой сервер и выполнить команду как другой пользователь.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2015

Похоже, вам нужен третий пользователь в вашей модели безопасности, который может запустить программу, но в остальном непривилегирован. Этот третий пользователь является предполагаемым идентификатором для ряда пользователей, поэтому они могут запускать процесс на удаленном сервере.

0 голосов
/ 16 сентября 2011

Вы можете скопировать ключ этого пользователя (id_rsa) и передать его ssh при подключении к серверу:

ssh -i user1_id_rsa user1@server

Однако это довольно плохое решение с точки зрения безопасности. Добавление ключа пользователя к авторизованным ключам на сервере, как я уже сказал в комментарии, является правильным способом сделать это, и вы должны действительно изучить это.

...