# ejecutar mount en usuarios no root

## cnyx

es necesario que pueda ejecutar mount en usuarios no root, pero no quiero darles ni un solo privilegio mas a estos usuarios, o los minimos a ser posible.

Alguien sabe que debo hacer?

saludos

----------

## cnyx

o lo que es lo mismo. como hace un montador de discos o un programa de grabacion de cd's para montar un cdrom habiendo sido ejecutado por un usuario no root?

saludos

----------

## trompa

Añade users en la linea de fstab

----------

## cnyx

y si por ejemplo es para un dispositivo que no se monta al arrancar como el usb que hago?

----------

## Ziqyss

Le añades "noauto" para que no se monte automáticamente al iniciar

----------

## trompa

Si quieres asignar permisos, deberas usar umask en fstab.

La manera de asignar los permisos de umask es complementaria a como los asigna chmod, es decir, si chmod 777 asigna permisos de lectura escrityra y ejecucion a todos los usuarios, umask=000 hace lo mismo.

No lo preguntaste, pero era la siguiente pregunta logica asi q me adelanto  :Very Happy: .

----------

## cnyx

hay que añadir user o users?

porque yo en la linea de cdrom tengo user y no hay manera de montarlo ni desmontarlo con usuarios no root.

----------

## cnyx

a ver, si que es verdad que añadiendolo en el fstab luego si le doy al boton derecho en el escritorio tengo la opcion de montarlo estando en una sesion no root. Pero yo lo que quiero es poder hacer

```

mount /dev/sda1 /mnt/usb

```

sin que me diga

```

mount: sólo el usuario root puede efectuar esta acción

```

y eso no lo he conseguido añadiendo el usb en el fstab con las opciones noauto,users.

bueno no lo he conseguido ni con el usb, ni el cdrom ni el floppy.

y no entiendo como se puede hacer via entorno grafico pero no via consola.

Alguien sabe aclararme esto?

saludos

----------

## Logic Temptation

Para que te hagas una idea, em mi fstab tengo lo siguiente:

```

...

/dev/cdrom          /mnt/cdrom          iso9660          defaults,users,noauto,ro          0  0

/dev/fd0            /mnt/floppy         auto             defaults,users,noauto,rw          0  0

...

```

Si estas interessado en poner el usb (de memoria: camara digital, pen, etc.), tendras que poner la siguiente linia:

```

/dev/sda1           /mnt/usb              auto           defaults,users,noauto,rw          0  0 

```

Aun asi no es suficiente el poner estas dos linias, debes añadir los usuaris interessados en acceder a estos dispositivos en uns grupos determinados:

   [dispositivo]        [grupo]

Para el CDROM -> cdrom

Para el FLOPPY -> floppy

Para el USB ------> usb

Jaja xD me parace que me he flipado un poco, no hubieramos entendido de otra manera jeje. Bueno espero haberte solucionado tu problema, si tienes algun otro problema ya sabes aqui ayudamos en lo que podemos.   :Wink: 

Saludos

----------

## cnyx

pero esto me deberia dejar hacer mount /dev/fd0 /mnt/floppy con un usuario no root?

lo digo porque lo hago y me dice lo mismo de siempre, que solo root puede ejecutar mount.

tienes alguna idea de por que?

saludos

----------

## trompa

Lo que podras hacer sera mount /mnt/floppy, pero no mount /dev/fd0 ademas, al añadir users, podras montarlo en gnome desde el menu del boton derecho

----------

## cnyx

mil gracias de verdad. Es que esto son cosicas que hasta que uno no te las cuenta... en fin.

gracias, saludos.

----------

## Membris Khan

Uhmm y ya que estamos con el tema, cómo se hacía para que se montara automáticamente y no tener que hacerlo a mano...?

Es que me copié parte del fstab que tenía con Mandrake pero no he conseguido adaptarlo al que ahora tengo con Gentoo...

----------

## trompa

auto?

----------

## cnyx

yo lo que hago es ejecutar un programita de 2 lineas que he hecho:

```

#include <iostream>

using namespace std;

int main()

{

    system("mount /mnt/usb");

    system("nautilus /mnt/usb");

}

```

direis que es muy tonto, pero le pongo icono de carpeta y soy mas feliz que nadie jajaja.

