В нашем мире есть много-много секретов ... Я, честно говоря, не думаю, что смогу выучить достаточно, чтобы знать большинство из них, и это объясняется тем простым фактом, что Linux позволяет нам делать так много, но так много вещей, что нам трудно знать их все.
На этот раз я объясню вам, как сделать что-то чрезвычайно полезное, что-то, что нужно было сделать многим сетевым или системным администраторам, и им было трудно просто не найти довольно простой способ добиться этого:
Как ограничить пользователей, подключающихся через SSH
клетка? … Черт возьми!
Да. Если по какой-либо причине мы должны предоставить SSH доступ нашему другу к нашему компьютеру (или серверу), мы всегда должны заботиться о безопасности и стабильности нашего компьютера или сервера.
Бывает, что недавно мы хотели предоставить Персею SSH-доступ к нашему серверу, но мы не можем предоставить ему какой-либо доступ, потому что у нас есть действительно важные конфигурации (мы скомпилировали много вещей, пакетов, которые мы установили индивидуально и т. Независимо от того, пытаюсь ли я внести хоть малейшее изменение в сервер, есть вероятность, что все пойдет зря, хе-хе.
Тогда, Как создать пользователя с крайне ограниченными привилегиями, настолько, что он не может даже выйти из своей клетки (дома)?
Начнем со скачивания тюремщик, инструмент, который позволит нам сделать это:
1. Сначала мы должны загрузить наш сервер JailKit.
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. Затем мы должны распаковать пакет и войти в только что появившуюся папку:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. Позже мы перешли к компиляции и установке программного обеспечения (Оставляю вам скриншот):
./configure
make
make install
4. Готово, это уже установлено. Теперь мы переходим к созданию клетки, которая будет содержать будущих пользователей, в моем случае я создал ее в: / opt / и назвал ее "тюрьмой", поэтому путь будет следующим: / opt / jail :
mkdir /opt/jail
chown root:root /opt/jail
5. Клетка уже создана, но в ней нет всех необходимых инструментов, чтобы будущие пользователи, которые будут там, могли работать без проблем. Я имею в виду, что на данный момент клетка создана, но это просто пустой ящик. Теперь мы поместим в клетку некоторые инструменты, которые понадобятся пользователям в клетке:
jk_init -v /opt/jail basicshell
jk_init -v /opt/jail editors
jk_init -v /opt/jail extendedshell
jk_init -v /opt/jail netutils
jk_init -v /opt/jail ssh
jk_init -v /opt/jail sftp
jk_init -v /opt/jail jk_lsh
6. Готово, клетка существует, и в ней уже есть инструменты для использования пользователем ... теперь нам просто нужен ... пользователь! Создадим пользователя Кира и поместим в клетку:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
Если вы заметили, что ничего похожего на скриншот не появляется, значит, вы сделали что-то не так. Оставьте здесь комментарий, и я с радостью вам помогу.
7. И вуаля, пользователь уже в клетке ... но он ТАК в клетке, что не может подключиться по SSH, потому что, когда он пытается подключиться, сервер не позволяет ему:
8. Чтобы позволить пользователю подключиться, мы должны сделать еще один шаг.
Мы должны отредактировать файл etc / passwd клетки, то есть в этом случае это будет / opt / jail / etc / passwd , в нем мы комментируем созданную нами пользовательскую строку и добавляем новую, например:
Кира: х: 1003: 1003 :: / домой / Кира: / бен / баш
То есть у нас был бы такой файл ПАРОЛЬ:
корень: х: 0: 0: корень: / корень: / Bin / Баш
#kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
Кира: х: 1003: 1003 :: / домой / Кира: / бен / баш
Обратите внимание на повторяющиеся знаки препинания и так далее, важно не пропустить ни одного
После этого пользователь сможет войти без проблем
И это все.
Инструмент, который мы используем для всего этого (тюремщик) использовать в бэкэнде корневой, что на самом деле используется почти во всех руководствах. Однако использование JailKit упрощает размещение в клетках
Если у кого-то возникла проблема или что-то не в порядке, оставьте как можно больше подробностей, я не считаю себя экспертом, но я помогу вам, чем смогу.