Назад | Перейти на главную страницу

Как отключить подсистему sftp для определенного пользователя или группы?

На сервере Linux работает OpenSSH,

Как я могу отключить доступ sftp (подсистема sftp) для конкретного пользователя / группы?

Пользователь должен иметь доступ только к оболочке, но не иметь доступа к sftp.

Редактировать:

Цель состоит в том, чтобы предоставить пользователям ключ ssh, который можно использовать только для выполнения одной конкретной команды (с помощью параметра command = "..." в authorized_keys). И им нельзя разрешать использовать sftp. Об этом уже позаботились при использовании опции command = "..."?

Если вы используете подсистему SFTP, в которой она порождает отдельный процесс, вы можете создать группу sftp и разрешить выполнение только sftp-server бинарный для этой группы. Это невозможно сделать с помощью нового встроенного демона sftp, который указан с помощью internal-sftp.

Если у них есть доступ к оболочке, они все равно смогут использовать scp. У вас есть конкретная цель?

редактировать

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

Обертка оболочки, например scponly, позволит только конечному пользователю использовать scp. Я изменил исходный код scponly раньше, чтобы, например, разрешить только выполнение CVS. Это также можно сделать с помощью сценария оболочки, но легче совершить ошибку, если вы не полностью понимаете объем того, что пытаетесь сделать.