
Я настроил SFTP/SSH таким образом, что пользователь может получить доступ только put
к своему домашнему каталогу, однако он по-прежнему может получить доступ cd
ко всем остальным каталогам и get
файлам, которые видит.
Как это предотвратить?
РЕДАКТИРОВАТЬ:
Мой sshd_config: http://pastebin.com/jk7TCRZr
Мне удалось заблокировать /var/www, но они по-прежнему могут просматривать папки других пользователей.
ПРАВКА 2:
Эммм... Я только что понял, что я сделал не так... Ха-ха.
С другой стороны, как мне сделать папку public_html той папкой, из которой Apache попытается загрузить данные?
решение1
Вам следует настроить sftp chroot.
решение2
Или вы можете сделать это с помощью таких инструментов, какhttp://olivier.sessink.nl/jailkit/
решение3
Зафиксированный.
Я сделал следующее (возможно, мне не стоило этого делать, но мне это помогло. Это все, что мне нужно):
Match user myUser
ChrootDirectory /var/www/myUser
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
В /var/www/myUser я создал dir public_html. После этого я включил мод userdir apache, вот так:
sudo a2enmod userdir
sudo service apache2 restart
И все просто... Работает!
(конечно, это имеет очевидный недостаток: теперь нам придется добавлять тильду к именам пользователей)