UNIX - mount: solo root puede hacer eso

15

Necesito permitir que un usuario no root monte / desmonte un dispositivo. Soy un novato total en lo que respecta a UNIX, así que por favor muéstralo para mí.

He estado buscando por todas partes para encontrar una respuesta y parece que todos están dando la misma, que es modificar /etc/fstabpara incluir ese dispositivo con la useropción (o users, probé ambas). Lo hice y todavía dice mount: only root can do that.

Aquí están los contenidos de mi fstab:

# / etc / fstab: información del sistema de archivos estático.
# #
# Use 'vol_id --uuid' para imprimir el identificador universalmente único para un
# dispositivo; esto puede usarse con UUID = como una forma más robusta de nombrar dispositivos
# que funciona incluso si se agregan y eliminan discos. Ver fstab (5).
# #
# #                
proc / proc proc valores predeterminados 0 0
# / estaba encendido / dev / mapper / minicc-root durante la instalación
UUID = 1a69f02a-a049-4411-8c57-ff4e rel. Relabbb933 / ext3, errores = remount-ro 0 1
# / boot estaba encendido / dev / sda5 durante la instalación
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relatime 0 2
# swap estaba encendido / dev / mapper / minicc-swap_1 durante la instalación
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 ninguno intercambiar sw 0 0
/ dev / scd0 / media / cdrom0 udf, usuario iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, user, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard auto auto, usuario, rw, exec 0 0

Mi partición de memoria USB aparece como /dev/sdb1. Estoy bastante seguro de que mi fstabconfiguración está bien, pero todos en las otras publicaciones parecen no mencionar cómo realmente llaman al mountcomando una vez que esta entrada está en el archivo fstab. Creo que aquí es donde puede estar mi problema. El comando que uso para montar la unidad es:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountes propiedad de root y está en el grupo raíz y tiene 4755 permisos.
/bin/umountes propiedad de root y está en el grupo raíz y tiene 4755 permisos.
/mnt/sdcardes de mi propiedad y pertenece a uno de mis grupos y tiene 0755 permisos.

Mi comando mount funciona bien si lo uso sudo, pero necesito poder hacerlo sin esto sudo(necesito poder hacerlo desde un script PHP usando shell_exec). ¿Alguna sugerencia?

Travesty3
fuente
1
Por favor no use expresiones como "teh interwebz", eso es solo una distracción.
Georg Schölly
99
Prefiero ver "teh interwebz" inyectado con humor y personalidad que ver a alguien usar "u", "ur", "any1" y cosas similares por pereza e ignorancia. Mi punto es que hay una diferencia y es evidente según el contexto.
Pausado hasta nuevo aviso.

Respuestas:

17

Al montar un volumen como usuario habitual, solo necesita proporcionar el nombre del punto de montaje, es decir:

mount /mnt/sdcard

El /etc/fstabarchivo proporciona el dispositivo que se utilizará.

Kevin Panko
fuente
2
O puede montar el dispositivo y fstabproporcionará el punto de montaje.
Pausado hasta nuevo aviso.
AHA! Pensé que sería algo malo con mi sintaxis de comando. Me alegro de que fuera algo simple. ¡¡¡Gracias!!! Otorgar la respuesta a esta publicación ya que era la solución más directa y descriptiva para MI problema, aunque la respuesta de Dennis también sugirió esto y también habría resuelto el problema.
Travesty3
7

Intente cambiar la propiedad de /dev/sdb1root:

chown root:root /dev/sdb1

y tu fstablínea para

/dev/sdb1   /mnt/sdcard auto    rw,user,noauto,exec,utf8   0   0

Y haz mountesto así:

mount /dev/sdb1
Pausado hasta nuevo aviso.
fuente
¡Gracias por la respuesta! Su solución también habría resuelto el problema, y ​​es de esperar que otras personas que lean esta publicación también se ayuden con sus otras sugerencias. ¡Gracias de nuevo!
Travesty3
-1

Creo que la opción automática hace el lío. Reemplácelo con noauto.

gogiel
fuente
tenga en cuenta que es el "auto" en "auto, user, rw, exec", no el "auto" independiente. el "auto" independiente es para detectar el sistema de archivos a usar y debería estar bien.
quack quijote
No, el mismo problema. lo cambié para decir / dev / sdb1 / mnt / sdcard auto noauto, user, rw, exec 0 0. No estoy seguro de si era necesario o no, pero como este es un servidor dev y puedo, reinicié la computadora después de modificar el archivo fstab, en vano. gracias por la sugerencia, sigan viniendo!
Travesty3