Ограниченный пользователь SSH на Ubuntu 12

Я выполняю Minecraft на сервере. Как я могу предоставить моему другу доступ SSH только к папке Minecraft (корневая папка), screen команда и некоторые порты?

2
05.08.2012, 06:21
3 ответа

Для достижения сначала 2 точек, необходимо заключить в тюрьму пользователя к желаемому каталогу, это иногда - названная игра в песочнице термина, и это связано с chroot в Linux.

Хорошая статья Хов к chroot (тюрьма) пользователь SSH может быть найдена здесь.

О третьей точке я не уверен, но можно посмотреть на то, Как Ограничить доступ к сети пользователем / группа, использующая iptables - Соответствие Владельца.

Но я не уверен, необходимо ли дать ему такие ограничения/полномочия.

1
27.01.2020, 22:23

На FreeBSD мы можем использовать тюрьму для ограничения пользователя. Но тюрьма не существует на Linux. (Это может существовать, но не часть системы.) Тюрьмой на FreeBSD является Виртуализация на уровне ОС. Мы можем достигнуть того же самого на Linux. Я предлагаю, чтобы Вы для чтения той статьи, начиная с него также упомянули некоторую программу, которая может сделать это. Я рекомендую Виртуализацию на уровне ОС для большего количества производительности:

http://wiki.openvz.org/Introduction_to_virtualization

Так в основном Вы работаете как вторая ОС, и Ваш друг будет ограничен ею и ее содержанием. Второй OS, которая будет работать, понравится выполненный в папке и Вашем друге привычка смочь выйти из него для наблюдения остальной части файла. Он будет ограничен только им. Это имеет больше преимущества перед chroot, так как может быть легко выйти из песочницы, созданной chroot.

Вы сможете получить доступ к папке Minecraft без любой проблемы. Но необходимо будет также установить экран на второй ОС, если Вы хотите, чтобы у Вашего друга был доступ к экрану, и устанавливать всю другую вещь Вы хотите, чтобы у Вашего друга был доступ.

Обычно, Ваша вторая ОС будет иметь свой определенный IP, просто необходимо сказать, что каждый раз, когда что-то соединяется с компьютером для портирования X и Y, перенаправьте его к тому IP. Таким образом, если он соединяется с Вашим компьютерным портом канавки (порт, Вы хотите, чтобы он использовал для SSH), он перенаправляется во второй ОС. То же с портом Minecraft.

Кроме того, для создания этого более легким Вам Вы могли создать символьную ссылку на папку Minecraft, таким образом, Вы делаете не всегда для движения в папку второй ОС для достижения папки Minecraft.

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

0
27.01.2020, 22:23
  • 1
    Linux имеет LXC (Контейнеры Linux), которые делают то же самое. Это является несколько новым, но уже присутствовало в Ubuntu 12.04 и может быть установлено достаточно легко. –  ams 08.07.2013, 16:02

SSH не был задуман для достижения этого. Вы, вероятно, найдете решение, что Вы думаете, безопасно, но на самом деле, вероятно, будет бэкдор где-нибудь (ssh -W, ssh -o ProxyCommand, и т.д.).

Я думаю, что лучшее решение создает VM, который имел бы доступ к папке Minecraft и сделал бы Вашему другу отчет SSH на этом VM.

Для Вас лучшим было бы использование операционной виртуализации системного уровня как lxc или OpenVZ, который в основном реализует улучшенный chroot и другие механизмы изоляции уровня ядра, почти ни с каким влиянием производительности.

0
27.01.2020, 22:23

Теги

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