Возможно ли разрешить пользователям с nologin shell выполнять определенную команду?

  • 28 августа 2023 г. 14:56
Ответы на вопрос 3
Да, возможно разрешить пользователям с nologin shell выполнять определенные команды при использовании SSH.

Для настройки SSH таким образом, вы можете внести следующие изменения в файл sshd_config:

1. Откройте файл sshd_config с помощью любого текстового редактора:

```
sudo vi /etc/ssh/sshd_config
```

2. Разрешите выполнение конкретной команды для пользователя user1, добавив следующие строки в конец файла:

```
Match User user1
    ForceCommand ssh -i /path/to/user2_rsa -o "StrictHostKeyChecking=no" user2@$ip_address "bash -s" <<- 'EOF'
    /path/to/server1.sh $param1 $param2 $param3
EOF
```

Обратите внимание, что вместо `/path/to/user2_rsa` вы должны указать путь до приватного ключа пользователя user2, а вместо `$ip_address`, `$param1`, `$param2` и `$param3` должны быть подставлены соответствующие значения.

3. Сохраните и закройте файл sshd_config.

4. Перезапустите службу SSH для применения изменений:

```
sudo service ssh restart
```

Теперь пользователь user1 сможет выполнить указанную команду при подключении по SSH с использованием ключа пользователя user2_rsa. Он не сможет выполнять другие команды или получать доступ к оболочке.

Пожалуйста, убедитесь, что вы правильно настроили путь к файлу приватного ключа и правильно передали параметры `$param1`, `$param2` и `$param3` в вашем сценарии `server1.sh`.
sudo -i -u user_name команда 
 Запустите команду от определенного пользователя без необходимости повторной авторизации. Вам нужно поместить эту команду в скрипт и разрешить запуск этого скрипта с помощью sudo для другого пользователя, у которого есть разрешение на вход через SSH.
Похожие вопросы