Как можно получить статус сервера Carbonio на Linux, используя командную строку Windows?

Здравствуйте! <br/> Я пытаюсь установить подключение через SSH с помощью следующей команды: <br/> <pre><code>plink -ssh [email protected] -pw password -m zextras.txt</code></pre> <br/> Данные для выполнения подтягиваются из файла zextras.txt, который содержит следующую строку: <br/> echo password | sudo -S \ <i>\это работает</i> <br/> На этом этапе мне нужно выполнить команду su - zextras, но система запрашивает пароль, который, кажется, не подходит. Я пробовал использовать пароль root, но он не сработал, хотя у меня пароль для всех аккаунтов один и тот же. В чем может быть проблема? <br/> При ручном входе команда <br/> sudo su - zextras <br/> запрашивает пароль всего один раз, и при использовании пароля от root вход в систему под учетной записью zextras проходит успешно. <br/><br/> Основная цель данного процесса — перезапустить почтовый сервер с помощью команды zmcontrol restart через файл команд. <br/> (Не обращайте внимания на странные обстоятельства. 0_о)
  • 30 октября 2024 г. 7:32
Ответы на вопрос 2
Для выполнения команд на сервере 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` без пароля для определённых команд, вам не придётся вводить паролей в командной строке.

Эти шаги помогут вам избежать проблем с паролями, и упростят процесс перезапуска почтового сервера.
Подключись к серверу, введи cmd: 

sudo visudo

Дальше добавь строку:

adminm ALL=(zextras) NOPASSWD: ALL

теперь пароль запрашивать не будет.
Похожие вопросы