SSH SFTP 僅使用 chroot 和指令

SSH SFTP 僅使用 chroot 和指令

我嘗試限制僅使用一個使用者帳戶存取 SFTP。登入後應該會執行一些命令。

Match group stream
   #ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand sudo /etc/mountsftp.sh
   #ForceCommand internal-sftp

這工作正常,我的命令腳本:

#!/bin/bash
now=$(date +"%T,%D")
echo "Login : $now" >> /login.log
sshfs usrl@server:/usbshare1-2 /media/pp -o reconnect -o allow_other -o workaround=all
mount --bind /media/pp/Serien /home/stream/Serien
J=$HOME
#
#exit by calling a shell to open for the ssh session
#internal-sftp
#cp -v /usr/lib/openssh/sftp-server $J/bin/
chroot $J /usr/lib/openssh/sftp-server

被執行。但是在 chroot 後,無法啟動 sftp 伺服器,因為在 chroot 後找不到它。但我需要 Chroot 以及這個 sftp 伺服器。有什麼辦法可以做到這一點嗎?

PS:用於掛載的 Autofs 不是選項,因為所有內容都在沒有所需核心模組的虛擬伺服器上執行。

答案1

sftp-server將二進位檔案及其所有依賴項 ( )複製ldd /usr/lib/openssh/sftp-server到 chroot,然後您就可以執行它了。

相關內容