VSFTPD, 553 Tiedoston luominen epäonnistui. – luvat?

Olen määrittänyt vsftpd Amazon EC2: een Amazon Linux AMI: n kanssa. Loin käyttäjän ja voin Yhdistä nyt onnistuneesti ftp: n kautta. Jos kuitenkin yritän ladata jotain, saan virheilmoituksen

553 Could not create file. 

Oletan, että tämä liittyy käyttöoikeuksiin, mutta en ”En tiedä siitä tarpeeksi voidaksesi korjata sen. Joten mitä minun on tehtävä, jotta voin ladata tiedostoja?

Kommentit

  • Tarkista selinux-asetukset. määritä looginen allow_ftpd_full_access asetukseksi PÄÄLLÄ
  • minulla oli tämä ongelma, koska tiedostojen kirjoittamiseen ei ollut tarpeeksi tilaa.

Vastaa

Tähän voi olla kaksi todennäköistä syytä: sinulla ei ole kirjoitus- ja suoritusoikeuksia hakemistoon, joka johtaa hakemistoon, johon yrität lähettää, tai vsftpd on määritetty sallimatta lataamista.

Edellisessä tapauksessa käytä chmod ja chown tarpeen mukaan varmistaaksesi, että käyttäjälläsi on nämä oikeudet jokaisessa välihakemistossa. Kirjoitusbitti antaa asianomaiselle käyttäjälle mahdollisuuden luoda, nimetä uudelleen tai poistaa tiedostoja hakemistossa ja muokata hakemiston määritteitä, kun taas lukubitti antaa asianomaiselle käyttäjälle mahdollisuuden luetella tiedostot hakemistossa. Koska polun välihakemistot myös vaikuttaa tähän, käyttöoikeudet on asetettava asianmukaisesti lopulliseen määränpäähän, johon aiot lähettää.

Jälkimmäisessä tapauksessa katso vsftpd.conf. write_enable on oltava totta kirjoituksen sallimiseksi (ja se on oletusarvoisesti väärä). Tällä kokoonpanotiedostolla on hyvät ohjeet osoitteessa man 5 vsftpd.conf.

Kommentit

  • Kumpikaan näistä ei näytä olevan ongelma. Yritin muuttaa kaikki arvoksi 777 (vaarallinen) ja asetukset write_enable = YES, mutta saan silti tämä hyödytön virheilmoitus.
  • Pystyitkö korjaamaan @Cerin? Jos kyllä, voitko jakaa yksityiskohdat?

Vastaa

Voisitko kokeilla tätä

chown -R ftpusername /var/www/html 

Kommentit

  • chmod 757 -R / var / www / html
  • @Hern á nEche kiitos vihjeestä, olin metsästänyt tuntikausia ja tämä lopulta korjasi ongelmani.
  • Voisitteko kertoa tarkemmin tilanteesta, onko tämä palvelimella vai paikallisesti?
  • @Hern á nEche Hei, se toimi myös minulle, mutta onko se turvallista. Se ei ollut ’ t, joka työskenteli 755: n kanssa
  • @Hern á nEche, sinun tulee antaa tämä erillinen vastaus. Ehdotuksesi toimi minulle, missä mikään muu ei toiminut.

Vastaus

Komento ftp put /path/to/local_file ei toimi vsftpd kanssa. Kokeile seuraavaa:

ftp put /path/to/local_file remote_file_name 

Voit valita minkä tahansa haluamasi nimi remote_file_name, mutta sinun on määritettävä yksi.

Kommentit

  • Haluat ehkä harkitse tarkempien vastausten lisäämistä (esimerkiksi joitain asiakirjoja, jotka tukevat ratkaisusi pätevyyttä ’ s).
  • Tämä tapahtuu, koska (ja jos) /path/to/ ei ole ’ ei ole (ja / tai ei ’ pääse FTP-istunnon kautta) palvelin. Siksi ftp put local_file toimii ilman nimenomaista kohdetta. (Vihje: tarkista rivi local: … remote: … FTP-asiakasohjelma.)
  • Se toimi minulle! 🙂

Vastaa

FTP-kotihakemisto (ftp_home_dir) on todennäköisesti pois päältä SeLinuxissa. Jos haluat nähdä ftpd -ohjaustiedostojesi tilan, anna ongelma: getsebool -a ja etsi ftpd-osio. Saatat huomata, että ftp_home_dir on pois päältä. Kytke se päälle seuraavalla komennolla: setsebool -P ftp_home_dir=1

Vahvista syötteesi käyttämällä getsebool -a ja kokeile sitten lähetystä uudelleen.

Huomaa: Ohita välimerkit

Vastaa

Minulla oli sama ongelma ja korjasin SELinuxin vaihtamisen Salli kirjoittaminen kansioon, jonka määrittelin vsftp = /var/ftp/pub käyttämään.

Nämä linkit voivat olla hyödyllisiä:

Jos et halua mennä pidemmälle SELinuxin kanssa, älä muuta sitä, joten näet oletuksena /etc/selinux/config

SELINUX=enforcing 

Suorita sitten komennot juuri root-tiedostona tai sudo:

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

kuten edellä on jo kuvattu toisessa kommentissa.

vastaus

Kokeile tätä

chmod 757 -R /var/www/html 

Vastaa

Tarkista vsftpd.conf tälle asetukselle:

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

Jos se on asetettu arvoon YES, se aiheuttaa myös 553 Could not create file.

Lähettäjä : http://www.vsftpd.beasts.org/vsftpd_conf.html

guest_enable Jos tämä asetus on käytössä, kaikki ei-anonyymit kirjautumistunnukset luokitellaan ”guest” -kirjautumisiksi. Vieraskirjautuminen määritetään uudelleen guest_username -asetus.

Oletus: EI

vastaus

Seuraava parametri antaa ftpd-käyttöoikeuden kirjoittaa mihin tahansa:

setsebool -P ftpd_full_acess=true 

Älä käytä ftpd_anon_write, ellet halua nimettömien latausten sallimista.

A nswer

Minun tapauksessani ongelma oli tiedostojärjestelmässä.

Oli välilyönti, mutta tiedostojärjestelmässä loppui inodeja df -i

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

vastaus

Toinen mahdollisuus: tarkista levykiintiöt käyttäjä / ryhmä

ext:

repquota -a 

xfs:

xfs_quota -x -c "report" /mount_point 

vastaus

Tiedostonimessä on todennäköisesti tukemattomia merkkejä

Vastaa

Minun tapauksessani ftp-käyttäjällä ei ollut oikeuksia hakemistossa, jossa se oli .

Olin juuri unohtanut cd-levyn kohdehakemistoon, johon minulla oli oikeat oikeudet.

vastaus

Minun tapauksessani (CentOS7 + vsftpd) hakemiston käyttöoikeuksien muuttaminen 775: ksi komennolla ” chmod 775 / home / u ser / ftpdir / ” ei auttanut.

Tarkistin selinux-tilan komennolla ” sestatus ”, se oli käytössä, luetteloin ftp: hen liittyvät vaihtoehdot: ” getsebool -a | grep ftp ”

ja otti käytöstä poistetun vaihtoehdon ftpd_full_access käyttöön komennolla ” setsebool ftpd_full_access kohdassa ”. Sitten se alkoi kirjoittaa tiedostoa.

Vastaa

Suorita Fedora23: lle komennot:

setsebool -P ftpd_anon_write 1 setsebool -P ftpd_full_access 1 

Se toimi minulle.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *