[opensuse-es] configurar vsftpd
Hola Lister@s!! Estoy tratando de configurar un servidor ftp en modo consola en opensuse 10.2, todo un reto para mi. Por el camino he aprendido algunas cosas, por ejemplo he descubierto el #mc que me alegra la vista y relaja mis dedos ;) Cuando trasteaba com los freeBSD me gustaba disfrutar del raton en la consola,¿Se puede usar tambien en la consola de opensuse? La cuestion es que por defecto vsftpd trae el acceso anonimo activado, y consigo que funcione en ese modo sin problema. Mi idea, ya solo solo lo quiero para aprender un poco mas de linux, es utilizar Berkeley Database (BD) y PAM para autorizar usuarios, definir el directorio raiz para ftp, chroot para enjaularl al usuario en su directorio raiz, para de ese modo evitar malas compañias mientras practico. Lei el articulo http://bulma.net/body.phtml?nIdNoticia=2320 y pense en ponerme manos a la obra y... empiezo mal, puesto que no consigo pasar el fichero de texto plano a BD, he instalado en con yast el paquete denomidado "db" y el "db4"... La cosa no funciona muy bien, me da un error En fichero de texto pongo: manolo 1234 ejecuto: # db_load -T -t hash -f users_db /etc/vsftpd/users.db obtengo: # db_load: unexpected end of imput data or key/data pair # db_load:odd number of key/data pairs :(( -- "El cielo es para los dragones lo que el agua es para las ninfas" --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-02-23 a las 12:59 +0100, David Moreno escribió:
Estoy tratando de configurar un servidor ftp en modo consola en opensuse 10.2, todo un reto para mi.
Por el camino he aprendido algunas cosas, por ejemplo he descubierto el #mc que me alegra la vista y relaja mis dedos ;)
Magnífico programa.
Cuando trasteaba com los freeBSD me gustaba disfrutar del raton en la consola,¿Se puede usar tambien en la consola de opensuse?
Claro. "rcgpm start", pero antes tienes que definir el ratón en /etc/sysconfig/mouse; pe: MOUSEDEVICE="/dev/mouse" MOUSETYPE="exps2"
La cuestion es que por defecto vsftpd trae el acceso anonimo activado, y consigo que funcione en ese modo sin problema. Mi idea, ya solo solo lo quiero para aprender un poco mas de linux, es utilizar Berkeley Database (BD) y PAM para autorizar usuarios,
Lo de PAM se usa por defecto. La base de datos que se suele usar, si no usas /etc/passwd, es con ldap. # PAM setting. Do NOT change this unless you know what you do! # pam_service_name=vsftpd # Local FTP user Settings # # Uncomment this to allow local users to log in. # local_enable=YES # Y con "/etc/vsftpd.user_list" defines que usuarios tienen acceso. Lo explica en el manual. Pero, si tú lo que quieres son usuarios virtuales y no del sistema, pues se hace de otra manera que me parece que el manual menciona. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFF3u1atTMYHG2NR9URAqowAJ4pgchdS1Ld3MLO3e3bs1lGoigjBgCffPJm cUHoqCCCbTPShiqWQEgZ4OU= =Fhc7 -----END PGP SIGNATURE-----
El 23/02/07, David Moreno escribió:
En fichero de texto pongo:
manolo 1234
ejecuto:
# db_load -T -t hash -f users_db /etc/vsftpd/users.db
obtengo:
# db_load: unexpected end of imput data or key/data pair # db_load:odd number of key/data pairs
Por el mensaje parece que te falte dejar una línea en blanco al final del fichero. Prueba con: manolo (enter) 1234 (enter) línea en blanco Y nos cuentas. Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 23/02/07, Camaleón
El 23/02/07, David Moreno escribió:
En fichero de texto pongo:
manolo 1234
ejecuto:
# db_load -T -t hash -f users_db /etc/vsftpd/users.db
obtengo:
# db_load: unexpected end of imput data or key/data pair # db_load:odd number of key/data pairs
Por el mensaje parece que te falte dejar una línea en blanco al final del fichero.
Prueba con:
manolo (enter) 1234 (enter) línea en blanco
Y nos cuentas.
Saludos,
Viendo la sintaxis del comando: usage: db_load [-nTV] [-c name=value] [-f file] [-h home] [-P password] [-t btree | hash | recno | queue] db_file usage: db_load -r lsn | fileid [-h home] [-P password] db_file Yo diria que es porque en el fichero tienes que poner asi la lista name=value De hecho yo acabo de hacer esto: #more userlist emi=pepe # db_load -T -t hash -f userlist /tmp/prueba.db # y no me ha dado ningun error, eso si, no se si ha hecho lo que tiene que hacer, ¿como se puede leer el contenido de prueba.db? Un saludo Emi --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 23/02/07, Emiliano Sutil escribió:
Viendo la sintaxis del comando:
usage: db_load [-nTV] [-c name=value] [-f file] [-h home] [-P password] [-t btree | hash | recno | queue] db_file usage: db_load -r lsn | fileid [-h home] [-P password] db_file
Yo diria que es porque en el fichero tienes que poner asi la lista name=value
De hecho yo acabo de hacer esto: #more userlist emi=pepe # db_load -T -t hash -f userlist /tmp/prueba.db #
y no me ha dado ningun error, eso si, no se si ha hecho lo que tiene que hacer, ¿como se puede leer el contenido de prueba.db?
En la página de vsftpd ponen un ejemplo sobre este tema, yo lo configuré siguendo su propia documentación, que es breve pero va al punto :-) ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/ El fichero "logins.txt" lo ponen como ejemplo de formato de lista de usuarios / contraseña. Para leer el fichero en formato .db tendrá que usar algún comando... espera, leo que es "db_dump": The db_dump utility reads the database file file and writes it to the standard output using a portable flat-text format understood by the db_load utility. The file argument must be a file produced using the Berkeley DB library functions. Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 23/02/07, Camaleón
El 23/02/07, Emiliano Sutil escribió:
Viendo la sintaxis del comando:
usage: db_load [-nTV] [-c name=value] [-f file] [-h home] [-P password] [-t btree | hash | recno | queue] db_file usage: db_load -r lsn | fileid [-h home] [-P password] db_file
Yo diria que es porque en el fichero tienes que poner asi la lista name=value
De hecho yo acabo de hacer esto: #more userlist emi=pepe # db_load -T -t hash -f userlist /tmp/prueba.db #
y no me ha dado ningun error, eso si, no se si ha hecho lo que tiene que hacer, ¿como se puede leer el contenido de prueba.db?
En la página de vsftpd ponen un ejemplo sobre este tema, yo lo configuré siguendo su propia documentación, que es breve pero va al punto :-)
ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/
El fichero "logins.txt" lo ponen como ejemplo de formato de lista de usuarios / contraseña.
Pues vas a tener razon, ahora he hecho lo siguiente: #more userlist emi pepe #db_load -T -t hash -f userlist /tmp/prueba2.db # db_dump prueba2.db VERSION=3 format=bytevalue type=hash h_nelem=1 db_pagesize=4096 HEADER=END 656d69 70657065 DATA=END Tampoco ha dado error, eso si el contenido que veo con el db_dump no me dice gran cosa respecto a lo que meti.... si hago db_dump del otro fichero que creee antes: db_dump prueba.db VERSION=3 format=bytevalue type=hash db_pagesize=4096 HEADER=END DATA=END Me saca menos info, asi que supongo que no tendra nada, osea, que sera correcto con el formato que indicas. Voy a probar a hacerlo desde linea de comandos a ver si el formato es name=value #db_load -T -t hash -c emi=pepe /tmp/prueba3.db db_load: unknown command-line configuration keyword "emi" Vamos que lo del name=value no es para lo que yo creia, ;-) Un saludo Emi --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 23/02/07, Emiliano Sutil escribió:
# db_dump prueba2.db VERSION=3 format=bytevalue type=hash h_nelem=1 db_pagesize=4096 HEADER=END 656d69 70657065 DATA=END
Anda... ¿y si pruebas con?: db_dump -d a prueba2.db En el manual pone más información sobre los modificadores y su uso: db_dump [-klNpRrV] [-d ahr] [-f output] [-h home] [-P password] [-s database] file The options are as follows: -d Dump the specified database in a format helpful for debugging the Berkeley DB library routines. a Display all information. h Display only page headers. r Do not display the free-list or pages on the free list. This mode is used by the recovery tests. The output format of the -d option is not standard and may change, without notice, between releases of the Berkeley DB library. Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
?:
db_dump -d a prueba2.db
Pues con eso saca un porron de informacion: db_dump -d a prueba2.db In-memory DB structure: hash: 0x90000 (DB->open called, read-only) meta_pgno: 0 h_ffactor: 0 h_nelem: 0 h_hash: 0x2a95709b70 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= page 0: hash metadata level: 0 (lsn.file: 0 lsn.offset: 1) magic: 0x61561 version: 8 pagesize: 4096 type: 8 keys: 0 records: 0 free list: 0 last_pgno: 2 flags: 0 uid: 7e 37 5 0 3 38 0 0 1 e df 45 c4 8 0 0 0 0 0 0 max_bucket: 1 high_mask: 0x1 low_mask: 0 ffactor: 0 nelem: 1 h_charkey: 0x5e688dd1 spare points: 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 page 1: hash level: 0 (lsn.file: 0 lsn.offset: 0) prev: 0 next: 0 entries: 0 offset: 4096 page 2: hash level: 0 (lsn.file: 0 lsn.offset: 1) prev: 0 next: 0 entries: 2 offset: 4087 [000] 4092 len: 3 data: emi [001] 4087 len: 4 data: pepe Ahi se ve claramente lo que meti, emi y pepe, pero no veo yo si eso indica una relacion nombre - password, a mi me parece como si fueran 2 nombres, aunque puede que este equivocado. Emi --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Buenas noches a tod@s: Correcto "Por el mensaje parece que te falte dejar una línea en blanco al final del fichero. " Con una linea en blanco, funciona sin problemas. :))))))) -- "El cielo es para los dragones lo que el agua es para las ninfas" --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Hola de nuevo! Tengo mucha informacion, gracias a tod@s :) Antes de meterme en faena creo que Carlos a despertado una duda en mi: "Y con "/etc/vsftpd.user_list" defines que usuarios tienen acceso. Lo explica en el manual. Pero, si tú lo que quieres son usuarios virtuales y no del sistema, pues se hace de otra manera que me parece que el manual menciona. " Es decir: puedo crear usuarios dentro del sistema reales, con su home como directorio de ftp, su passw de acceso al sistem seria la utilizada en ftp y decidir si les doy acceso al servidor ftp a unos usuarios o no. Con lo cual me ahorraria el manejo de DB pero tendira que añadir usuarios a mano. o bien crear usuarios virtuales con lo que tendria que definir en DB nombre y passw para autentificacion, asignarle un directorio raiz para ftp. humm, curioso detalle... como he medio andado el segundo camino voy a ver si lo termino y despues probare añadiendo usuarios. Gracias por lo del raton. para navegar por la red uso links, pero no me permite acceder a gmail (sera por las cookies...?) me gustaria usar un programa sencillo de configurar. intente configurar con yast la opcion MTA con los parametros de gmail y le asigne la cuenta a mi usuario, pero de momento no se como leer el correo: #mail me develve #no new mail. para acceder a la disketera floopy ¿tengo que montarla o algo parecido? Mil gracias a tod@s? -- "El cielo es para los dragones lo que el agua es para las ninfas" --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-02-23 a las 18:43 +0100, David Moreno escribió:
Hola de nuevo! Tengo mucha informacion, gracias a tod@s :) Antes de meterme en faena creo que Carlos a despertado una duda en mi:
"Y con "/etc/vsftpd.user_list" defines que usuarios tienen acceso. Lo explica en el manual. Pero, si tú lo que quieres son usuarios virtuales y no del sistema, pues se hace de otra manera que me parece que el manual menciona. " Es decir: puedo crear usuarios dentro del sistema reales, con su home como directorio de ftp, su passw de acceso al sistem seria la utilizada en ftp y decidir si les doy acceso al servidor ftp a unos usuarios o no. Con lo cual me ahorraria el manejo de DB pero tendira que añadir usuarios a mano.
Bueno, se trata de que tú tienes tus usuarios del sistema, reales, que pueden trabajar en el ordenador localmente o remotamente (por telnet^H^H^H^H^H^H o ssh), y si quieres, también les das acceso por ftp. En realidad, lo normal para esta gente es que usen scp en vez de ftp, pero bueno, es otra posibilidad, sobre todo en una intranet. En ese caso, en el vsftp no tienes que configurar nada: o les das acceso a todos, o a algunos, listando cuales. Si se trata de acceso externo, pues... entonces yo no dejaría usuarios reales, mejor virtuales. Los reales que accedan por scp.
Gracias por lo del raton.
De nada :-)
para navegar por la red uso links, pero no me permite acceder a gmail (sera por las cookies...?) me gustaria usar un programa sencillo de configurar.
¿En consola? Uff. No es sólo por las cookies, es java... los de gmail tratan de detectar que navegador tienes, y entonces te mandan unas funciones u otras. Si el links no lo soportan, pues te fastidias...
intente configurar con yast la opcion MTA con los parametros de gmail y le asigne la cuenta a mi usuario, pero de momento no se como leer el correo:
Con fetchmail: poll pop.gmail.com with proto pop3 timeout 50, and tracepolls user USUARIO@gmail.com, with password TU_PWD, is USUARIOLOCAL here, fetchlimit 250 and ssl Lo crucial es lo de ssl. Es lento, por cierto.
para acceder a la disketera floopy ¿tengo que montarla o algo parecido?
¿En consola? Sí, a mano. El automount lo hace el gnome y el kde. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFF4CN3tTMYHG2NR9URAgULAJ968+/R28DN4dYKHAId3Rxkc7/4jQCfYH0H cq+V0egjZmM5Z2gBCC9V98s= =bS1z -----END PGP SIGNATURE-----
participants (4)
-
Camaleón
-
Carlos E. R.
-
David Moreno
-
Emiliano Sutil