Seguridad Wireless - Wifi
Equipos y materiales => Puntos de acceso, routers, switchs y bridges => Openwrt & LEDE => Mensaje iniciado por: miniyo88 en 28-01-2014, 00:12 (Martes)
-
Buenas, cuando instalamos el pureftpd por defecto se conecta con el usuario y contraseña del router, eso no me molestaba ya que era el único usuario con acceso al FTP.
Ahora me ha tocado trabajar en grupo en clase y quiero habilitar una carpeta para que todos los usuarios podamos colgar ahí cada uno su parte del proyecto.
Alguien me podría decir como crear usuarios solo para esa carpeta del FTP, es decir que no tengan acceso de lectura y escritura a demás sitios del router o si puede ser que solo vean esan carpeta.
he probado con este código que he encontrado y creado el usuario pero me da acceso denegado al intentar conectar
# cp /etc/passwd /etc/passwd.bak # just in case you e.g. forget one of the >s
# echo 'ftpuser:x:1000:1000:ftp user:/home/ftpuser:/bin/sh' >>/etc/passwd
# cp /etc/shadow /etc/shadow.bak
# echo 'ftpuser:x:15020:0:99999:7:::' >>/etc/shadow
# cp /etc/group /etc/group.bak
# echo 'ftpuser:x:1000:' >>/etc/group
# cp /etc/gshadow /etc/gshadow.bak
# echo 'ftpuser:x:1000:' >>/etc/gshadow
# passwd ftpuser
# mkdir /home/ftpuser
# chown ftpuser:ftpuser /home/ftpuser
he cambiado directorios y id de usuario y grupo así tengo los archivos:
archivo group:
root:x:0:
daemon:x:1:
adm:x:4:
mail:x:8:
audio:x:29:
www-data:x:33:
ftp:x:55:
users:x:100:
network:x:101:
nogroup:x:65534:
smbusers:x:1001:
ftpuser:x:1002:
archivo passwd:
root:x:0:0:root:/root:/bin/ash
daemon:*:1:1:daemon:/var:/bin/false
ftp:*:55:55:ftp:/home/ftp:/bin/false
network:*:101:101:network:/var:/bin/false
nobody:*:65534:65534:nobody:/var:/bin/false
smbadmin:*:1001:1001:smbusers:/mnt/sda3/samba:/bin/false
Miniyo-HP:$1$pDDYCZAc$3Fhtf1fmaw9/twJdwHUnz.:1002:1001:smbusers:/mnt/sda3/samba/homes/Miniyo-HP:/bin/false
ftpuser:x:1001:1002:ftp user:/mnt/sda3/FTP/ftpuser:/bin/false
archivo shadow:
root:$1$fF.0MLRy$J24Bzvh5dJoeWfeJnDPp5.:15992:0:99999:7:::
daemon:*:0:0:99999:7:::
ftp:*:0:0:99999:7:::
network:*:0:0:99999:7:::
nobody:*:0:0:99999:7:::
ftpuser:$1$.GdMFzEs$hZzz6eGOBqS.nrVWCFRnC.:16097:0:99999:7:::
archivo gshadow:
ftpuser:x:1002:
archivo /etc/config/pure-ftpd:
config pure-ftpd
option port '21'
option noanonymous '1'
option chrooteveryone '1'
option maxclientsperip '10'
option maxclientsnumber '4'
option peruserlimits '3:4'
option umask '133:022'
option authentication 'unix'
option enabled '1'
a ver si me echáis un cable tenemos que empezar a trabajar ya el martes ya tenemos que presentar la primera parte del proyecto.
gracias :-*
-
he instalado el paquete shadow que trae addgroup, adduser,...
y he seguido esta guía
http://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users (http://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users)
me crea el grupo y el usuario con el password y todo lo que dice en vez de joe le he llamado prueba pero sigue sin dejarme entrar con el usuario.
en la guía pone esto :
------------------------ ENABLING VIRTUAL USERS ------------------------
Of course, to use virtual users, you have to enable their support in the FTP
server itself. At compile-time, this is done by giving --with-puredb to
./configure (--with-everything also enables it and binary packages have it
compiled in) .
Then, add this switch to your usual pure-ftpd switches:
-l puredb:/path/to/puredb_file
If long options are enabled, you can also use --login instead of -l .
Let's run the server with automatic creation of home directories and puredb
authentication:
/usr/local/sbin/pure-ftpd -j -lpuredb:/etc/pureftpd.pdb &
alguien lo tiene compilado así? debería compilarlo para que funcione?
en el script de init.d he puesto esto
service_start /usr/sbin/pure-ftpd -B $args -j -l puredb:/etc/pureftpd.pdb &
-
Has mirado lo que está explicado en la wiki ?
http://wiki.openwrt.org/doc/uci/pure-ftpd
Aquí tienes un tutorial (en castellano, aunque para otro S.O.) dónde también se trata el mismo tema: http://tuxjm.net/docs/pure-ftpd-howto.txt
-
a la hora de añadir el ususario del sistema he de poner esto tal cual useradd -g ftpgroup -d /dev/null -s /etc ftpuser o cambiar la rutas? como el wiki es para otro linux, ahora voy a probar con lo del wiki a ver si lo consigo.
al final compilé el paquete --with-puredb aunque no hacia falta porque a la hora de compilar tiene --with-everything
-
gracias jar ya he conseguido crear usuarios virtuales, ahora lo que me pasa es que no me deja crear archivos ni carpetas cuando me logueo con esos usuarios
Estado: Directorio listado correctamente
Estado: Creando directorio '/Nuevo directorio'...
Comando: MKD Nuevo directorio
Respuesta: 550 Can't create directory: Permission denied
Comando: MKD /Nuevo directorio
Respuesta: 550 Can't create directory: Permission denied
Estado: Creando directorio '/Nuevo directorio'...
Comando: MKD Nuevo directorio
Respuesta: 550 Can't create directory: Permission denied
Comando: MKD /Nuevo directorio
Respuesta: 550 Can't create directory: Permission denied
en el config esta el umask 133:022 alguna idea?
-
Si en lugar de crear un directorio, subes un fichero, tampoco te deja ?
-
pues ya me deja supongo que era porque había creado la carpeta a mano en vez de que la creara automaticamente al loguearme
-
Pues si detallas el proceso ... igual le podría ser util para más gente ;)
-
Eso había pensado a ver cuando acabe de pulir un tema con los permisos e las cuentas me pondré a ello
Enviado desde mi GT-I9000 mediante Tapatalk
-
siguiendo la guía de los enlaces de atrás, un problema que me he encontrado con los usuarios virtuales es que a todos les pone el mismo UID y GID, por lo tanto aunque añadas diferentes usuarios virtuales si comparten alguna carpeta todos puede borrar o modificar archivos aunque no sean los propietarios.
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
pure-pw useradd usuario1 -m -u ftpuser -d /ftp/usuario1
pure-pw useradd usuario2 -m -u ftpuser -d /ftp/usuario2
El árbol de carpetas sería así, las carpetas personales se crean automáticamente cuando inician sesión por primera vez los usuarios (comando -j al arrancar pureftpd):
/ftp
/carpeta_publica (chmod 1777 1000:ftpgroup)
/ usuario1 (chmod 755 ftpuser:ftpgroup)
/carpeta_privada (chmod 755 ftpuser:ftpgroup)
/carpeta_publica (chmod 1777 1000:ftpgroup)
/usuario2 (chmod 755 ftpuser:ftpgroup)
/carpeta_privada (chmod 755 ftpuser:ftpgroup)
/carpeta_publica (chmod 1777 1000:ftpgroup)
los usuarios no pueden salir más atrás de su directorio personal (chroot) por lo tanto monto la carpeta pública en las carpetas publicas de los usuarios
mount --bind /ftp/carpeta_publica /ftp/usuario1/carpeta_publica
mount --bind /ftp/carpeta_publica /ftp/usuario2/carpeta_publica
todos pueden compartir en la carpeta pública pero lo que pasa es que pueden borrar archivos que no sean suyos.
Al principio modifiqué el uid de cada usuario virtual pero no se lo tragó y al final los añadí al sistema (passwd)
useradd -g ftpgroup -d /dev/null -s /etc ftpusuario1
useradd -g ftpgroup -d /dev/null -s /etc ftpusuario2
y luego crear un usuario virual para cada uno
pure-pw useradd usuario1 -m -u ftpusuario1 -d /ftp/usuario1
pure-pw useradd usuario2 -m -u ftpusuario2 -d /ftp/usuario2
Quedando así los directorios:
/ftp
/carpeta_publica (chmod 1777 1000:ftpgroup)
/ usuario1 (chmod 755 ftpusuario1:ftpgroup)
/carpeta_privada (chmod 755 ftpusuario1:ftpgroup)
/carpeta_publica (chmod 1777 1000:ftpgroup)
/usuario2 (chmod 755 ftpusuario2:ftpgroup)
/carpeta_privada (chmod 755 ftpusuario2:ftpgroup)
/carpeta_publica (chmod 1777 1000:ftpgroup)