在Ubuntu的GNU / Linux 12.04,我有一个用户johndoe,其为部分sftponly基团,设立sftp到一个chroot使用监狱
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Run Code Online (Sandbox Code Playgroud)
在/etc/ssh/ssh_config. 用户home目录的所有组件都是 -root拥有的目录,任何其他用户或组都不能写入,如man sshd_config(下ChrootDirectory)中所述。在他的chroot监狱里,有一个可写的目录files:
sudo groupadd sftponly
sudo mkdir -p /home/sftponly/johndoe/files
sudo useradd -d /home/sftponly/johndoe -g sftponly -s /usr/sbin/nologin johndoe
sudo chmod go-w /home/sftponly/{,johndoe}
sudo chown johndoe:sftponly /home/sftponly/johndoe/files
sudo chmod ug+rwX /home/sftponly/johndoe/files
Run Code Online (Sandbox Code Playgroud)
(将外壳设置/bin/false为ssh或 都不起作用sftp。随着nologin外壳 …