Назад | Перейти на главную страницу

Невозможно загрузить файл FTP

У меня все ограничены своей домашней папкой через FTP. В каждом доме у меня есть каталог public_html, в который я не могу загружать файлы.

Я добавил своего пользователя source в группу ftp. папка public_html ...

drwxrwsr-x 2 source ftp 4096 public_html

Я не уверен, почему я не могу загружать файлы. Что я делаю не так с разрешениями?

Обновить

Журналы VSFTPD читают:

- TIMESTAMP - [pid 2] CONNECT: Client "xx.xxx.xx.xx"
- TIMESTAMP - [pid 1] [user] OK LOGIN: Client "xx.xxx.xx.xx"

Обновить

SmartFTP возвращает ошибку:

[18:36:52] SIZE index.php
[18:36:52] 550 Could not get file size.

Обновить

Умные журналы FTP

[23:15:31] TYPE I
[23:15:31] 200 Switching to Binary mode.
[23:15:31] SIZE index.php
[23:15:31] 550 Could not get file size.
[23:16:02] SIZE index.php
[23:16:02] 550 Could not get file size.
[23:16:32] SIZE index.php
[23:16:32] 550 Could not get file size.
[23:17:02] SIZE index.php
[23:17:02] 550 Could not get file size.
[23:17:32] SIZE index.php
[23:17:32] 550 Could not get file size.
[23:18:02] SIZE index.php
[23:18:02] 550 Could not get file size.
[23:18:12] DELE index.php
[23:18:12] 550 Permission denied.
[23:18:12] DELE test.php
[23:18:12] 550 Permission denied.
[23:18:19] TYPE A
[23:18:20] 200 Switching to ASCII mode

Журналы FTP просто показывают сообщения об успешном входе в систему, от имени какого пользователя и с какого IP он находится.

Разрешения public_html

drwxr-sr-x 2 source ftp 4096 2010-08-15 18:40 public_html

даже если public_html равен 777, я не могу писать на него.

Пожалуйста, проверьте, что у вас есть write_enable = YES в вашем vsftpd.conf

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

Не могли бы вы опубликовать полный журнал из smartftp и, возможно, вашего vsftpd.conf?

Я подозреваю, что ваши домашние каталоги не являются исполняемыми или читаемыми глобально, следовательно, проблема не в каталоге publc_html, а в одном из его родительских каталогов. Какая у них химическая завивка?

Это система на основе Redhat с принудительным использованием selinux? Тип:
getenforce и дайте нам знать, что там написано, если вам нужно специально разрешить пользователям FTP доступ к их домашним каталогам:
setsebool -P ftp_home_dir=1

Кроме того, можете ли вы получить доступ к домашним каталогам как пользователь? Звучит глупо, но разрешения могут быть неправильными. SSH в качестве root и попробуйте:
su - username
Он должен автоматически перейти в их домашний каталог, затем перейти в public_html и проверить с помощью
pwd и cd в каталог, если нет. Если не получается, проблемы с разрешениями.
Далее попробуйте записать файл:
echo "test" >> test.txt если не работает, опять проблемы с разрешениями.

Я знаю, вы говорите, что пробовали 777 разрешений, но ни один из двух приведенных выше примеров ls не показывает 777 (rwxrwxrwx). Конечно, в этом не должно быть необходимости, но было бы полезно исключить такую ​​возможность.

Другое дело, что вам может потребоваться добавить команду STOR в директиву cmds_allowed, если она у вас есть, а этой команды еще нет.

Достаточно полный список, вероятно, выглядит примерно так:

cmds_allowed = ABOR, CWD, LIST, MDTM, MKD, NLST, PASS, PASV, PORT, PWD, QUIT, RETR, RMD, RNFR, RNTO, SITE, SIZE, STOR, TYPE, USER, ACCT, APPE, CDUP, HELP, РЕЖИМ, NOOP, REIN, STAT, STOU, STRU, SYST

chown -R username:groupname /path/to/public_html/