table of contents
FTPD(8) | System Manager's Manual | FTPD(8) |
NOME¶
ftpd
— Server
Internet File Transfer Protocol
SINTASSI¶
ftpd
[-dlADq
]
[-T
maxtimeout]
[-t
timeout]
[-a
login-name]
DESCRIZIONE¶
Ftpd
è il processo del server
Internet File Transfer Protocol. Il server usa il protocollo TCP e ascolta
la porta specificata nelle specifiche del servizio “ftp”;
vedere services(5).
Opzioni disponibili:
-d
- L'informazione di debug è scritta su syslog usando LOG_FTP.
-l
- Ciascune sezione ftp(1) che abbia successo o fallisca è oggata usando syslog con un servizio di LOG_FTP. Se questa opzione è specificata due volte, anche le operazioni di, recupero (get), archiviazione (put), aggiunta, cancellazione, creazione di directory, rimozione di directory e rinominazione e i loro argomenti nomi di file sono loggate.
-A
- E' permesso solo l'autenticazione anonima.
-D
- ftpd entra nel modo demone. Ciò permette a ftpd di funzionare senza inetd.
-q
- Modo silenzioso. Al client non viene fornita alcuna informazione sulla versione di ftpd.
-T
- Un client può anche richiedere un differente periodo di timeout; il
massimo periodo permesso può essere impostato in
timeout secondi con l'opzione
-T
. Il limite di default è di 2 ore. -t
- Il periodo di inattività di timeout è impostato in timeout secondi (il default è di 15 minuti).
-a
- Dà anonymous e altri login-name (anonymous e ftpd funzioneranno ancora).
Il file /etc/nologin può essere
usato per disabilitare l'accesso ftp. Se il file esiste,
ftpd
lo visualizza ed esce. Se il file
/etc/ftpwelcome esiste, ftpd
lo stampa prima di emettere il messaggio “ready”. Se il file
/etc/motd esiste, ftpd
lo
stampa dopo un login avvenuto con successo.
Il server ftp attualmente supporta le seguenti richieste ftp. Il caso delle richieste è ignorato.
Request | Description |
ABOR | abort previous command |
ACCT | specify account (ignored) |
ALLO | allocate storage (vacuously) |
APPE | append to a file |
CDUP | change to parent of current working directory |
CWD | change working directory |
DELE | delete a file |
HELP | give help information |
LIST | give list files in a directory (“ls
-lgA ”) |
MKD | make a directory |
MDTM | show last modification time of file |
MODE | specify data transfer mode |
NLST | give name list of files in directory |
NOOP | do nothing |
PASS | specify password |
PASV | prepare for server-to-server transfer |
PORT | specify data connection port |
PWD | print the current working directory |
QUIT | terminate session |
REST | restart incomplete transfer |
RETR | retrieve a file |
RMD | remove a directory |
RNFR | specify rename-from file name |
RNTO | specify rename-to file name |
SITE | non-standard commands (see next section) |
SIZE | return size of file |
STAT | return status of server |
STOR | store a file |
STOU | store a file with a unique name |
STRU | specify data transfer structure |
SYST | show operating system type of server system |
TYPE | specify data transfer type |
USER | specify user name |
XCUP | change to parent of current working directory (deprecated) |
XCWD | change working directory (deprecated) |
XMKD | make a directory (deprecated) |
XPWD | print the current working directory (deprecated) |
XRMD | remove a directory (deprecated) |
I seguenti comandi non standard o specifici di UNIX sono supportati dalla richiesta SITE.
Request | Description |
UMASK | cambia la umask, e.g. ``SITE UMASK 002'' |
IDLE | imposta il tempo di inattività, e.g. ``SITE IDLE 60'' |
CHMOD | cambia i permessi di un file, e.g. ``SITE CHMOD 755 filename'' |
HELP | fornisce informazioni di aiuto. |
Le richieste ftp rimanenti specificate in Internet RFC 959 sono riconosciute, ma non implementate. MDTM e SIZE non sono specificate in RFC 959, ma appariranno nella prossima RFC FTP aggiornata.
Il server ftp abortirà un trasferimento di file attivo solo quando il comando ABOR è preceduto da un segnale Telnet "Interrupt Process" (IP) e un segnale Telnet "Synch" nel flusso di comando Telnet, come descritto nella Internet RFC 959. Se un comando STAT è ricevuto durante un trasferimento dati, preceduto da un IP e Synch Telnet, verrà restituito lo stato del trasferimento.
Ftpd
interpreta i nomi di file in accordo
alle convenzioni “globbing” usate da csh(1).
Questo permette agli utenti di utilizzare i metacaratteri
“*?[]{}~
”.
Ftpd
autentica gli utenti conformemente a
tre regole.
- Il nome di login deve essere nel data base delle password, /etc/passwd, e non avere password nulla. In questo caso una password deve essere fornita dal client prima che qualunque operazione sul file venga eseguita.
- Il nome di login non deve apparire nel file /etc/ftpusers.
- L'utente deve avere una shell standard restituita da getusershell(3).
- Se il nome utente è “anonymous” o “ftp”, un account ftp anonimo deve essere presente nel file password (utente “ftp”). In questo caso l'utente può accedere specificando qualunque password (per convenzione come password deve essere utilizzato un indirizzo email dall'utente).
Nell'ultimo caso, ftpd
prende misure
speciali per restringere i privilegi di accesso del client. Il server esegue
un chroot(2) sulla directory home dell'utente
“ftp”. Perché la sicurezza del sistema non venga
compromessa, si raccomanda che il sottoalbero “ftp” sia
costruito con attenzione, seguendo queste regole:
- ~ftp
- Dà la proprietà della home directory a “root” e la rende non scrivibile da nessuno.
- ~ftp/bin
- Dà la proprietà di questa directory a “root” e la rende non scrivibile da nessuno (modo 555). Il programma ls(1) deve essere presente per supportare l'elenco di comandi. Questo programma può avere i permessi 111.
- ~ftp/etc
- Dà la proprietà di questa directory a “root” e la rende non scrivibile da nessuno (modo 555). I file passwd(5) e group(5) devono essere presenti perché il comando ls possa produrre nomi di utente invece di numeri. Il campo password in passwd non è usato, e non deve contenere password reali. Il file motd, se presente, verrà stampato in seguito a un'autenticazione riuscita. Questi file devono avere permessi 444.
- ~ftp/pub
- Dà a questa directory i premessi 777 e proprietà di “ftp”. Gli ospiti quindi possono mettere file che siano accessibili attraverso un account anonimo in questa directory.
FILE¶
- /etc/ftpusers
- Elenco degli utenti non benvenuti/limitati.
- /etc/ftpwelcome
- Annuncio di benvenuto.
- /etc/motd
- Annuncio di benvenuto dopo l'autenticazione.
- /etc/nologin
- Visualizzazione e accesso rifiutati.
VEDERE ANCHE¶
BUG¶
Il server deve funzionare come super-utente per creare socket con numeri di porta privilegiati. Esso mantiene un id utente effettivo dell'utente autenticato, tornando al super-utente solo quando lega gli indirizzi ai socket. I possibili buchi di sicurezza sono stati estesamente verificati, ma potrebbero essere incompleti.
STORIA¶
Il comando ftpd
è apparso nella
4.2BSD.
1 giugno 1994 | BSD 4.2 |