
Настроил FTP-сервер и пользователя, но, похоже, я не могу загрузить или отредактировать ни один файл.
Хотя пользователь заполнил права 777. Я даже не могу загружать файлы в корневую папку пользователя.
Серверная ОС: Ubuntu
Клиентская ОС windows
FTP-сервер/Клиент: fileZila
Бревно:
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Server does not support non-ASCII characters.
Status: Logged in
Status: Starting download of /var/www/html/wp/staged/wp-content/themes/Newspaper/Newspaper/woocommerce/single-product.php
Status: File transfer successful, transferred 1,193 bytes in 1 second
Status: Starting download of /var/www/html/wp/staged/wp-content/themes/Newspaper/Newspaper/woocommerce/single-product.php
Status: File transfer successful, transferred 1,193 bytes in 1 second
Status: Starting upload of C:\Users\User\AppData\Local\Temp\fz3temp-2\single-product.php
Command: PASV
Response: 227 Entering Passive Mode (165,227,173,119,117,244).
Command: STOR single-product.php
Response: 550 Permission denied.
Error: Critical file transfer error
Разрешение файла:
Группы и пользователи:
vsftpd.conf:
# Standalone mode
listen=YES
max_clients=200
max_per_ip=4
# Access rights
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# Security
anon_world_readable_only=NO
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000
# Features
xferlog_enable=YES
ls_recurse_enable=NO
ascii_download_enable=NO
async_abor_enable=YES
# Performance
one_process_model=YES
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
anon_max_rate=50000
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
#Userlist
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
vsftpd.разрешенные_пользователи:
ftpuser
Есть идеи, что здесь происходит?
Обновление: я изменил права доступа к папке, в которой находится файл, на 777, но это все равно не работает.
бревно:
Status: Logged in
Status: Starting download of /var/www/html/wp/staged/wp-content/themes/Newspaper/Newspaper/woocommerce/single-product.php
Status: File transfer successful, transferred 1,193 bytes in 1 second
Status: Starting upload of C:\Users\User\AppData\Local\Temp\fz3temp-2\single-product.php
Command: PASV
Response: 227 Entering Passive Mode (*xxxxxxxxxxxx*).
Command: STOR single-product.php
Response: 550 Permission denied.
Error: Critical file transfer error
Status: Retrieving directory listing of "/var/www/html/wp/staged/wp-content/themes/Newspaper/Newspaper"...
Status: Directory listing of "/var/www/html/wp/staged/wp-content/themes/Newspaper/Newspaper" successful
Status: Disconnected from server
Status: Connection closed by server
решение1
Ваш сервер, похоже, был широко открыт. Вы имели
anonymous_enable=YES
local_enable=NO
так что любой может подключиться к FTP-серверу без реальной проверки пароля, используя имена пользователей ftp
или anonymous
, и получить доступ к любым файлам или каталогам, настроенным с помощью учетной записи пользователя ftp_username
(не указано, по умолчанию ftp
). Такие анонимные входы также контролируются более строго, чем обычные с аутентификацией по паролю.
Загрузка могла не удаться, потому что vsftpd
анонимные пользователи не могли перезаписывать существующие файлы: Я думаю, вам пришлось бы явно удалить или переименовать старый файл, прежде чем загружать новый на его место как анонимный пользователь. Но поскольку у вас было
anon_other_write_enable=NO
он бы не позволил вам этого сделать.
Если вы используете FTP-сервер для обслуживания сайта, вам наверняка захочется установить anonymous_enable
значения NO и local_enable
YES, чтобы запретить неавторизованный доступ, иначе любой, у кого есть FTP-клиент, сможет легко испортить ваш сайт.
(И аутентификация без шифрования - этотак(в прошлом тысячелетии: вам придется настроить FTP через TLS, если только вы не разрешаете доступ по FTP только из защищенных частных сетей!)
решение2
Я удалил vsftpd с помощью:
sudo apt-get purge vsfpt
Затем настройте его, используя это простое руководство: Как настроить vsftpd
Я до сих пор не знаю, в чем была проблема, но теперь все работает.