У меня есть сервер Ubuntu с несколькими сайтами.
Я хотел бы создать учетные записи SFTP для своих разработчиков и предоставить им доступ только к одному веб-сайту.
Например, developer_A будет иметь доступ только к website_A. Developer_b будет иметь доступ только к website_B.
Я создал пользователей, установил их домашние папки на website_A и website_B соответственно, а затем использовал chown, чтобы сделать их владельцами website_A и website_B.
Проблема в том, что разработчики по-прежнему могут перемещаться за пределы своих домашних папок и получать доступ ко всем папкам на один уровень выше (только с разрешением на чтение и ничего больше).
Есть ли способ запретить разработчикам просматривать любые другие папки за пределами их домашнего каталога? (так что для developer_A я хочу, чтобы он застрял в / html / website_A)
Если попытаться использовать Match User в sshd_confing следующим образом:
Match User developer_A
ChrootDirectory /html/website_A
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
но как только я это сделаю, я больше не смогу подключиться к серверу с этим пользователем, даже если / html принадлежит пользователю root и ни у кого больше нет прав на запись в / html.
Есть ли простой способ достичь того, что я ищу? Любая помощь приветствуется. Заранее спасибо!
Также /html/website_A
должен принадлежать root и быть недоступным для записи кем-либо еще, или вы должны chroot
к /html/
только. Это требование для chroot
и вы не можете обойти это в OpenSSH, иначе сервер будет уязвим для CVE-2009-2904.
У пользователя не может быть прав на запись в корневой каталог chroot. Период.