# No puedo borrar carpetas en samba [Solucionado]

## laser_cg

Hola a todos.

Tengo un disco duro de 1 terabyte conectado al router a través de un cable de ethernet que utilizo a modo de almacén para backups en casa. A él accedo desde windows y linux. Este disco duro tiene asignada una ip fija en mi red doméstica y accedo a él usando samba. Con Windows no tengo ningún problema, pero cuando accedo desde Linux tengo problemas al borrar directorios que contienen ficheros dentro u otros directorios. Me da error que no se puede borrar. No sé si se trata de algún tipo de problema relacionado con permisos o alguna cosa por el estilo. Entonces, para borrar el directorio en cuestión no me queda más remedio que borrar los archivos y directorios que haya dentro (de forma recursiva y uno por uno) y luego borrar el directorio que no se dejaba. A ver si alguien me puede echar un cable.

Gracias por adelantado.

----------

## esteban_conde

rmdir si el directorio está completamente vacío si tiene algo dentro el comando linux es rm -rf directorio (directorio cambialo por el nombre que tenga).

No se si es eso a lo que te refieres, siempre lo hago así aunque puede que haya alguna otra forma, si no quieres que se te borre algo de dentro lo mueves a otro lado.

----------

## laser_cg

Hola!

Sí, estos comandos los conozco. Lo que pasa es que tengo el problema este del error usando Nautilus (tengo el escritorio Gnome) y no sé cómo solucionarlo para que me funcione desde allí. Como tampoco sé cómo acceder al HDD en cuestión desde la shell pues no sé cómo borrar estos directorios, ya que si hago un cd y pongo la ruta que aparece en Nautilus pues no lo reconoce. No está montado ni en /mnt ni en /media. Gracias.

----------

## Popolous

¡Hola!

Una pregunta tonta...No sé si tendrá algo que ver, pero prueba a hacerlo desde consola. Si no, mira a ver si nautilus tiene opciones de compilación relacionadas con samba o de samba con nautilus...O de tu usuario que no esté en el grupo samba....

¡Saludos!

----------

## Inodoro_Pereyra

Yo probaría antes que nada, ver si nautilus monta o no el NAS ese con el comando mount. Alguien que use Nautilus y nos ilumine un poco?

Si no lo monta, montarlo a mano y ver con que opciones por defecto se monta:

```
mount -t cifs //IP_del_NAS/share /media/NAS         #<-- o algo parecido, adaptándolo a tu caso
```

Se me ocurre que si no puede borrar recursivamente el problema es Nautilus que no funciona como debería y no tiene nada que ver con samba (que no se configura, al menos no del lado del cliente) ni con los permisos.

Salud!

----------

## laser_cg

La distro que utilizo es Ubuntu 8.04 LTS porque es la que tenemos en la universidad y así no tengo problemas de versiones distintas de compiladores, etc. No tengo ningún grupo llamado samba, lo que sí aparece son privilegios de poder utilizar unidades de cinta en mi usuario, que no sé si puede tener algo que ver (aunque lo dudo). Como el Nautilus es el que viene ya instalado y se actualiza con paquetes precompilados pues no se si se puede compilar a parte el samba. Lo que comentáis del NAS no tengo ni idea de cómo funciona y respecto a lo de montarlo desde consola tampoco sé como montar dispositivos que funcionan con Samba desde consola  :Sad:  Si me podéis echar una mano para montarlo desde consola se podría comprobar si el error es de Nautilus, tal y como se ha comentado en el hilo. Gracias compañeros.

----------

## laser_cg

¡¡Hola a todos compañeros!!

Después de indagar leyendo manuales con mi fiel amigo Google he encontrado cómo montar un dispositivo Samba a mano:

```
sudo mount //192.168.2.110/Magatzem /media/magatzem/
```

Bien, entonces desde consola sí puedo borrar directorios recursivamente, pero antes me pide la siguiente confirmación

```
rm: ¿borrar el directorio «hola/ktal»  protegido contra escritura? (s/n)
```

Creo que ya hemos encontrado el problema, es decir, es justamente aquí cuando Nautilus da el error diciendo que no puede borrar los directorios recursivamente y desde consola contestando "s" pues los borra sin mayores problemas. Por cierto, si ejecuto Nautilus desde la shell y como root también puedo borrar recursivamente.

Otro dato a destacar es que montando el disco duro en cuestión a mano y reproduciendo un archivo de música o viendo un vídeo donde se hace transferencia constante de datos el uso de la red es mucho menor usando mplayer desde consola, que si se hace desde Nautilus y usando Totem, por ejemplo. ¿Álguien sabe por qué?

Y ahora mi duda ya queda más acotada: ¿¿cómo puedo hacer que Nautilus no me dé el error, es decir, que tenga permiso para borrar recursivamente?? Y otro problemilla que me ha surgido es que al acceder desde shell no veo los acentos correctamente de los ficheros del disco duro ¿hay alguna forma de solucionarlo?

