[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]
È possibile conferire ad un utente il potere di avere soltanto l'account ftp e non il telnet ?
sì, dai il comando: usermod -s /bin/false/ nomeutente e l'utente non potrà più fare il login. Alternativamente, quando crei l'utente, fallo impostandogli come shell /bin/false. R: Gianfranco Di Tommaso, Mauro Puddinu, Francesco Ortuso |
Se lancio da telnet un ftp per scaricare molti file da server a server e faccio control-z mi si ferma normalmente l'operazione; ma alcuni siti ftp mi danno dei problemi quando cerco di portare in background il processo mediante il comando bg.
Prova così: nohup nome_programma & Vedi man nohup per ulteriori informazioni. D: Cristiano Zanca R: Elisa Manara |
Avendo un account su una macchina Linux collegata in rete mi chiedevo se fosse possibile avviare su di essa una sessione ftp in background e magari disconnettersi per riconnettersi a trasferimento completato.
Una volta collegato al sito, e lanciato il comando get per scaricare il file, ed una volta che l'operazione di scaricamento è partito, puoi interrompere il processo con Control-Z e mandarlo in secondo piano col comando bg, e sconnetterti. Comunque tieni a mente che se il sito da cui vuoi scaricare è lento, ed il downloading va in stallo per troppo tempo il programma ftp si scollegherà. In questi casi ti conviene utilizzare un programma come wget che permette automaticamente di riprovare a connettersi per un certo numero di volte e di riprendere downloading interrotti. anche questo può essere mandato in background. Usa ncftp è potentissimo può fare anche il resuming. D: Salvatore Longo R: Lorenzo Bettini, Paolo Mastroianni |
Come si fa a vedere cosa sta digitando un utente collegato mediante telnet?
Per vedere cosa digita in una shell bash, sapendo il numero del processo (es. 1000) puoi dare: $ strace -p 1000 -etrace=read l'output non è dei più chiari ma si capisce. D: Gianni Carabelli R: Cosimo Vagarini |
È possibile accedere al sistema esclusivamente tramite telnet? Cioè, voglio evitare che gli utenti tocchino la macchina fisica, e vi accedano esclusivamente tramite la rete.
Modifica /etc/inittab e togli (commenti con #) le righe: 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 anche se almeno una la lascerei... R: Ziobudda |
Come si fa ad accedere come root ad una macchina remota tramite telnet?
Questo è qualcosa che crea un buco di sicurezza enorme. Se si è ben coscienti di ciò che si sta facendo e dei rischi che si corrono, si deve rimuovere il file /etc/securetty. Ma se non ne hai una reale necessità, ti conviene creare un utente ed accedere al sistema con quello, ed al limite acquisire i privilegi di root con: $ su - R: Riccardo Corsanici |
Nella mia piccola rete casalinga (486 12 Mb RAM , PMMX 200 64Mb Ram collegati via RJ45) ho un piccolo problema di prestazioni. Quando provo a collegarmi (un po'con tutti i servizi telnet, ftp, http, ecc.) riscontro un'enorme lentezza nell'instaurarsi del collegamento stesso verso il server Linux che sebbene non particolarmente notevole in termini hardware ha però anche pochi servizi attivi. Telnet ci mette anche 30 secondi prima di mostrarmi il messaggio di login ed ftp pure. Una volta connesso però tutto procede regolarmente.
Allora, inserisci nel file /etc/hosts: IP NOME_MACCHINA_REMOTA dove IP è l'ip della macchina da dove tenti di collegarti con la macchina Linux. Il tempo di attesa è dovuto al fatto che Linux tenta di riuscire a capire chi sei, ma dopo 30 secondi perde le speranze e ti considera un conoscente. D: Michele Braccini R: Michel ZioBudda Morelli |
Come si può automatizzare un processo telnet?
Il seguente script apre una sessione telnet, esegue dei comandi (passati allo script come parametri) e chiude la sessione: #!/usr/bin/expect # # 7/9/99, Doni Stefano # # Collegamento telnet in modalità batch # # # comandi di impostazione variabili # # $argv contiene tutti i parametri passati allo script set cmd $argv # send_human occorre per l'opzione -h (human) di send set send_human {.1 3 1 .05 2} # Inizio del processo di connessione batch. spawn telnet localhost 23 expect "ogin: " send "intruso\r" expect "assword: " send -h "kevin\r" expect "intruso" send -h "$cmd\r" expect "intruso" send -h "exit\r" Notate la presenza dell'opzione -h di send: essa fa in modo che l'invio dei caratteri avvenga a velocità "umana", secondo quanto impostato nella variabile send_human. Anzi, i migliori risultati li ho ottenuti mediante l'opzione -s (send slow): il problema riguarda il buffer di lettura di login. Per maggiori informazioni sulle opzioni di send, consultate la relativa pagina di manuale (man expect). Per chi volesse un minimo di controllo di flusso sull'esecuzione dello script, ne riporto un'altro che fa uso di un ciclo while: #!/usr/bin/expect # # 26/7/99, Doni Stefano # # Preleva la posta via POP3 # set num_msg 1 set n 3 spawn telnet mail.commedia.it 110 expect "+OK" send "USER stefano\r" expect "welcome" send "PASS quique\r" expect "+OK" send "STAT\r" expect "+OK" while {$num_msg <= $n} { send "RETR $num_msg\r" expect "+OK" puts "\rScaricato messaggio numero $num_msg\r" set num_msg [ expr $num_msg + 1 ] } send "QUIT\r" Fra l'altro, questo script presenta un grosso problema: esso preleva solo i primi 3 messaggi della casella di posta, in quanto non sono stato in grado di inserire in una variabile il contenuto comando STAT (del protocollo POP3) che indica infatti il numero preciso di messaggi presenti in una casella di posta elettronica. R: Stefano Doni |
Se eseguo una connessione telnet alla mia macchina, essa viene registrata in /var/log/daemon.log con la riga seguente:
Oct 6 19:23:51 irish in.telnetd[221]: connect from irish
Come fa il syslogd a sapere che c'è stata una connessione telnet?
In /etc/services c'è la definizione dei "servizi"; quindi avrai una riga con: telnet 23/tcp Le richieste sulla porta 23 sono quindi da considerarsi telnet. Poi, in /etc/inetd.conf avrai la definizione del server da attivare in caso di richiesta di uno specifico servizio e quindi: telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd Quindi ad ogni richiesta telnet si attiva /usr/sbin/in.telnetd. Tutto questo è gestito ovviamente da inetd. D: Fabrizio Lippolis R: Cosimo Vagarini |
Per evitare che tutti accedano via telnet ad una macchina, come devo fare?
Devi modificare i file /etc/hosts.allow e /etc/hosts.deny (ti consiglio di usarne uno solo). Lì puoi mettere quali sono gli hosts o i domini da cui accetti collegamenti telnet. Se non ne vuoi in assoluto basta che metti: ALL: ALL: DENY D: SmoX R: Cosimo Vigarini |
Esiste un modo per connettersi direttamente come root ad una macchina remota?
Si deve rimuovere il file /etc/securetty ma è un buco di sicurezza enorme. Accedi come utente normale e poi dai: su - Altrimenti installati: ssh (secure shell) devi installare il demone sshd sulla macchina server e dal client basta dare: $ ssh -l root <server> Trovi il pacchetto Debian GNU/Linux di ssh nella sezione non-US ftp://ftp.debian.org/debian/dists/stable/non-US, ad esempio, mentre il pacchetto Red Hat non è inserito nella distribuzione ufficiale, e lo trovi solo in ftp://ftp.replay.com/pub/crypto/redhat/i386/ esiste anche un client per Windows, chiamato putty: http://www.chiark.greenend.org.uk/~sgtatham/putty.html R: Antonio Doldo |
[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]