Вам нужна оболочка для SCP?

33

Я разрешаю другу локальную учетную запись на моей машине, исключительно для SCP. Могу ли я указать оболочку его учетной записи как /bin/trueили каким-либо иным образом ограничить учетную запись, но при этом разрешить SCP?

Жиль "ТАК - перестань быть злым"
источник

Ответы:

39

Вы можете установить оболочку этого пользователя на rsshили scponly, которые предназначены именно для этой цели:

rssh - это ограниченная оболочка для использования с OpenSSH, позволяющая использовать только scp и / или sftp. Теперь он также включает поддержку rdist, rsync и cvs.

scponly - это альтернативная «оболочка» (своего рода) для системных администраторов, которые хотели бы предоставить удаленным пользователям доступ для чтения и записи локальных файлов без предоставления привилегий удаленного выполнения.

Когда вы запускаете scp, демон OpenSSH запускает scpпроцесс с -fопцией. Когда вы запускаете sftp, демон OpenSSH запускает sftp-serverпроцесс. В любом случае подпроцесс выполняется через пользовательскую оболочку, поэтому оболочка должна поддерживать как минимум эти команды с использованием синтаксиса, подобного Bourne. Подойдет любая оболочка в стиле Bourne, как и csh (я думаю, что ее правила цитирования достаточно совместимы для sshdиспользования). Rssh и scponly позволяют эти команды и ничего больше. /bin/trueне будет даже запускать эти команды.

Жиль "ТАК - перестань быть злым"
источник
Так значит ли это, что / bin / false или / bin / true не будут работать - или разрешить только sftp?
Дэнни Стейпл
2
@DannyStaple Если установлена ​​оболочка пользователя /bin/falseили другая программа, которая ничего не делает, ни scp, ни sftp работать не будут. Для обеих команд демон SSH запускает команду оболочки, которая запускает выделенный серверный процесс ( scp -fили sftp-server). Он нуждается в оболочке в стиле Борна или, по крайней мере, в достаточно близком приближении (например, rsshкоторое пропускает только эти несколько команд).
Жиль "ТАК - перестань быть злым"