VSFTPD, 553 Kan bestand niet maken. – rechten?

Ik “heb vsftpd opgezet op Amazon EC2 met de Amazon Linux AMI. Ik heb een gebruiker gemaakt en kan nu met succes verbinding maken via ftp. Als ik echter iets probeer te uploaden, krijg ik de foutmelding

553 Could not create file. 

Ik neem aan dat dit te maken heeft met permissies, maar dat doe ik niet “Ik weet er niet genoeg van om het te kunnen repareren. Dus wat moet ik eigenlijk doen om bestanden te kunnen uploaden?

Reacties

  • Controleer de selinux-instellingen. stel boolean allow_ftpd_full_access in op ON
  • ik had dit probleem omdat er niet genoeg ruimte was om de bestanden te schrijven.

Answer

Er zijn twee waarschijnlijke redenen waarom dit zou kunnen gebeuren: u heeft geen schrijf- en uitvoeringsrechten voor de mappen die leiden naar de map waarnaar u probeert te uploaden, of vsftpd is zo geconfigureerd dat u niet kunt uploaden.

Gebruik in het eerste geval chmod en chown om er zeker van te zijn dat uw gebruiker deze rechten heeft op elke tussenliggende map. Met de schrijfbit kan de getroffen gebruiker bestanden in de directory maken, hernoemen of verwijderen en de attributen van de directory wijzigen, terwijl de leesbit de getroffen gebruiker in staat stelt om de bestanden in de directory weer te geven. invloed hierop hebben, moeten de rechten op de juiste manier worden ingesteld in de aanloop naar de uiteindelijke bestemming waarnaar u wilt uploaden.

Kijk in het laatste geval naar uw vsftpd.conf. write_enable moet waar zijn om schrijven toe te staan (en het is standaard false). Er is goede documentatie over dit configuratiebestand op man 5 vsftpd.conf.

Reacties

  • Geen van beide lijkt het probleem te zijn. Ik heb geprobeerd alles te wijzigen naar 777 (onveilig) en de instellingen write_enable = YES, maar ik krijg nog steeds deze nutteloze foutmelding.
  • Heeft @Cerin het kunnen repareren? Zo ja, kunt u de details delen?

Antwoord

Zou je dit kunnen proberen

chown -R ftpusername /var/www/html 

Reacties

  • chmod 757 -R / var / www / html
  • @Hern á nee bedankt voor de tip, ik was uren aan het jagen en dit loste eindelijk mijn probleem op.
  • Kun je de situatie toelichten, staat dit op de server of lokaal?
  • @Hern á nee Hey, het werkte ook voor mij, maar is het veilig. Het was niet ‘ om met 755 te werken
  • @Hern á Nee, je zou hier een apart antwoord van moeten maken. Uw suggestie werkte voor mij waar niets anders deed.

Antwoord

Het commando ftp put /path/to/local_file werkt niet met vsftpd. Probeer het volgende:

ftp put /path/to/local_file remote_file_name 

U kunt elke naam die u wenst voor de remote_file_name, maar u moet er een specificeren.

Opmerkingen

  • Misschien wilt u om te overwegen meer details aan uw antwoord toe te voegen (bijvoorbeeld documentatie die uw oplossing ‘ s validiteit ondersteunt).
  • Dit gebeurt omdat (en als) /path/to/ bestaat niet ‘ niet (en / of is niet ‘ toegankelijk via de FTP-sessie) op de server. Dit is waarom ftp put local_file werkt zonder expliciete bestemming. (Hint: controleer de local: … remote: … regel in de FTP-client.)
  • Het werkte voor mij! 🙂

Answer

De FTP-homedirectory (ftp_home_dir) is hoogstwaarschijnlijk uitgeschakeld in SeLinux. Om de status van uw ftpd controlebestanden te zien, geeft u het volgende op: getsebool -a en zoekt u de ftpd-sectie. Het kan zijn dat ftp_home_dir is uitgeschakeld. Gebruik de volgende opdracht om het in te schakelen: setsebool -P ftp_home_dir=1

Verifieer je invoer met getsebool -a, en probeer vervolgens te uploaden nog een keer.

Opmerking: negeer de leestekens

Answer

Ik had hetzelfde probleem en ik loste het wijzigen van SELinux op schrijven in de map die ik heb geconfigureerd voor gebruik door vsftp = /var/ftp/pub.

Deze links kunnen nuttig zijn:

Als je niet verder wilt gaan met je SELinux, verander het dan niet, dus je zult zien als standaard /etc/selinux/config

SELINUX=enforcing 

voer dan de opdrachten uit als root of met sudo:

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

zoals hierboven al beschreven in een andere opmerking.

Antwoord

Probeer dit

chmod 757 -R /var/www/html 

Answer

Controleer uw vsftpd.conf voor deze instelling:

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

Als het is ingesteld op YES, zal het ook de 553 Could not create file veroorzaken.

Van : http://www.vsftpd.beasts.org/vsftpd_conf.html

guest_enable Indien ingeschakeld, worden alle niet-anonieme aanmeldingen geclassificeerd als “gast” aanmeldingen. Een gastaanmelding wordt opnieuw toegewezen aan de gebruiker die is opgegeven in de guest_username instelling.

Standaard: NO

Antwoord

De volgende parameter geeft ftpd toegang om overal te schrijven:

setsebool -P ftpd_full_acess=true 

Gebruik ftpd_anon_write niet tenzij u wilt dat anonieme uploads worden toegestaan.

A nswer

In mijn geval was het probleem met het bestandssysteem.

Er was een spatie maar het bestandssysteem heeft geen inodes meer df -i

# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvdf1 3276800 3276800 0 100% /ftp-data01 

Answer

Een andere mogelijkheid: controleer de schijfquota voor de gebruiker / groep

ext:

repquota -a 

xfs:

xfs_quota -x -c "report" /mount_point 

Answer

Je hebt waarschijnlijk niet-ondersteunde tekens in de bestandsnaam

Answer

In mijn geval had de ftp-gebruiker geen permissies in de directory waarin deze zich bevond .

Ik was net vergeten naar de doeldirectory te gaan, waarvoor ik de juiste rechten had.

Antwoord

In mijn geval (CentOS7 + vsftpd) verander ik de directory permissies naar 775 met het commando ” chmod 775 / home / u ser / ftpdir / ” niet geholpen.

Ik heb de selinux-status gecontroleerd met het commando ” sestatus “, het was ingeschakeld, ik vermeld ftp-gerelateerde opties: ” getsebool -a | grep ftp ”

en de uitgeschakelde optie ftpd_full_access ingeschakeld met het commando ” setsebool ftpd_full_access op “. Toen begon het met het schrijven van het bestand.

Answer

Voor Fedora23 voer je de volgende commandos uit:

setsebool -P ftpd_anon_write 1 setsebool -P ftpd_full_access 1 

Het werkte voor mij.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *