- permitimos acceso a los usuarios locales (excepto los que figuren en /etc/ftpusers):
- damos permisos de escritura a los usuarios:
- impedimos a los usuarios locales salir de su directorio personal:
Per a la configuració que volia jo també vaig descomentar la línia local_umask=022 (no se si estava amb aquests permisos però sé que a mi m'interessa tenir-los així). Un cop fet això reiniciem el daemon del vsftpd: /etc/init.d/vsftpd restart
A partir d'aquí es pot configurar de moltes maneres segons les necessitats de cadascú. Explicaré la meva:
Es tractava de crear un directori arrel i diversos subdirectoris, on cada subdirectori correspongui a un usuari de manera que cada usuari tingui permisos per baixar, pujar i borrar arxius (permisos de lectura i escritura en resum) al/del seu corresponent subdirectori però els únics permisos que te cada usuari sobre el directori arrel / sigui només de poder baixar arxius, és a dir, que no pugui borrar ni pujar res al directori arrel. Tanmateix també necessitava una compta de superusuari (per dir-ho d'alguna manera) que tingui permisos de TOT sobre TOTS els directoris i subdirectoris incloent-hi el directori arrel /.
Per fer-ho vaig fer els següents passos:
1. Crear un grup corresponent al superusuari (anomenat ftpsu per exemple).
root@debian:~# groupadd ftpsu
2. Crear una compta de superusuari.
useradd -g ftpsu -d /ruta/del/servidor/on/volem/que/sigui/directori/arrel/del/servidor -c nick_superusuari -m -s /bin/false nick_superusuari
* /bin/false ha d'existir i ha d'estar inclos a l'arxiu /etc/shells
** perque sentengui al paràmetre -d ens referirem a partir d'ara a /var/www/arrel. El paràmetre -m ens crea el directori automàticament, si no ho hauriem de fer manual.
*** el paràmetre /bin/false de -s correspon a que creem un nom d'usuari però aquest no es loguejable al meu disc dur, només al ftp. Si el vulguessim fer loguejable s'hauria de canviar -s /bin/false per -s /bin/sh (o /bin/bash ara no ho recordo).
Així en realitat el paràmetre correcte seria
root@debian:~# useradd -g ftpsu -d /var/www/arrel -c nick_superusuari -m -s /bin/false nick_superusuari
3. Assignar un password al superusuari.
root@debian:~# passwd nick_superusuari
4. Donarli permisos al directori.
root@debian:~# chmod 775 /var/www/arrel
Que vol dir 775 ? Permisos de lectura, escriptura i execució al directori arrel per al propietari i per al grup, i permisos de lectura i execució a la resta d'usuaris.
Ara ja tenim creat la compta de superusuari i tenim assignat els permisos del directori arrel /var/www/arrel al grup ftpsu i propietari nick_superusuari.
4. Ara només es tracta d'anar creant els usuaris que volem, crear el seu directori personal (que no farem passant el paràmetre -m sino que ho farem amb mkdir perque no volem assignar-li cap propietari ni cap grup nou a /var/www/arrel però si el paràmetre que passes fos -d /var/www/arrel/nick_usuari1 llavors al entrar al ftp no podriem accedir a l'arrel / i això no ens interessa tampoc. Total que s'ha de fer com he posat xD) donar-li permisos de propietari, i assignar-lo al grup del superusuari (ftpsu)
root@debian:/var/www# useradd -d /var/www/arrel -c nick_usuari1 -s /bin/false nick_usuari1
root@debian:/var/www# passwd nick_usuari1
root@debian:/var/www# mkdir /var/www/arrel/nick_usuari1/
root@debian:/var/www# chown nick_usuari1 /var/www/arrel/nick_usuari1/
root@debian:/var/www# chgrp ftpsu /var/www/arrel/nick_usuari1/
root@debian:/var/www# chmod 775 /var/www/arrel/nick_usuari1/
De manera que ara al subdirectori arrel/nick_usuari1 tenen TOTS els permisos el propietari del directori (nick_usuari1) i també els integrants del grup ftpsu, és a dir nick_superusuari.
5. Ara per acabar cal assignar una IP privada al port del router on volem que escolti les peticions d'entrada. Per fer-ho cal entrar a la configuració del router (ometo el pas) i setejar el port 21 (per defecte de FTP) a la IP privada que vulguem: Per exemple, si la IP privada on tenim el directori /var/www/arrel és 192.168.1.3
doncs li assignem el port 21 a 192.168.1.3 Així quan hi hagi una petició externa de IP pública al port 21, la xarxa oferira el servidor amb la IP privada que li hem assignat (192.168.1.3).
Ara per entrar desde fora amb un navegador qualsevol: ftp://ip_publica i entrar amb user/pass.
Per entrar des d'un PC que esta a la xarxa local: ftp://ip_local i entrar amb user/pass
Amb Linux jo utilitzo el client FTP Filezilla, molt senzill de fer servir.
No hay comentarios:
Publicar un comentario