PDA

Bekijk Volledige Versie : proftpd probleem - permission denied



Desnar
01/12/07, 18:20
Hallo,

Ik heb een probleem bij het connecten via ftp met proftpd.
Wij hebben onlangs een CentOS systeem gekregen en na wat moeite alles geïnstalleerd gekregen.

Webmin erop gezet, proftpd na wat problemen aan de praat gekregen en uiteindelijk ook nog de users aangemaakt met webmin.
Als ik nu via ftp connect dat krijg ik alles goed te zien, de dirs staan prima, maar als ik iets wil uploaden dan zie ik :

[R] 550 mp_showdown.ff: Permission denied

We hebben alle mappen al gechmod, maar het blijft zo staan. Als ik via ssh iets upload werkt dit wel gewoon.

Ik heb al het één en ander geprobeerd en gegoogled maar de oplossing blijft uit.

Iemand een idee ?

Alvast bedankt!

/ Sander

Dit is de config, ik zie trouwens dat de user "nobody" is moet dat dan ook bij de file permission gezet worden als 'owner' ?



# This is the ProFTPD configuration file
# $Id: proftpd.conf,v 1.1 2004/02/26 17:54:30 thias Exp $

ServerName "ProFTPD server"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
ServerType standalone
DefaultServer on
AccessGrantMsg "User %u logged in."
#DisplayConnect /etc/ftpissue
#DisplayLogin /etc/ftpmotd
#DisplayGoAway /etc/ftpgoaway
DeferWelcome off

# Use this to excude users from the chroot
# DefaultRoot ~ !adm

# Use pam to authenticate (default) and be authoritative
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c

# Do not perform ident nor DNS lookups (hangs when the port is filtered)
IdentLookups off
UseReverseDNS off

# Port 21 is the standard FTP port.
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# Default to show dot files in directory listings
ListOptions "-a"

# See Configuration.html for these (here are the default values)
#MultilineRFC2228 off
RootLogin on
#LoginPasswordPrompt on
#MaxLoginAttempts 3
#MaxClientsPerHost none
AllowForeignAddress on # For FXP

# Allow to resume not only the downloads but the uploads too
AllowRetrieveRestart on
AllowStoreRestart on

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 20

# Set the user and group that the server normally runs at.
User nobody
Group ftp

# Disable sendfile by default since it breaks displaying the download speeds in
# ftptop and ftpwho
UseSendfile yes

# This is where we want to put the pid file
ScoreboardFile /var/run/proftpd.score

# Normally, we want users to do a few things.
<Global>
AllowOverwrite yes
<Limit ALL SITE_CHMOD>
AllowAll
</Limit>
RootLogin on
UseFtpUsers off
AllowForeignAddress on
HiddenStor off
</Global>

# Define the log formats
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"

# TLS
#TLSEngine on
#TLSRequired on
#TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
#TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
#TLSCipherSuite ALL:!ADH:!DES
#TLSOptions NoCertRequest
#TLSVerifyClient off
##TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
#TLSLog /var/log/proftpd/tls.log

# SQL authentication Dynamic Shared Object (DSO) loading
# See README.DSO and howto/DSO.html for more details.
#<IfModule mod_dso.c>
# LoadModule mod_sql.c
# LoadModule mod_sql_mysql.c
# LoadModule mod_sql_postgres.c
#</IfModule>

# A basic anonymous configuration, with an upload directory.
#<Anonymous ~ftp>
# User ftp
# Group ftp
# AccessGrantMsg "Anonymous login ok, restrictions apply."
#
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
#
# # Limit the maximum number of anonymous logins
# MaxClients 10 "Sorry, max %m users -- try again later"
#
# # Put the user into /pub right after login
# #DefaultChdir /pub
#
# # We want 'welcome.msg' displayed at login, '.message' displayed in
# # each newly chdired directory and tell users to read README* files.
# DisplayLogin /welcome.msg
# DisplayFirstChdir .message
# DisplayReadme README*
#
# # Some more cosmetic and not vital stuff
# DirFakeUser on ftp
# DirFakeGroup on ftp
#
# # Limit WRITE everywhere in the anonymous chroot
# <Limit WRITE SITE_CHMOD>
# DenyAll
# </Limit>

# # An upload directory that allows storing files but not retrieving
# # or creating directories.
#<Directory test/*>
#AllowOverwrite no
#<Limit READ>
#DenyAll
#</Limit>
#
#<Limit STOR>
#AllowAll
#</Limit>
#</Directory>
#
# # Don't write anonymous accesses to the system wtmp file (good idea!)
# WtmpLog off
#
# # Logging for the anonymous transfers
# ExtendedLog /var/log/proftpd/access.log WRITE,READ default
# ExtendedLog /var/log/proftpd/auth.log AUTH auth
#
#</Anonymous>