¡Gracias!

----------

## esteban_conde

 *Quote:*   

>  ¿¿cómo puedo hacer que Nautilus no me dé el error, es decir, que tenga permiso para borrar recursivamente??

 

Pues visto lo que pones sobre la consola, creo que el poder borrar archivos desde Nautilus depende de los permisos que tenga el usuario de Nautilus sobre el directorio montado, es decir como root señalas el directorio pulsas la tecl Supr y creo que no vas a tener problemas.

El cambiar este comportamiento de Nautilus supongo que se podrá hacer pero lo veo un agujero de seguridad importante.

----------

## laser_cg

¡Buenas!

Precisamente esto que dices es lo que he hecho para borrar recursivamente desde Nautilus

 *Quote:*   

> como root señalas el directorio pulsas la tecl Supr y creo que no vas a tener problemas

 

Pero... esto significa que tendré que lanzarlo siempre como:

sudo nautilus&

cuando quiera borrar archivos de este HDD recursivamente.

¿No hay ninguna forma de poder evitar esto?

Por cierto lo de los acentos que comentaba antes se arregla añadiendo la opción -o iocharset=utf8 a la hora de montar xD

----------

## esteban_conde

Pues supongo que si, que no tendrás más remedio aunque creo que si hacers chmod +s /usr/bin/nautilus se ejecutará en modo root y por tanto podrás borrar lo que quieras, pero administrar así el sistema es poner en juego la seguidad.

----------

## laser_cg

Hola de nuevo!

Como tú mismo dices Esteban, sería muy arriesgado darle permisos root de forma permanente a Nautilus. De todas formas, para salir del apuro ya sé como hacerlo y lo he publicado en posts anteriores para que si le pasa a alguien más sepa cómo resolverlo. No obstante, me voy a mirar eso de agregar usuarios a Samba, no vaya a ser que como mi usuario no pertenece a ese grupo sólo pueda acceder como root. Y si alguien sabe cómo van los grupos de Samba se agredecería el aporte  :Wink: 

Saludos a todos!

----------

## esteban_conde

No tengo más remedio que hablarte de memoria con lo que eso conlleva, puedo equivocarme y no tengo forma de comprobarlo pue no tengo samba instalado.

Creo que hay un comando smbpasswd -a usuario donde usuario puedes ser tu mismo, es decir un usuario que tenga directorio colgado de /home/  y si te añades con exito desde el sistema operativo guess podras ver el directorio de /home/usuario/ copiar, borrar ...etc.

si no es ese comando busca: ls /usr/bin/*smb* a ver si hay alguno parecido.

----------

## Inodoro_Pereyra

Se que vengo llegando tarde pero samba no tiene nada que ver en el asunto.

Todo lo que se puede configurar para samba, inclusive lo de agregarse uno al grupo de usuarios de samba o gestionar con smbpsswd, es pura y exclusivamente para un servidor samba.

El servidor samba en este caso es el NAS, el disco rígido externo ese y no la pc. A menos que se pueda configurar todo eso del lado del NAS, cosa que dudo, entonces lo mas probable es que sea una cuestión de nombres de usuario y contraseña o el UID/GUID que linux usa a la hora de montar el recurso compartido.

Has probado desactivar la autenticación en el NAS? Windows por defecto cuando entra "sin password" utiliza como nombre de usuario "guest", linux por otra parte usa "nobody". Si internamente el NAS corre algún mini linux, probablemente especificando como nombre de usuario la palabra guest (por lo que comentas de que en windows si se puede usar) puedas montar el disco correctamente.

```
mount -t cifs -o username=guest,password=blablabla //XXX.XXX.XXX.XXX/Recurso_compartido /punto/de/montaje
```

A ver si sirve de algo.

Salud!

----------

## laser_cg

Hola a todos,

he estado investigando sobre el tema y he encontrado la solución definitiva. Lo pongo por si a alguien le ocurre lo mismo que sepa cómo resolverlo, ya que estamos aquí para ayudarnos entre todos.

El problema estaba en que al montarlo desde consola con sudo, el propietario del HDD en cuestión es root. Por lo tanto, a la hora de montar el disco duro se tienen que añadir las opciones uid y gid para indicar el usuario y el grupo al que pertenece. Para saberlos, ejecutar el comando: id

```

sudo mount //IP_recurso/Directorio /media/Punto_montaje -o iocharset=utf8,uid=nºusuario,gid=nºgrupo

```

Yo lo he puesto en el /etc/fstab para no tener que escribir esto cada vez que lo quiero montar. Bueno... y gracias a todos los que os habéis preocupado por el tema. Por mi parte, doy este post por cerrado pero si alguien quiere comentar algo que lo diga  :Wink: 

Saludos a todos los Linuxeros!!

----------

