я сделал useradd -s /bin/rbash -d /var/www/html/directory USRNAME
и при входе по ssh с USRNAME (включая ключ ssh) он переходит к directory
и cd не возвращается. Так что работает ... но
если они используют nano /var/www/html/.env
(перед каталог) он скажет
Unable to create directory /var/www/html/directory/.local/share/nano/: Permission denied
It is required for saving/loading search history or cursor positions.
Press Enter to continue
Если они нажмут enter
это позволит им читать любой файл с нано .. в любом месте системы!
Любая помощь, позволяющая только этому пользователю этот конкретный каталог только с использованием облака Google?
rbash не является безопасным методом ограничения пользователей оболочки. Он ограничивает только вводы оболочки, но не доступ к файловой системе для исполняемых файлов. В стандартной системе Linux есть множество инструментов, доступных в $ PATH для обхода этих ограничений, не только nano.
Правильный ограниченный доступ осуществляется путем создания среды chroot или тюрьмы, но для этого также требуется предоставление всех необходимых исполняемых файлов и, возможно, даже жестких ссылок / dev, / sys или / proc.
Вы можете изменить $ PATH, чтобы включить только безопасные команды, но это минное поле и, по сути, также требует от вас создания отдельной коллекции исполняемых файлов.
Ошибка, которую вы видите, вероятно, связана с тем, что пользователю не разрешено писать в каталог / var / www / html /, но не связана с реальной проблемой.