Есть ли способ ограничить пользователей SSH определенными правами доступа для определенных программ (таких как Python, Perl, Ruby, Java и т. Д.), Но также есть способ запретить им покидать свои каталоги /home/
?
Ну, если вы хотите ограничить пользователя до / home, ssh не совсем правильный инструмент. Например, / bin / bash не находится в / home. Лучшим инструментом было бы что-то вроде NFS, sshfs, ftp и т. Д. (Мы могли бы обсудить, какой из них использовать).
Вы можете создать chroot в / home, но LXC , IMO, лучший, более современный инструмент.
Другим вариантом было бы написать профиль apparmor. Это будет несколько похоже на chroot в том смысле, что вам нужно будет указать, что пользователь будет иметь и не будет иметь в профиле.
Что бы вы сделали, это сделали бы ссылку на / bin / bash, я называю это jailbash
sudo ln /bin/bash /usr/local/jailbash
Затем вы изменяете журнал входа пользователей в оболочку с bash на jailbash
sudo chsh <user>
Теперь напишите профиль устройства для jailbash:
Вот пример:
http://bodhizazen.com/aa-profiles/bodhizazen/ubuntu-10.04/usr .local.bin.jailbash
Он написан для Ubuntu 10.04, и вам нужно будет просмотреть его обновление, но он даст вам отправную точку.