Newsgroup: it.comp.os.linux.sys
Titolo: ftp e chroot

Ciao ragazzi
sto configurando il mio server ftp ma non riesco a capire una cosa:
nella dir /home/ftp/
ho inserito tutte le directory di cui ho bisogno per far in modo
che il client riesca ad utilizzare i comandi ftp.
la stessa directory e' stata impostata per tutti gli utenti
ftp come direcotory home anche se la directory di "arrivo"
dopo il login e' una sua directory figlia del tipo
/home/ftp/utente
ora... come faccio a fare in modo che un utente una volta
nella sua direcotry /home/ftp/utente non possa
fare un
cd ..
insomma, non possa tornare nella directory radice,
ma possa solo andare da /home/ftp/utente in avanti ?
avevo pensato che posso fare per ogni utente ftp
una directory radice (con chroot) ma a quel punto dovrei copiare
per ogni utente nella sua dir tutti le directory di sistema,
e cmq le avrebbe visualizzare, e non mi sembra bello...
ultima cosa: se mi connetto in locale all'ftp non ho problemi,
(mi fa attendere un po' prima di loggarmi... ma dovrebbe essere
un problema di dns), invece da una macchina host ricevo sempre:
"connessione chiusa dall'host remoto". i miei log non mi
dicono nulla e  i miei file hosts.* sono tutti vuoti  :o(
potete aiutarmi ?
grazie mille
Rob
-- 
Posted from 
mail5.galactica.it
 [212.41.208.22] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ciao,
Non so quale ftp server usi, ma ti consiglio il proftpd.
Ecco un esempio di file di configurazione per fare quello che vuoi tu.
Scrivi quello che non capisci e te lo spiego.
    MadMax.
ServerName      "TUO SERVER"
ServerType      standalone
ServerAdmin     ro...@XXXXX.net
ServerIdent     on      "FTP Server pronto"
DeferWelcome      off
DefaultServer     on
Port        21
Umask       022
User        nobody
Group       nobody
<Directory /*>
  AllowOverwrite    on
  <Limit RMD RNFR RNTO DELE XRMD>
       DenyAll
  </Limit>
</Directory>
TimeoutLogin         120
TimeoutIdle          600
TimeoutNoTransfer    900
TimeoutStalled      3600
PathAllowFilter ".*[a-zA-Z0-9_\.\-]+$"
DenyFilter  ([\*\./\?]{3})|(%)
DenyFilter \*.*/
DenyFilter '%'
PathDenyFilter "(\.ftpaccess)|(\.htaccess)$"
DirFakeGroup  On
DirFakeUser   On
#MaxClientsPerUser 2 "Il numero massimo di %m connessioni per utente è
%m stato superato!!"
MaxInstances                   30
UseReverseDNS        off
IdentLookups         off
TimeoutStalled                  300
ScoreboardPath       /var/run/proftpd
TransferLog          /var/log/proftpd.xfer_log
LogFormat            default "%h %l %u %t \"%r\" %s %b"
ExtendedLog     /usr/local/proftpd/var/all.log    ALL
ExtendedLog     /usr/local/proftpd/var/auth.log    auth
RequireValidShell               yes
DefaultRoot ~/vhosts/www
MaxLoginAttempts                3
<Directory ~/vhosts>
<Limit RMD RNFR RNTO DELE XRMD STOR WRITE>
      DenyAll
</Limit>
</Directory>
<Directory ~/vhosts/www/htdocs/*>
<Limit RMD RNFR RNTO DELE XRMD STOR WRITE>
      AllowAll
</Limit>
</Directory>
Quotas on
QuotaBlockSize 1024
QuotaBlockName kb
QuotaType hard
QuotaCalc on
LDAPServer 
ds1.XXXXX.net
LDAPDNInfo uid=root,o=XXXXX.net secret
LDAPDoAuth on "o=XXXXX.net"


 dicono nulla e  i miei file hosts.* sono tutti vuoti  :o(
Appunto, e' proprio questo il tuo problema: leggi la man page di
hosts_access in modo da capire come configurare i tcp wrappers.
In definitiva:
man ftpaccess
man 5 hosts_access
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 man 5 hosts_access
guarda. le pagine man sono chiarissime a proposito
hosts.deny  indicata gli host che NON devono avere accesso al sistema
hosts.allow  indicata gli host che POSSONO avere accesso al sistema
la cosa strana infatti e' che io non utilizzo nessuno tcp wrapped
in quandoentrambi i file sono vuoti, e quindi ogni host e' ammesso
ad usare tutti i servizi disponibili. o sbaglio ?
uso slack 7 con server ftp  wu.ftp
Ciao e grazie
Rob

 uso slack 7 con server ftp  wu.ftp
conosco poco slackware,comunque per toglierti il dubbio prova a far
partire il server come standalone (opzione -S) dopo aver commentato
in /etc/inetd.conf la riga ftpd.
Controlla pure che in ftphost non ci sia qualche direttiva che 
autorizza solo il localhost all'uso del server.
in standalone dovrebbe partire,sempre che il pacchetto non sia stato
compilato senza il supporto al suddetto..Non so che versione usi ma 
ti consiglio di upgradare all'ultima disponibile (2.6.1).
Tra l'altro mi pare di ricordare che c'e' in giro una patch che consente
(dopo aver ricompilato ovviamente) l'uso delle LibWrap senza passare
da inetd.
-- 
Saluti
Leonardo
GnuPG Key fingerprint = 52EF E2B2 7FF0 BA8B 32F0  9FE7 15D6 2A3E 4C01 B400

 uso slack 7 con server ftp  wu.ftp
Teoricamente dovrebbe essere cosi' ma non proprio:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=> CLIP HERE < =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ACCESS CONTROL FILES
       The access control software consults two files. The search
       stops at the first match:
       <B7>      Access will be granted when a (daemon,client)  pair
              matches an entry in the /etc/hosts.allow file.
       <B7>      Otherwise,  access  will  be  denied  when  a (dae<AD>
              mon,client)  pair   matches   an   entry   in   the
              /etc/hosts.deny file.
       <B7>      Otherwise, access will be granted.
       A  non-existing  access  control  file is treated as if it
       were an empty file. Thus, access control can be turned off
       by providing no access control files.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=> CLIP HERE < =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
letto cosa dice nell'ultimo paragrafo? Vuol dire che se il file e'
vuoto non c'e' nessun controllo sugli accessi. E comunque sia, se dice
"connection closed by remote host" vuol dire inequivocabilmente che la
connessione non e' stata accettata dal daemon quindi o devi fornire una
coppia di hosts.allow/deny valida oppure ricontrollare il file
ftpaccess.
