Cómo montar un recurso compartido SMB al que puede acceder cualquier persona en Mac OS X El Capitan

10

¿Cómo puedo montar un recurso compartido de red SMB al que pueda acceder cualquiera? Esto es lo que probé:

Usando el comando de montaje

me$ sudo mkdir /Multimedia
me$ sudo chmod 777 /Multimedia
me$ sudo mount -t smbfs -o nosuid,-d=777 //user:password@qnap/Multimedia /Multimedia/

entonces

me$ cd /Multimedia      
-bash: cd: /Multimedia: Permission denied

permiso en / Multimedia después del montaje

drwxrwxrwx   1 root  wheel  16384 Nov  8 11:04 Multimedia

pero esto funciona

root# cd /Multimedia

tl; dr solo root puede acceder al recurso compartido montado

Usando automount

en /etc/auto_master

#
# Automounter master map
#
+auto_master            # Use directory service
/net                    -hosts          -nobrowse,hidefromfinder,nosuid
/home                   auto_home       -nobrowse,hidefromfinder
/Network/Servers        -fstab
/-                      -static
### SMB shares
/-                      /etc/automounts/smb -nosuid,noowners

en /etc/automounts/smb

/Multimedia        -fstype=smbfs,soft,noowners,noatime,nosuid ://user:password@qnap/Multimedia

entonces

me$ sudo automount -vc
automount: /net updated
automount: /home updated
automount: /Multimedia mounted
automount: no unmount

después de esto

me$ cd /Multimedia
me$ ls -ld /Multimedia/
drwx------  1 me  staff  16384 Nov  8 11:04 /Multimedia/

¡Trabajos! Pero desafortunadamente otros usuarios no tienen acceso

otheruser$ cd /Multimedia 
-bash: cd: /Multimedia: Permission denied

Sin embargo, si yo

me$ umount /Multimedia

y entonces

otheruser$ cd /Multimedia
otheruser$ ls -ld /Multimedia 
drwx------  2 otheruser  staff  1 Nov  8 15:17 /Multimedia

¡Trabajos! Pero

me$ cd /Multimedia
-bash: cd: /Multimedia: Permission denied

y todavía

root# cd /Multimedia

¡Trabajos!

tl; dr solo el usuario que causó el montaje automático y el root tienen acceso al recurso compartido

Rytis I
fuente
Verificó su primer método y no encontró ningún problema. Podría montar y acceder al recurso compartido con root, yo y otros usuarios. Después de montar, independientemente de las banderas noowners o nosuid, siempre obtuve al usuario actual como propietario y staffcomo grupo en un punto de montaje. (por cierto que tienes un error tipográfico nownessen /etc/auto_master)
techraf
1
@techraf buena captura! Gracias por verificar, es muy extraño que tengas un resultado diferente. ¿Podría el permiso de la acción misma tener algo que ver con eso? Trataré de meterme con esto esta noche
Rytis I
1
Hola @Rytis l, tengo el mismo problema: ¿resolviste esto?
HankCa
@HankCa no, todavía tengo este problema :(
Rytis I
Me pregunto si ha encontrado una manera de resolver este problema.
The Lazy Log

Respuestas:

2

Haga que el recurso compartido SMB se pueda montar como invitado, luego se montará con los permisos correctos.

Tuve exactamente el mismo problema y esto funciona para mí en High Sierra:

/ etc / auto_nfs:

Public -fstype=smbfs,soft,noowners,noatime,nosuid smb://[email protected]/Public

Y después del montaje, tendrá derechos drwxrwxrwx y puedo buscarlo desde diferentes usuarios.

Tommi Uimonen
fuente
1

Parece que macOS no permite a los usuarios montar unidades de red SMB con bits uid / gid personalizados. Y solo permite que un usuario que monta un disco acceda al disco. No sé si a Apple le importa la seguridad o si es solo un error. Pero desafortunadamente, es por años. He probado varios casos en una unidad compartida de macOS a macOS:

    known-user@a-server:~% sudo ls -l
    -rw-r-----  1 known-user    known-group    0 Jun 13 10:50 a-file
    -rw-r-----  1 known-user    unknown-group  0 Jun 13 10:50 b-file
    -rw-r-----  1 unknown-user  known-group    0 Jun 13 10:50 c-file
    -rw-r-----  1 unknown-user  unknown-group  0 Jun 13 10:50 b-file

    who-mount@my-desktop:~% sudo ls -l
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 a-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 b-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 c-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 d-file

    who-mount@my-desktop:~% cat a-file
    who-mount@my-desktop:~% echo hello > a-file

    who-mount@my-desktop:~% cat b-file
    who-mount@my-desktop:~% echo hello > b-file

    who-mount@my-desktop:~% cat c-file
    who-mount@my-desktop:~% echo hello > c-file
    zsh: permission denied: c-file

    who-mount@my-desktop:~% cat d-file
    cat: d-file: Permission denied
    who-mount@my-desktop:~% echo hello > d-file
    zsh: permission denied: d-file
  1. El uid / gid de los archivos / carpetas compartidos son siempre who-mount:whose-group
  2. Los bits de permiso son los mismos en el servidor compartido a-server
  3. El servidor trata who-mountcomo known-user:known-group (aquí known-groupestá el grupo predeterminado de know-user)

Una sugerencia es usar Fuse para macOS . Proporciona opciones personalizadas de uid / gid y bits de permisos con -obandera; echa un vistazo a bindfs que monta la unidad FUSE y altera el permiso. Con los bindfs, puede montar la unidad smb obtenida con permiso después de montar la unidad smb de la manera que mencionó.

Pero, creo, lo mejor es que cada usuario tiene sus propias unidades compartidas.

Daehyun You
fuente
-1

Tengo una pregunta que podría ser una respuesta ...
¿Por qué no usas "Compartir" en las preferencias del sistema?
Luego selecciona Compartir archivos, configura carpetas y usuarios y, bajo el botón "Opciones", encontrará SMB.
Eso debería hacer el truco y mucho más fácilmente que con la CLI.

Marc Augier
fuente
No estoy seguro si esto cubre mi caso de uso. La idea es que el recurso compartido debe montarse en el inicio del sistema operativo para cada usuario. Pero lo intentaré e informaré
Rytis I
OK, así que "Compartir" comparte una carpeta de Mac a otros. Lo que intento es lograr lo contrario. Estoy tratando de montar un recurso compartido de red existente en mi mac.
Rytis I
Muy bien, ¿entonces quieres compartir una carpeta de Linux? Qorry, estaba buscando la dirección incorrecta ^ _ ^ También lo hice en un sistema Debian. Puede que sea demasiado vago, pero en lugar de CLI también utilicé el panel de preferencias de Gnome para activar el uso compartido en una carpeta.
Marc Augier