VSFTPD, 553 Не удалось создать файл. - разрешения?

Я установил VSFTPD на Amazon EC2 с AMI Amazon Linux. Я создал пользователя и теперь могу успешно подключиться через ftp. Однако, если я пытаюсь загрузить что-то, я получаю сообщение об ошибке «553 Не удалось создать файл».

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

27 голосов | спросил user1995 27 Maypm12 2012, 22:29:03

9 ответов


15

Есть две вероятные причины, по которым это может произойти - у вас нет прав на запись и выполнение в каталогах, ведущих к каталогу, который вы пытаетесь загрузить, или vsftpd настроен не для того, чтобы вы могли загружать.

В первом случае используйте chmod и chown, чтобы убедиться, что ваш пользователь имеет эти разрешения для каждого промежуточного каталога. Бит записи позволяет затронутому пользователю создавать, переименовывать или удалять файлы в каталоге и изменять атрибуты каталога, в то время как бит чтения позволяет затронутому пользователю перечислить файлы в каталоге. Поскольку промежуточные каталоги на пути также влияют на это, разрешения должны быть установлены соответствующим образом, вплоть до конечного пункта назначения, который вы собираетесь загрузить.

В последнем случае посмотрите на свой vsftpd.conf. write_enable должен быть правдой, чтобы разрешить запись (и по умолчанию это false). В этом файле конфигурации есть хорошая документация по адресу man 5 vsftpd.conf.

ответил Chris Down 28 Mayam12 2012, 03:05:09
28

Не могли бы вы попробовать это

chown -R ftpusername /var/www/html
ответил Tacettin Özbölük 3 PM00000060000003231 2013, 18:12:32
10

Команда ftp put /path/to/local_file не работает с vsftpd. Попробуйте следующее:

ftp put /path/to/local_file remote_file_name 

Вы можете выбрать любое имя для remote_file_name, но вы должны указать его.

ответил Victor 29 J0000006Europe/Moscow 2014, 06:52:04
2

Домашний каталог FTP (ftp_home_dir) скорее всего отключен в SeLinux. Чтобы просмотреть статус управляющих файлов ftpd, введите: getsebool -a и найдите раздел ftpd. Вы можете заметить, что ftp_home_dir отключен. Чтобы включить его, используйте следующую команду: setsebool -P ftp_home_dir=1

Подтвердите свой ввод, используя getsebool -a, затем повторите попытку загрузки.

Примечание: Игнорировать знаки препинания

ответил Bright Sunshine 14 +03002015-10-14T07:29:55+03:00312015bEurope/MoscowWed, 14 Oct 2015 07:29:55 +0300 2015, 07:29:55
0

У меня была такая же проблема и исправлено изменение SELinux, чтобы разрешить запись в папке, которую я настроил для использования vsftp = /var/ftp/pub.

Эти ссылки могут быть полезны:

Если вы не хотите идти дальше с помощью SELinux, не меняйте его, поэтому вы увидите по умолчанию /etc/selinux/config

SELINUX=enforcing

, то просто запустите команды как root или с помощью sudo:

sudo setsebool -P ftpd_anon_write 1
sudo setsebool -P ftpd_full_access 1

, как уже описано выше в других комментариях.

ответил Eduardo Cerqueira 5 MonEurope/Moscow2016-12-05T23:54:09+03:00Europe/Moscow12bEurope/MoscowMon, 05 Dec 2016 23:54:09 +0300 2016, 23:54:09
0

Другая возможность: проверить дисковые квоты для пользователя /группы

ext:

repquota -a

xfs:

xfs_quota -x -c 'report' /mount_point
ответил mveroone 2 J0000006Europe/Moscow 2016, 12:32:41
0

Проверьте этот vsftpd.conf для этого параметра:

guest_enable=YES # set it to NO then restart the vsftpd service.

Если он установлен в YES, он также вызовет 553 Could not create file.

От: http://www.vsftpd.beasts.org/vsftpd_conf.html

  

guest_enable Если включено, все неанонимные логины   классифицируются как «гостевые» логины. Вход гостя переназначается пользователю   указанном в параметре guest_username.

     

По умолчанию: NO

ответил Henry Parra 11 AMpWed, 11 Apr 2018 11:45:40 +030045Wednesday 2018, 11:45:40
0

Попробуйте это

chmod 757 -R /var/www/html
ответил Hernán Eche 25 PMpWed, 25 Apr 2018 16:38:46 +030038Wednesday 2018, 16:38:46
-1

Для Fedora23 выполните команды:

setsebool -P ftpd_anon_write 1 
setsebool -P ftpd_full_access 1

Это сработало для меня.

ответил Prosenjit Paul 20 Maypm16 2016, 14:58:36

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132