Я пытаюсь создать каталог загрузки на моем сервере, и мне это очень трудно. Загрузки в каталог должны быть доступны для всех других пользователей системы, но учетная запись пользователя, которая будет использоваться для загрузки, не должна иметь доступа вообще (кроме загрузки, то есть), поэтому я изменяю учетную запись uploaduser только в свой каталог. Я использую FTP через SSH из соображений политики, и я у вас есть следующие настройки:
КАТАЛОГ ЗАГРУЗКИ:
/var/uploads/uploaduser/
(Я использую это, потому что учетная запись пользователя загрузки не является обычной учетной записью и не должна рассматриваться как таковая; однако я широко открыт для других предложений относительно как это сделать.)
Разрешения устанавливаются следующим образом:
/var/
drwxr-xr-x 25 root root 4096 Mar 30 10:04 var/
/var/uploads
drwxr-xr-x 3 root root 4096 Mar 23 12:22 uploads/
/var/uploads/uploaduser
drwx---r-x 3 root root 4096 Apr 4 10:14 uploaduser/
Теперь, когда я использую FileZilla или любой другой клиент для загрузки файлов в каталог uploaduser, я получаю ошибку «доступ запрещен». ОДНАКО, если я меняю владельца каталога uploaduser или меняю его права доступа, я получаю следующую ошибку:
Couldn't read packet: Connection reset by peer
Это похоже на ситуацию «проклят, если вы сделаете / проклят, если вы не сделаете».
Я получил следующую настройку в / etc / ssh / sshd_config
:
Match user uploaduser
ChrootDirectory /var/uploads/destiny/
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
Я использую VSFTP, и он отлично работает для всех других приложений, использующих FTP через SSH.
ETA: I ' m использую инстанс Amazon EC2 в качестве своего веб-сервера, и на нем работает AMI Amazon Linux.
Я просто учусь этому прямо сейчас и думаю, что у меня только что есть горб, который у вас есть приходите в.
Во-первых, ваш каталог загрузки не соответствует вашему ChrootDirectory
. Я предполагаю, что это опечатка.
Некоторые вещи, которые я узнал:
Теперь используется ChrootDirectory
...
/ var / uploads / uploaduser / content
Насколько я понимаю ...
ChrootDirectory
/ home
, они могли бы видеть все пользовательские каталоги (хотя и без прав доступа) Надеюсь, это поможет. Если кто-нибудь знает, как сделать тюрьму доступной для записи, мне было бы интересно узнать!