Для выполнения команд на сервере Carbonio, используя SSH из Windows через `plink`, нам нужно правильно организовать передачу паролей и команд.
1. **Проблема с командой su**: Когда вы используете `sudo`, вам нужно ввести пароль для вашей учетной записи (в вашем случае для `adminm`). Когда же вы переходите к `su - zextras`, система требует пароль для пользователя `zextras`, который, как вы заметили, может не совпадать с паролем для `adminm` или `root`.
2. Чтобы избежать проблем с вводом паролей, можно использовать `sudo` с опцией `-u`, тем самым предотвратив необходимость вводить пароль для `zextras`, если ваша учетная запись (например, `adminm`) имеет соответствующие права для выполнения этой команды.
### Решение
Попробуйте использовать следующую команду в файле `zextras.txt`, чтобы избежать запроса пароля:
```bash
echo password | sudo -S zmcontrol restart
```
Это позволяет выполнить команду `zmcontrol restart` от имени текущего пользователя, который имеет права для этого действия через `sudo`.
Если вы все же хотите использовать `su`, то учтите, что вам потребуется передать пароль пользователю `zextras`, который не может быть автоматически введен в командной строке. Вместо этого лучше использовать `sudo`.
### Пример `zextras.txt`
Вот как должен выглядеть ваш файл `zextras.txt`:
```
# Перезапуск почтового сервера без изменений пользователя
echo password | sudo -S zmcontrol restart
```
### Запуск команды
Команда для подключения останется без изменений:
```bash
plink -ssh [email protected] -pw password -m zextras.txt
```
### Примечание
- Убедитесь, что пользователь `adminm` имеет права на выполнение команды `zmcontrol` через `sudo`.
- Убедитесь, что в файле `zextras.txt` формат и отступы правильные, так как они могут влиять на выполнение команд.
- Если на сервере используется `sudo` без пароля для определённых команд, вам не придётся вводить паролей в командной строке.
Эти шаги помогут вам избежать проблем с паролями, и упростят процесс перезапуска почтового сервера.