[update]

Ok het is inmiddels alweer anders, op aanraden van wat mensen vsFTPd geïnstalleerd, omdat deze makkelijker werkt EN met de users van systeem zelf.

Deze draait nu maar als ik users aanmaak krijg ik nu het volgende :

[R] 500 OOPS: cannot change directory:/home/cod4-george

Wat wel werkt qua directory is : /var/ftp

Als ik dus een user aanmaak als volgt : useradd naam -d /var/ftp
Heb ik wel toegang tot een map, MAAR dan zit ik weer met het permission denied verhaal.

Kortom het is geen probleem van proFTPd maar van CentOS of webmin ?

Heeft iemand hier ervaring mee ? Ik heb voorheen altijd met freebsd of een ander OS gewerkt zonder problemen, maar CentOS is echt vervelend.
Voor een amateur als ik welteverstaan.

Bij voorbaat dank,

bvankuik
02/12/07, 01:41
Hmm, ik heb zojuist voor de gein even vsftpd op een centos5 bak aangemaakt, daarna gebruiker aangemaakt en via die nieuwe gebruiker ingelogd. Die "cannot change directory" melding is niet te vinden bij mij.

Ik kwam na inloggen in de homedir en kon bestanden uploaden.

Desnar
02/12/07, 02:23
Hmm, ik heb zojuist voor de gein even vsftpd op een centos5 bak aangemaakt, daarna gebruiker aangemaakt en via die nieuwe gebruiker ingelogd. Die "cannot change directory" melding is niet te vinden bij mij.

Ik kwam na inloggen in de homedir en kon bestanden uploaden.

Ja ik snap het ook niet, want standaard home maakt hij ook een dir aan maar dan kan hij niet changen.
Ik vrees dat het probleem in webmin zit, want dat is het enige dat er 'extra' op staat, voorheen hebben we gewoon users aan kunnen maken en alles kunnen uppen.
Pureftp werkt trouwens wel, daarmee kunnen we als root inloggen.

Ik kan dus iig inloggen maar files uppen kan dus niet, en de dirs waarin ik wel kan schrijven kan ik niet heen. Heb ftp al verwijderd en opnieuw aangemaakt, maar dat heeft niks geholpen.

Ik denk dat ik maar eens webmin uninstall om te zien of het dan werkt, want anders weet ik het ook niet.

Herbert
02/12/07, 09:08
Inloggen als root op FTP ?
Bij ProFTP:
RootLogin off
DefaultRoot ~
Zorg dat je in webmin bij gebruikers en groepen de default dir goed hebt staan.
Nu zou het moeten lukken..

crazycoder
02/12/07, 13:48
JPureftp werkt trouwens wel, daarmee kunnen we als root inloggen.

Nooit nooit nooit maar dan ook NOOIT ftp gebruiken om als root in te loggen.

Er is een reden waarom de ontwikkelaars van proftpd dat standaard uit hebben gezet. Jij bent een amateur, ga er dus maar vanuit dat de ontwikkelaars weten waarom zij het uit hebben gezet.

Er is overigens geen enkele geldige reden te bedenken waarom root de mogelijkheid zou moeten hebben om te ftp-en. Wil je dat tegen beter weten in toch doen, gebruik dan iets als pscp, dat maakt gebruik van ssh om de verbinding op te bouwen.
Draait ook op windows (de client), via google kan je het vinden.

Normaal is dat je gebruikers aanmaak, daar kan je mee ftp-en en vervolgens als root via ssh inloggen (liever als gewone gebruiker en dan middels su root worden). Je kan dan de bestanden oppakken die je net via ftp heb geupload.


Ok het is inmiddels alweer anders, op aanraden van wat mensen vsFTPd geïnstalleerd, omdat deze makkelijker werkt EN met de users van systeem zelf.

Geen idee waar je die wijsheid vandaan haal, maar dat doet proftpd ook :)

Desnar
02/12/07, 14:53
Nooit nooit nooit maar dan ook NOOIT ftp gebruiken om als root in te loggen.

Er is een reden waarom de ontwikkelaars van proftpd dat standaard uit hebben gezet. Jij bent een amateur, ga er dus maar vanuit dat de ontwikkelaars weten waarom zij het uit hebben gezet.