la putada es que todavia hay que desmontarlo, pero bueno eso ya ira en la verion 1.1 jajaja

saludos.

----------

## Logic Temptation

El Mandrake igual que el Red Hat hace uso del Supermount, es un parche para el kernel... muy util principalmente para el cdrom. Tras parchear el kernel tienes que introducir supermount en la linia que te interesse del /etc/fstab. Nada mas.

Saludos.

----------

## cnyx

y que es lo que hace exactamente el supermount?

----------

## Logic Temptation

El supermount es un sistema de automontage, es como si tuvieras un demonio que en el momento que le pones un CD al lector, este te lo montarà automàticamente.

Si me acuerdo bien el gento-sources ya va parcheado con esta maravilla, se encuentra en la sección "File System", si mucho me apuras, diria que es una de la primeras opciones. 

Suerte

----------

## cnyx

buahh que caña, ya lo he visto en el kernel, pero todavia no lo he compilado.

entonces si por ejemplo encufas en lapiz usb te lo monta automaticamente?

y donde monta los dispositivos? 

saludos

----------

## Stolz

 *cnyx wrote:*   

> hay que añadir user o users?

 

Pues yo acabo de mirar mi fstab, y he visto que que en algunas particiones tengo user, y en otras users, y funcionan los dos, no se cual es la diferencia, si alguien lo puede aclarar se agradeceria.

Un saludo.

----------

## lunatc

del manual de mount...

 *Quote:*   

> 
> 
> (iii) Normally, only the superuser can mount file systems.  However, when fstab contains the user option  on  a  line,
> 
>        then anybody can mount the corresponding system.
> ...

 

Por tanto entiendo que:

si en fstab digo

* "user" -> cualquier usuario (X) puede montar el dispositivo.

   PERO solo X puede desmontarlo

* "users" -> cualquier usuario puede montar el dispositivo Y cualquiera puede desmontarlo.

* "owner" -> En los permisos del dispositivo esta establecido que pertenece a X. SOLO X puede montar el dispositivo.

   Y SOLO el usuario que tenga asignado el dispositivo (X) puede desmontarlo (vamos, que (X) es el "Puto amo(TM)" del dispositivo--con perdón por lo de "amo" jeje).

A ver, alguien que lo confirme/desmienta...  :Wink: 

