Пользователь подключается по SSH к папке, но может ли nano войти в любую папку более высокого уровня?

Пользователь подключается по SSH к папке, но может ли nano войти в любую папку более высокого уровня?

Я сделал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это позволит им прочитатьлюбойфайл с помощью nano.. в любом месте системы!

Любая помощь, чтобы разрешить этому пользователю толькоэтот конкретный каталог только с использованием облака Google?

решение1

rbash не является безопасным методом ограничения пользователей оболочки. Он ограничивает только ввод данных оболочки, а не доступ к файловой системе для исполняемых файлов. В стандартной системе Linux есть множество инструментов, доступных в $PATH, для обхода этих ограничений, не только nano.

Надлежащий ограниченный доступ осуществляется путем создания среды chroot или jail, но для этого также требуется предоставить все необходимые исполняемые файлы и, возможно, даже жесткие ссылки /dev, /sys или /proc.

Вы можете изменить $PATH, включив в него только безопасные команды, но это минное поле и, по сути, также требует создания отдельной коллекции исполняемых файлов.

Ошибка, которую вы видите, скорее всего, связана с тем, что пользователю не разрешено писать в /var/www/html/directory, но не имеет отношения к фактической проблеме.

Связанный контент