Запустите сеанс SSH в каком-либо другом каталоге, отличном от их домашнего каталога, и заблокируйте его там.

Запустите сеанс SSH в каком-либо другом каталоге, отличном от их домашнего каталога, и заблокируйте его там.

Я настроил SSH-сервер, на который я позволил нескольким друзьям заходить как через SSH, так и через FileZilla. Я разместил символическую ссылку на два жестких диска в их домашних каталогах, чтобы они могли получить доступ к некоторым файлам. Это оказалось слишком сложным для некоторых пользователей FileZilla (Windows), и они продолжают теряться в файловой системе.

У меня есть вопросы:

  • Можно ли заставить пользователей SSH запускаться в каком-то другом каталоге, а не в их домашнем каталоге? Добавление "cd some_dir" к их .bashrc работает только для SSH, а не для FileZilla.

  • Можно ли заблокировать пользователей в этом каталоге и его подкаталогах? Некоторые пользователи заходят в / и не могут найти дорогу обратно, хотя я продолжаю объяснять им, что они могут просто ввести "/path/to/their/dir" в поле назначения.

решение1

Я предлагаю вам изменить домашний каталог пользователя, чтобы он указывал на конечный каталог. Вы можете сделать это, отредактировав /etc/passwdнапрямую или usermod --home NEW_HOME_DIR username(это также скопирует файлы из предыдущего).

Обновлять: Что касается блокировки, то тут не так много вариантов, кроме chrootтюрьмы. Если вы установите оболочку входа в систему на /bin/rbash, она запустит ограниченную оболочку. Помимо прочего, это означает, что cdона не будет работать, как и команды, использующие абсолютные пути. Прочитайте bash(1)страницу руководства подRESTRICTED SHELLдля получения более подробной информации.

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