Il modo migliore per farlo è creare una prigione chroot per l'utente. Riporterò la risposta qui quando torno a casa, ma ho pubblicato la soluzione sul mio blog.
link
Di seguito sono riportate la maggior parte delle istruzioni del post precedente.
In primo luogo, è necessario creare il nuovo utente in Amministratore gruppi di lavoro e assegnare loro i privilegi di accesso per SSH tramite Server Admin o assegnarli a un gruppo con privilegi di accesso SSH. Ulteriori discussioni sono di seguito.
Dal Terminale, inizia a destra.
sudo cp /etc/sshd_config /etc/sshd_config.bkup
sudo chown root /
sudo chmod 755 /
sudo mkdir -p /chroot/user/scratchpad
sudo chown -R root /chroot
sudo chown user /chroot/user/scratchpad
sudo chmod -R 755 /chroot
Ogni nuovo utente aggiunto sarà quindi qualcosa sulla falsariga di quanto segue.
sudo mkdir -p /chroot/user2/scratchpad
sudo chown root /chroot/user2
sudo chown user2 /chroot/user2/scratchpad
sudo chmod -R 755 /chroot/user2
Ogni cartella in cui il percorso della prigione chroot deve essere di proprietà di root
. Non credo che importi il gruppo in cui si trova la cartella. Quello che ho fatto sopra è stato
- backup
/etc/sshd_config
- cambia la proprietà della directory principale in
root
- modifica i permessi della directory root su 755
- crea una cartella chroot
- crea una cartella utente all'interno della cartella chroot
- crea una cartella all'interno della cartella utente che l'utente può modificare
- imposta proprietà e autorizzazioni
Ora per modificare /etc/sshd_config
al seguente.
#Subsystem sftp /usr/libexec/sftp-server
Subsystem sftp internal-sftp
Match User user
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /chroot/user
Questo crea un chroot jail che quando l'utente effettua il login li rilascia nella cartella /chroot/user
, in quella cartella c'è una cartella che possono aggiungere cose a /chroot/user/scratchpad
.
Se si desidera creare un gruppo in Amministratore gruppi di lavoro per "Utenti Chroot", quindi aggiungere i nuovi utenti creati in Workgroup Admin al gruppo, non sarà necessario continuare a modificare il file /etc/sshd_config
. Invece di quanto sopra, aggiungi quanto segue. Assicurati di aggiungere il gruppo 'Chroot Users' alla ACL di accesso SSH in Server Admin.
Match Group chrootusers
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /chroot/%u
Per verificare se funziona quanto sopra, emettere quanto segue dal terminale.
$ sftp [email protected]
Password:
sftp>