Проблема
Войдя на сервер vsftp с анонимного пользователя из ftp клиента, попробовав загрузить файл получаем ошибку с сообщением:
# ftp vsftpsrvConnected to vsftpsrv (10.182.38.176).220 (vsFTPd 2.0.5)Name (10.182.38.176:root): anonymous331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> pwd257 "/"ftp> ls227 Entering Passive Mode (10,182,38,176,29,34)150 Here comes the directory listing.drwxr-xr-x2 004096 Jan 092013 pub226 Directory send OK.ftp> put vsftpd.txtmput vsftpd.txt? y227 Entering Passive Mode (10,182,38,176,182,24)550 Permission denied.ftp>
Решение
По умолчанию анонимный пользователь не может ни загружать файл, ни создавать каталог на сервере vsftp из-за ограничений в файле конфигурации.
Примечание: анонимный пользователь не может загрузить файл в каталог vsftpd «/», сначала создайте подкаталог в качестве временного решения.
1. На сервере vsftp убедитесь, что нижняя строка существует и не закомментирована в /etc/vsftpd/vsftpd.conf:
anon_upload_enable=YES
Примечание: если вы хотите разрешить анонимному пользователю создавать каталог, то раскомментируйте также «anon_mkdir_write_enable = YES».
2. На сервере vsftp создайте подкаталог /var/ftp/ в каталоге vsftpd «/»
# mkdir /var/ftp/anon_upload
3. Затем измените владельца каталога на ftp: root и права на 0777:
# chown ftp:root /var/ftp/anon_upload/# chmod 0777 /var/ftp/anon_upload/# stat /var/ftp/anon_upload/File: `/var/ftp/anon_upload/'Size: 4096Blocks: 8IO Block: 4096 directoryDevice: fc00h/64512dInode: 719500Links: 2Access: (0777/drwxrwxrwx)Uid: ( 14/ ftp) Gid: (0/root)Access: 2014-02-25 09:27:47.000000000 -0500Modify: 2014-02-25 09:26:04.000000000 -0500Change: 2014-02-25 09:38:17.000000000 -0500
4. Перезапустите службу vsftpd на сервере vsftp:
# service vsftpd restartShutting down vsftpd:[OK]Starting vsftpd for vsftpd:[OK]
5. Войдите на сервер vsftp из ftp-клиента, загрузите файл в новый созданный каталог:
# ftp vsftpsrvConnected to vsftpsrv (10.182.38.176).220 (vsFTPd 2.0.5)Name (10.182.38.176:root): anonymous331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> pwd257 "/"ftp> ls227 Entering Passive Mode (10,182,38,176,205,23)150 Here comes the directory listing.drwxrwxrwx2 14 04096 Feb 25 14:26 anon_uploaddrwxr-xr-x2 004096 Jan 092013 pub226 Directory send OK.ftp> cd anon_upload250 Directory successfully changed.ftp> put vsftpd.txtlocal: vsftpd.txt remote: vsftpd.txt227 Entering Passive Mode (10,182,38,176,34,113)150 Ok to send data.226 File receive OK.38 bytes sent in 1.3e-05 secs (2923.08 Kbytes/sec)ftp> ls227 Entering Passive Mode (10,182,38,176,124,56)150 Here comes the directory listing.-rw-------1 14 50 38 Feb 25 14:39 vsftpd.txt226 Directory send OK.ftp>
Распространенные ошибки:
1. Если вышеуказанный шаг решения 3 не установлен, то при загрузке файла с анонимным пользователем возникнет следующая ошибка:
# ftp vsftpsrvConnected to vsftpsrv (10.182.38.176).220 (vsFTPd 2.0.5)Name (10.182.38.176:root): anonymous331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> pwd257 "/"ftp> ls227 Entering Passive Mode (10,182,38,176,159,123)150 Here comes the directory listing.drwxr-xr-x2 004096 Feb 25 14:26 anon_uploaddrwxr-xr-x2 004096 Jan 092013 pub226 Directory send OK.ftp> cd anon_upload250 Directory successfully changed.ftp> pwd257 "/anon_upload"ftp> put vsftpd.txtlocal: vsftpd.txt remote: vsftpd.txt227 Entering Passive Mode (10,182,38,176,179,248)553 Could not create file.ftp>
2. Если предоставить каталогу vsftpd «/» права 0775: «# chmod -R 0775 /var/ftp», то вход в систему анонимного пользователя не будет выполнен из соображений безопасности:
# ftp vsftpsrvConnected to vsftpsrv (10.182.38.176).220 (vsFTPd 2.0.5)Name (10.182.38.176:root): anonymous331 Please specify the password.Password:500 OOPS: vsftpd: refusing to run with writable anonymous rootLogin failed.ftp>
0 Комментарии