PD: Por cierto Stolz, peazo de post el tuyo de irda/[x]gnokii, a ver si consigo un nokia para probarlo porque quiero hacer ver a alguien que la cosa funciona no solo con win2k/XP (y que si pierde el cd de instalación de nokia y tiene que reinstalar, entonces  la cosa solo va con linux--es una discusión que me tengo con ese alguien, jeje   :Cool: 

----------

## Stolz

Muchas garcias, ya esta aclarado. Yo la unica diferencia que veia era que con user, al ejecutar mount a secas, las particiones que habia montado como usuario tenian un user=stolz  :Wink: 

En cuanto a lo del gnokki, si que funciona con los nokia, al menos con el mio, pero poca cosa se puede hacer, ya que es muy simple  :Sad: 

Y en cuanto al fstab, a ver si alguien me puede ayudar. Tendo 2 particiones que quiero que cualquier usuario pueda montar, pueda leer, escribir  y ejecutar en ellas.

Una es vfat, y con esta linea ya he consegudio lo que quiero:

```
/dev/hda6       /mnt/ghost      vfat            noauto,users,noexec,umask=000           0 0

```

Pero la otra es ReiserFS. Si pongo esta linea puedo montarla, pero no escribir en ella:

```
/dev/hda3       /mnt/reserva    reiserfs        noauto,users,noatime,notail      0 0

```

Pero si añado el umask para poder escribir, me da error al montarla:

```
/dev/hda3       /mnt/reserva    reiserfs        noauto,users,noatime,notail,umask=000      0 0

...

$ mount /mnt/reserva/

mount: tipo de sistema de ficheros incorrecto, opción incorrecta, superbloque incorrecto en /dev/hda3,

       o número de sistemas de ficheros montados excesivo

```

Luego he visto que el problema es que el umask no es una opcion valida para montar sistemas reiserfs, entonces... ¿Como hago que un cierto usuario no root (o todos los usuarios) pueda escribir en /mnt/reserva/?

Un saludo

----------

## trompa

Prueba a ponerle rw (rewrite  :Smile:  )

----------

## pumik2112

Hola a todos, creo que tengo la solución a lo de montar las particiones reiserfs.

Hay que montar la partición como root y cambiar los permisos de la carpeta con 

```
chmod 777 /mnt/reserva
```

luego desmontala y prueba a montarla otra vez con un usuario, ahora deberías poder escribir en ella

Un saludo

----------

## Stolz

 *pumik2112 wrote:*   

> solución a lo de montar las particiones reiserfs.
> 
> Hay que montar la partición como root y cambiar los permisos de la carpeta con 
> 
> ```
> ...

 

Muchas Gracias!!! me ha funcionado. Ademas, los cambios son permanentes, al reiniciar se sigue pudiendo montar la particion y escribir en ella.  :Very Happy: 

Habia probado a cambiar los permisos, pero antes de montar /mnt/reserva y claro, cada vez que lo montaba, volvia a los permisos estandard.

Un saludo.

----------

## Stolz

Pues ahora estoy con otro problemilla que que no logro sacar. 

Mi idea es poder permitir a cualquier usuario el montar localmente en mi máquina linux una carpeta compartida de un servidor Windows remoto.

Actualmente sólo lo he conseguido hacer desde root, aunque cree el punto de montaje bajo el home del usuario y como dicho usuario. Estoy probando de definirlo en el fstab, pero

sin suerte por el momento.

```
stolz@azul $ cat /etc/fstab | grep smbfs

//n/compartido  /mnt/nacho      smbfs   noauto,users,rw,username=N,password=xxx,workgroup=WORKGROUP   0 0

stolz@azul $ mount /mnt/nacho/

cannot mount on /mnt/nacho: Operation not permitted

smbmnt failed: 1
```

¿Alguna idea?

Saludos

----------

## lunatc

Después de varias pruebas (que incluyen la burrada de intentar poner el setuid a smbmount, cosa que no funcionó...) la única manera que he conseguido montar un share smbfs como usuario es utilizar sudo

* emerge app-admin/sudo

* como root:

    * editar /etc/sudoers con el comando visudo

    * poner una linea como esta al final

```

%users ALL=NOPASSWD:/usr/bin/smbmount,/usr/bin/smbumount

```

lo que quiere decir que, a todos los del grupo users (%users) y para todos los hosts (ALL, -se puede poner localhost o el nombre del host), y sin pedir password, se permita ejecutar los comandos smb[u]mount.

y ahora entrar como usuario y ejecutar

```

unusuario@miservidor unsuario $ sudo smbmount //SERV/SHARE puntomontaje -o username=usuario,etc,etc 

```

(Ni que decir tiene que esta linea pide que se le incluya en un script a gritos! jeje)

para desmontar usar 

```

unusuario@miservidor unsuario $ sudo smbumount puntomontaje

```

Espero que te funcione

----------

## pumik2112

Hola a todos

probar a poner en fstab

```
//SERV/SHARE         /PUNTOMONTAJE        smbfs noauto,username=user_windows,password=contraseña,uid=USER_LINUX,gid=GRUPO_LINUX,rw,user,iocharset=iso8859-1,codepage=cp850,rw,user 0 0
```

En este momento yo no lo puedo probar,  pero creo que así funcionaba.

Si quereis hacerlo directamente desde la consola

```
smbmount //SERV/SHARE /PUNTOMONTAJE -o username=USER_WINDOWS,password=CONTRASEÑA,uid=USER_LINUX,gid=GRUPO_LINUX,iocharset=iso8859-1,codepage=cp850,rw

```

las opciones iocharset y cp supongo que se pueden omitir 

Un saludo y ya me contareis  :Smile: 

----------

## Stolz

pumik2112 gracias por contestar, pero con esas opciones me da el mismo error  :Sad: 

lunatc otro favor que te debo, ya esta solucionado haciendo lo que has dicho   :Very Happy:  !!muchas gracias!!. No es tan comodo como los iconos en el escritorio de KDE, que montan y desmontan los puntos a nuestro antojo, pero me sirve.

Un saludo.

----------