Er is overigens geen enkele geldige reden te bedenken waarom root de mogelijkheid zou moeten hebben om te ftp-en. Wil je dat tegen beter weten in toch doen, gebruik dan iets als pscp, dat maakt gebruik van ssh om de verbinding op te bouwen.
Draait ook op windows (de client), via google kan je het vinden.

Normaal is dat je gebruikers aanmaak, daar kan je mee ftp-en en vervolgens als root via ssh inloggen (liever als gewone gebruiker en dan middels su root worden). Je kan dan de bestanden oppakken die je net via ftp heb geupload.


Geen idee waar je die wijsheid vandaan haal, maar dat doet proftpd ook :)

Is allemaal leuk en aardig dat je zegt wat ik NIET moet doen maar zo kom ik natuurlijk niet aan een oplossing.
Ik ben een amateur, zeker weten, maar zelfs dan zou het toch moeten werken.

Met betrekking tot root inloggen, dat was meer om aan te geven dat pureftp wel bestanden liet uploaden, proftpd niet en vsftpd ook niet. Ik wil ook helemaal niet via root inloggen, ik wil gewoon users aanmaken en kunnen uploaden, maar dat werkt niet.

En al die wijheden krijg ik aangeleverd, ik doe ook maar wat er voorgesteld wordt. Dus als je een goed idee hebt, dan hou ik mij aanbevolen.

crazycoder
02/12/07, 15:13
Is allemaal leuk en aardig dat je zegt wat ik NIET moet doen maar zo kom ik natuurlijk niet aan een oplossing.
Ik ben een amateur, zeker weten, maar zelfs dan zou het toch moeten werken.

Zelfs ik kan proftpd werkend krijgen :)

Welke rechten staan er op de directories? Toch niet groep nobody..
Moet iets als: user_name:group_name zijn.

Desnar
02/12/07, 15:38
Zelfs ik kan proftpd werkend krijgen :)

Welke rechten staan er op de directories? Toch niet groep nobody..
Moet iets als: user_name:group_name zijn.

Ja maar gebruik jij CentOS ? Ik heb voorheen met FreeBSD en ik meen Fedora gewerkt, en dat werkte allemaal prima.

Gisteren heeft de admin van een groot gameservers bedrijf er ff naar gekeken en die kwam tot de conclusie dat we een 'vage OS' hadden. Nou kan het natuurlijk zijn dat hij niet zo goed was, maar als ik zo kijk wat hij allemaal heeft draaien dan denk ik dat hij wel weet wat hij doet.

In ieder geval, proftpd is er dus af, en ik neig nu naar uninstallen van webmin want dat is het enige verschil met vorige keer, toen alles wel werkte.

User en groep op de map /var/ftp zijn : root.

Ik heb daar ook al aan gesleuteld toen proftp er nog op stond, user en group aangepast aan de users etc maar dat werkte ook niet.

Ok ik heb het inmiddels opgelost, ik kan nu met ftp inloggen in /home ipv var/ftp

Wat ik heb gedaan is :


su -
getsebool -a | grep ftp
setsebool -P ftp_home_dir on
getsebool -a | grep ftp


als resultaat krijg ik nu
[code[getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_disable_trans --> off
ftpd_is_daemon --> on
httpd_enable_ftp_server --> off
tftpd_disable_trans --> off
[/code]

Herbert
02/12/07, 16:22
CentOS is dat een vage OS volgens die admin??
Even back on topic:
Ik wil je wel helpen, heb vroeger veel ervaring met webmin en proftpd opgedaan.
PM mij even de URL en de login gegevens van webmin, kan er wel even na kijken..

Desnar
02/12/07, 16:26
CentOS is dat een vage OS volgens die admin??
Even back on topic:
Ik wil je wel helpen, heb vroeger veel ervaring met webmin en proftpd opgedaan.
PM mij even de URL en de login gegevens van webmin, kan er wel even na kijken..

Hey ik heb dus inmiddels gefixed, zie code in vorige bericht.
Kijk alles nu even na maar zie voorlopig geen problemen.

Heb een nieuwe user aangemaakt, en die heeft uploadrechten, als ik vervolgens een user naar een bestaande map maak, user : cod4, map : /home/games kan ik weer niet uploaden.

Dat komt waarschijnlijk door de chown die nog moet worden ingesteld ?

Bedankt voor het aanbod, alleen moet webmin weer even installeren, die had ik eraf gehaald om te testen waar het probleem zat.
'
[update]

chown -R cod4 /home/games

Heeft dat ook gefixed, dus nu werkt alles prima!