Я разрешаю другу локальную учетную запись на моей машине, исключительно для SCP. Могу ли я указать оболочку его учетной записи как /bin/true
или каким-либо иным образом ограничить учетную запись, но при этом разрешить SCP?
Я разрешаю другу локальную учетную запись на моей машине, исключительно для SCP. Могу ли я указать оболочку его учетной записи как /bin/true
или каким-либо иным образом ограничить учетную запись, но при этом разрешить SCP?
Ответы:
Вы можете установить оболочку этого пользователя на 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
или другая программа, которая ничего не делает, ни scp, ни sftp работать не будут. Для обеих команд демон SSH запускает команду оболочки, которая запускает выделенный серверный процесс ( scp -f
или sftp-server
). Он нуждается в оболочке в стиле Борна или, по крайней мере, в достаточно близком приближении (например, rssh
которое пропускает только эти несколько команд).
Нет, ты не Как отметил Жиль, rssh очень хорошо работает в этом направлении, как и scponly . Смотрите также обсуждение в этом связанном вопросе .
/bin/false
не будут работать, как и chmod 644 ksh .