Как я могу безопасно дать оболочку кому-то?

От ssh_config руководство:

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

Таким образом в Вашем примере, все хосты будут использовать User harleypig и IdentityFile ~/.ssh/personal_id_rsa.

Думать Host директивы с подстановочными знаками как нейтрализации: используйте следующие настройки, только если они еще не были установлены. Необходимо записать что-то вроде этого:

Host host1
Hostname host1.com
Host host2
Hostname host2.com
Host host*
User harleypig
IdentityFile ~/.ssh/personal_id_rsa

Можно поместить несколько шаблонов на a Host строка, если данный набор псевдонимов хоста не может соответствовать подстановочным знакам, например. Host host* more* outlier.

7
06.11.2011, 03:45
4 ответа

Одним из самого легкого/эффективного способа управлять, что может сделать пользователь, является lshell.

lshell является оболочкой, кодированной в Python, который позволяет Вам ограничить среду пользователя ограниченными наборами команд, принять решение позволить/запретить любую команду по SSH (например, SCP, SFTP, rsync, и т.д.), зарегистрировать команды пользователя, ограничение синхронизации реализации, и т.д.

4
27.01.2020, 20:17

Если Вы даете кому-то учетную запись с доступом через оболочку, они видят все читаемые миром файлы. Это включает много файлов в /etc это необходимо, чтобы система работала, включая /etc/passwd (который содержит имена пользователей, но не пароли).

Если Вы позволяете пользователю только входить в систему в chroot, они не видят файлы вне chroot. Это означает, что необходимо поместить достаточно программ, библиотек, и т.д., в chroot — все, что у пользователя должны быть доступ к и каждая зависимость их также.

Обратите внимание, что chroot только защищает доступ файла прямого доступа. Пользователь может шпионить на различных вещах, включая имена и аргументы рабочих процессов всех пользователей (если Вы не настраиваете дополнительные защиты, такие как SELinux). Если пользователь не испытывает необходимость, чтобы сделать много, можно настроить более трудные ограничения (включая препятствование тому, чтобы пользователь создал их собственные исполняемые файлы) с ограниченной оболочкой, но настроить ограниченное право оболочки очень хитро, таким образом, я не рекомендую это.

В наше время виртуальные машины являются очень дешевыми. У Вас есть много бесплатных реализаций для выбора из (Непривилегированный режим Linux, VirtualBox, VMware, KVM, OpenVZ, VServer, …), и дисковое пространство, используемое дополнительной установкой системы, минимально (и Вам, возможно, понадобился бы он для chroot так или иначе). Виртуальная машина изолирует в значительной степени все: файлы, процессы, сети, …, Если у Вас нет очень необычных ограничений, это - способ пойти.

3
27.01.2020, 20:17

Одна опция состоит в том, чтобы поместить их в ограниченную сессию оболочки, такую как rbash [колотят-r].

Немного неясно в этой точке, что, точно, Вы хотите выполнить, однако, на поверхности posix acl's для 'другого' будет относиться к новой учетной записи, а также любой acl's группы для групп, которым учетная запись принадлежит, такие как 'пользователи', например.

2
27.01.2020, 20:17
  • 1
    Хорошо... Я хочу ограничить пользователей только r/w/x файлы из их домов только и позволить выполнять 1 или более процессов и скажем, загружать только 50 МБ. Я попробовал rbash, но никаким mv и некоторыми другими функциями. –  CappY 21.03.2011, 22:26

Следует иметь в виду это части /etc требуются, чтобы быть читаемым даже непривилегированными пользователями. Если существуют вещи в /etc это не должно быть читаемо, но, у Вас есть большие проблемы, и в минимуме должен работать, полномочия Вашего распределения проверяют/устраняют программу.

Тюрьма является самым легким способом настроить драконовские ограничения. Существуют другие пути, такие как установка SElinux и принимают меры, чтобы у пользователя был очень ограниченный контекст защиты.

1
27.01.2020, 20:17

Теги

Похожие вопросы