3

Я делаю следующее много раз в день

Я захожу на сервер через ssh как user1 ,
Затем я делаю su - чтобы стать root ,
тогда я делаю su --login user2 чтобы стать user2

Есть ли способ сказать su перейти к user2 непосредственно от user1?

Замечания:
user2 1 не имеет пароля. user2 называется по-разному в разное время. (apache, liferay, solr, ftp, ...)

Заметка 2:
user1 не пользуется доверием с sudo , это универсальная учетная запись, используемая в основном для доступа к журналам. У него даже нет пароля, доступ предоставляется только с помощью sshkey.

Заметка 3:
Никакие решения, которые означают, что любая модификация удаленного компьютера не допускается. У меня есть 30+ серверов, которые я администрирую.

1 Если вам интересно, это пользователь, под которым запускается приложение (tomcat, apache, jetty или подобное)

3 ответа3

3

Это будет работать:

su -c "su - user2"
3

Вы можете использовать «sudo» вместо «su».

Разрешить user1 запускать команду оболочки (/bin/bash?) как user2 (в файле sudoers - отредактируйте с помощью visudo):

user1 ALL=user2 /bin/bash

Затем вы можете (как user1) сделать:

$ sudo -u user2 /bin/bash
0

Я уверен, что вы можете выполнить:

sudo su user2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .