¿Por qué mi Mac Pro no se puede conectar a un recurso compartido de SMB a través de la red?

2

Tengo un problema realmente extraño. Tengo una Raspberry Pi que ejecuta un servidor SMB que aparece en la barra lateral del Finder. Por lo general, solo puedo hacer clic en él y conectarme. Hoy mismo, dejó de funcionar y me da el error "Error de conexión". Ha funcionado bien en el pasado. Estoy ejecutando OS 10.8.4 en un Mac Pro. Nuestro MBP (también 10.8.4) se conecta bien, sin problemas. Veo los mensajes de registro en Console.app como tales:

9/10/13 7:14:43.869 PM com.apple.kextd[12]: Request from non-root process 'netbiosd' (euid 222) to load /System/Library/Extensions/smbfs.kext - not allowed.
9/10/13 7:14:43.870 PM netbiosd[84]: Loading com.apple.filesystems.smbfs status = -603947004

¿Pensamientos?

    
pregunta daviesgeek 11.09.2013 - 04:16

4 respuestas

2

Esencialmente:

El sistema operativo ha perdido su integridad

¿Puede estar seguro de que todas las otras partes del sistema operativo son integrales?

Recomendaciones

Verifique el sistema de archivos: use la Utilidad de Discos.

Verifique el disco más a fondo. Para esto, puede usar badblocks, o algo como Drive Genius .

Utilice App Store para descargar el instalador completo de OS X Mountain Lion para OS X 10.8.5.

Reinstale el sistema operativo.

    
respondido por el Graham Perrin 18.09.2013 - 19:33
2

Primero, intenta reiniciar el uso compartido de archivos en el panel de preferencias de uso compartido.

Hay un error en OS X que aún vive en 10.8.5, donde una condición de carrera puede hacer que se inicie el uso compartido de archivos antes de que se realice una configuración de autenticación, lo que hace que falle cualquier conexión SMB a recursos compartidos de red con cualquier tipo de privilegio .

Si esto solucionó tu problema, una forma de automatizar este proceso es crear un agente launchd con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.mcdado.restart_smb</string>
        <key>ProgramArguments</key>
        <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>sleep 60;touch "/Library/Preferences/SystemConfiguration/com.apple.smb.server.plist"</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

Guarde este archivo en ~/Library/LaunchAgents/com.mcdado.restart_smb , luego cárguelo ejecutando el siguiente comando: sudo launchctl load ~/Library/LaunchAgents/com.mcdado.restart_smb

Fuente: SMB y Lion | Codificación Oceanside

    
respondido por el mcdado 18.09.2013 - 10:36
1

He hecho una secuencia de sugerencias de solución de problemas en los comentarios, que estoy grabando como respuesta a continuación. Si encontramos una solución, editaré esta respuesta.

1. Asegúrese de que OSBundleAllowUserLoad sea verdadero

La página del manual de Apple para kextload dice

  

Para la mayoría de los kexts, kextload debe ejecutarse como superusuario (root). Los Kexts instalados en / System / con una propiedad OSBundleAllowUserLoad establecida en true pueden cargarse a través de kextload por usuarios no root.

Así que me pregunto si esa propiedad se ha cambiado de alguna manera en tu Mac Pro. En mi sistema 10.8.4, cat /System/Library/Extensions/smbfs.kext/Contents/Info.plist da la lista alargada que se muestra al final de esta respuesta. (La última línea debe ser </plist> ... es posible que deba desplazarse para verla).

Tenga en cuenta que mi listado incluye lo siguiente:

    <key>OSBundleAllowUserLoad</key>
    <true/>

Si su archivo no incluye estas líneas (que indican la clave y el valor asociado mencionado en la página de manual más arriba), sugeriría:

  1. Realice una copia de seguridad del archivo , por ejemplo, utilizando cp -p /System/Library/Extensions/smbfs.kext/Contents/Info.plist ~/Desktop/ (el argumento -p conserva las fechas y otros metadatos del archivo)
  2. Edite el archivo para incluir las líneas que mencioné anteriormente. Debido a que el archivo es propiedad de la raíz, no puede simplemente editarlo en TextEdit. Podrías usar sudo nano /System/Library/Extensions/smbfs.kext/Contents/Info.plist . O hay soluciones que permiten el uso de TextEdit: consulte esta respuesta . (Por cierto: sospecho que es posible hacerlo usando defaults write , pero prefiero evitar el riesgo de escribir invisiblemente en el archivo incorrecto por error).
  3. Reinicia y prueba.

No sé cómo esa clave y el valor podrían haber desaparecido, pero vale la pena intentarlo de nuevo. (No sé si esto funcionará. No lo he intentado, y la firma del código puede evitar este tipo de modificación.) Además: ¡tenga cuidado de hacer una copia de seguridad y editar solo este archivo!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BuildMachineOSBuild</key>
    <string>12E53</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>smbfs</string>
    <key>CFBundleIdentifier</key>
    <string>com.apple.filesystems.smbfs</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>smbfs</string>
    <key>CFBundlePackageType</key>
    <string>KEXT</string>
    <key>CFBundleShortVersionString</key>
    <string>1.8.4</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1.8.4</string>
    <key>DTCompiler</key>
    <string></string>
    <key>DTPlatformBuild</key>
    <string>4F250</string>
    <key>DTPlatformVersion</key>
    <string>GM</string>
    <key>DTSDKBuild</key>
    <string>12E53</string>
    <key>DTSDKName</key>
    <string></string>
    <key>DTXcode</key>
    <string>0440</string>
    <key>DTXcodeBuild</key>
    <string>4F250</string>
    <key>NSHumanReadableCopyright</key>
    <string>Copyright © 2004-2013 Apple Inc. All rights reserved.</string>
    <key>OSBundleAllowUserLoad</key>
    <true/>
    <key>OSBundleLibraries</key>
    <dict>
        <key>com.apple.kext.triggers</key>
        <string>1.0.0d1</string>
        <key>com.apple.kpi.bsd</key>
        <string>9.0.0</string>
        <key>com.apple.kpi.iokit</key>
        <string>9.0.0</string>
        <key>com.apple.kpi.libkern</key>
        <string>9.0.0</string>
        <key>com.apple.kpi.mach</key>
        <string>9.0.0</string>
        <key>com.apple.kpi.private</key>
        <string>10.0.0d1</string>
        <key>com.apple.kpi.unsupported</key>
        <string>9.0.0</string>
    </dict>
    <key>OSBundleRequired</key>
    <string>Safe Boot</string>
</dict>
</plist>

El póster original (OP) intentó esto, pero no funcionó.

2. Pida a kextutil algunos diagnósticos

Primero, descargue el kext (por si acaso ... esto no hace ningún daño si ya está descargado):

sudo kextunload /System/Library/Extensions/smbfs.kext

Luego, pida a kextutil que muestre algunos diagnósticos ( -verbose 6 es la opción de "cantidad de salida" más alta):

sudo kextutil -print-diagnostics -verbose 6 /System/Library/Extensions/smbfs.kext

3. La salida de diagnóstico mostró una dependencia de un kext diferente, que faltaba

La salida del OP incluía lo siguiente:

...
/System/Library/Extensions/smbfs.kext - no dependency found for com.apple.kec.corecrypto.
...
Dependency Resolution Failures:
    Only Apple kexts may link against com.apple.kpi.private.
    No kexts found for these libraries:
        com.apple.kec.corecrypto

... y llegamos a la conclusión de que faltaba /System/Library/Extensions/corecrypto.kext , aunque no sabemos por qué.

4. Copie a través del corecrypto.kext faltante de otra máquina (que ejecuta la misma versión de OS X)

El OP copiado en el kext faltante, reiniciado y reexaminado. Todavía no habíamos encontrado una solución. Sin embargo, la salida de diagnóstico kextutil ha cambiado, ahora muestra la (lista completa) a continuación:

Kext user-space log filter changed from 0xff2 to 0xfff.
Kext kernel-space log filter changed from 0xff2 to 0xfff.
Kext library architecture set to i386.
No kernel file specified, using '/mach_kernel' 
Kext library recording diagnostics for: validation authentication dependencies warnings.
/System/Library/Extensions/smbfs.kext has an Apple prefix but no copyright.
/System/Library/Extensions/smbfs.kext has an Apple prefix but no copyright.
/System/Library/Extensions/smbfs.kext has an Apple prefix but no copyright.
Diagnostics for /System/Library/Extensions/smbfs.kext:
Dependency Resolution Failures: 
    Only Apple kexts may link against com.apple.kpi.private.

5. ¿Quizás el paquete smbfs.kext está dañado?

Mi suposición, basada en la salida anterior, es que el sistema operativo cree que smbfs.kext no es una extensión de Apple (cuando en realidad lo es). Sugerí que el OP restaure smbfs.kext desde una copia de seguridad o una copia desde otra máquina. Resultados actualmente desconocidos.

En comparación, en mi máquina, donde SMB parece estar funcionando correctamente, la salida completa de sudo kextutil -print-diagnostics -verbose 6 /System/Library/Extensions/smbfs.kext es:

Kext user-space log filter changed from 0xff2 to 0xfff.
Kext kernel-space log filter changed from 0xff2 to 0xfff.
Kext library architecture set to x86_64.
No kernel file specified, using '/mach_kernel' 
Kext library recording diagnostics for: validation authentication dependencies warnings.
/System/Library/Extensions/smbfs.kext appears to be loadable (not including linkage for on-disk libraries).
Loading /System/Library/Extensions/smbfs.kext.
Reading load info for 8 kexts.
Reading loaded kext info from kernel.
(kernel) User-space log flags changed from 0x0 to 0xfff.
(kernel) Received 'Get Loaded Kext Info' request from user space.
(kernel) Returning loaded kext info.
Loaded kext info:
{
"com.apple.kpi.mach" = {
    "OSBundleWiredSize" = 2188
    "CFBundleIdentifier" = "com.apple.kpi.mach"
    "OSBundleUUID" = <4edbbc26 0d734a03 b9f2131a ac114ede>
    "OSBundleLoadAddress" = -551895728128
    "OSBundleLoadTag" = 5
    "OSBundleStarted" = true
    "OSBundleCompatibleVersion" = "8.0.0d0"
    "OSKernelResource" = true
    "CFBundleVersion" = "12.4.0"
    "OSBundlePath" = 
        "//System/Library/Extensions/System.kext/PlugIns/Mach.kext"
    "OSBundleRetainCount" = 90
    "OSBundlePrelinked" = true
    "OSBundleIsInterface" = true
    "OSBundleLoadSize" = 2188
}
"com.apple.kpi.libkern" = {
    "OSBundleWiredSize" = 39416
    "CFBundleIdentifier" = "com.apple.kpi.libkern"
    "OSBundleUUID" = <5cfa490e 7e0540f5 bb983f3e 8ca54d37>
    "OSBundleLoadAddress" = -551895687168
    "OSBundleLoadTag" = 4
    "OSBundleStarted" = true
    "OSBundleCompatibleVersion" = "8.0.0d0"
    "OSKernelResource" = true
    "CFBundleVersion" = "12.4.0"
    "OSBundlePath" = 
        "//System/Library/Extensions/System.kext/PlugIns/Libkern.kext"
    "OSBundleRetainCount" = 104
    "OSBundlePrelinked" = true
    "OSBundleIsInterface" = true
    "OSBundleLoadSize" = 39416
}
"com.apple.kpi.bsd" = {
    "OSBundleWiredSize" = 26732
    "CFBundleIdentifier" = "com.apple.kpi.bsd"
    "OSBundleUUID" = <ed0f756e c36b41ee 9e630573 11c12b4e>
    "OSBundleLoadAddress" = -551895646208
    "OSBundleLoadTag" = 1
    "OSBundleStarted" = true
    "OSBundleCompatibleVersion" = "8.0.0b1"
    "OSKernelResource" = true
    "CFBundleVersion" = "12.4.0"
    "OSBundlePath" = 
        "//System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext"
    "OSBundleRetainCount" = 71
    "OSBundlePrelinked" = true
    "OSBundleIsInterface" = true
    "OSBundleLoadSize" = 26732
}
"com.apple.kpi.iokit" = {
    "OSBundleWiredSize" = 112620
    "CFBundleIdentifier" = "com.apple.kpi.iokit"
    "OSBundleUUID" = <bd6bb21a 080d4f2b a6590437 d164ecde>
    "OSBundleLoadAddress" = -551895605248
    "OSBundleLoadTag" = 3
    "OSBundleStarted" = true
    "OSBundleCompatibleVersion" = "7.0"
    "OSKernelResource" = true
    "CFBundleVersion" = "12.4.0"
    "OSBundlePath" = 
        "//System/Library/Extensions/System.kext/PlugIns/IOKit.kext"
    "OSBundleRetainCount" = 99
    "OSBundlePrelinked" = true
    "OSBundleIsInterface" = true
    "OSBundleLoadSize" = 112620
}
"com.apple.kpi.unsupported" = {
    "OSBundleWiredSize" = 9164
    "CFBundleIdentifier" = "com.apple.kpi.unsupported"
    "OSBundleUUID" = <0a01a811 58284493 99b48233 fd6edeaa>
    "OSBundleLoadAddress" = -551895699456
    "OSBundleLoadTag" = 7
    "OSBundleStarted" = true
    "OSBundleCompatibleVersion" = "8.0.0b1"
    "OSKernelResource" = true
    "CFBundleVersion" = "12.4.0"
    "OSBundlePath" = 
        "//System/Library/Extensions/System.kext/PlugIns/Unsupported.kext"
    "OSBundleRetainCount" = 54
    "OSBundlePrelinked" = true
    "OSBundleIsInterface" = true
    "OSBundleLoadSize" = 9164
}
"com.apple.kext.triggers" = {
    "OSBundleWiredSize" = 20480
    "CFBundleIdentifier" = "com.apple.kext.triggers"
    "OSBundleStarted" = true
    "OSBundleCPUType" = 16777223
    "OSBundleCompatibleVersion" = "1.0.0d1"
    "OSBundleUUID" = <e376df1d 63633e78 af0820ba bbf94701>
    "OSKernelResource" = false
    "CFBundleVersion" = "1.0"
    "OSBundleLoadTag" = 109
    "OSBundleLoadAddress" = -551874535424
    "OSBundleDependencies" = (
        1
        4
        3
        7
        6
        5
    )
    "OSBundlePath" = "//System/Library/Extensions/triggers.kext"
    "OSBundleRetainCount" = 1
    "OSBundleCPUSubtype" = 3
    "OSBundlePrelinked" = true
    "OSBundleIsInterface" = false
    "OSBundleLoadSize" = 20480
}
"com.apple.kpi.private" = {
    "OSBundleWiredSize" = 20492
    "CFBundleIdentifier" = "com.apple.kpi.private"
    "OSBundleUUID" = <9a83c9f5 ff6145e6 837c7cf7 e10f3654>
    "OSBundleLoadAddress" = -551895724032
    "OSBundleLoadTag" = 6
    "OSBundleStarted" = true
    "OSBundleCompatibleVersion" = "8.0.0b1"
    "OSKernelResource" = true
    "CFBundleVersion" = "12.4.0"
    "OSBundlePath" = 
        "//System/Library/Extensions/System.kext/PlugIns/Private.kext"
    "OSBundleRetainCount" = 40
    "OSBundlePrelinked" = true
    "OSBundleIsInterface" = true
    "OSBundleLoadSize" = 20492
}
}

/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 12.4, UUID ED0F756E-C36B-41EE-9E63-057311C12B4E) is loaded.
/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext to 0xffffff7f8074c000
/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 12.4, UUID 4EDBBC26-0D73-4A03-B9F2-131AAC114EDE) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Mach.kext to 0xffffff7f80738000
/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 12.4, UUID 5CFA490E-7E05-40F5-BB98-3F3E8CA54D37) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Libkern.kext to 0xffffff7f80742000
/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 12.4, UUID BD6BB21A-080D-4F2B-A659-0437D164ECDE) is loaded.
/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/IOKit.kext to 0xffffff7f80756000
/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 12.4, UUID 0A01A811-5828-4493-99B4-8233FD6EDEAA) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext to 0xffffff7f8073f000
/System/Library/Extensions/triggers.kext (version 1.0, UUID E376DF1D-6363-3E78-AF08-20BABBF94701) is loaded.
/System/Library/Extensions/triggers.kext (version 1.0): is started.
setting load address of /System/Library/Extensions/triggers.kext to 0xffffff7f81b6e000
/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 12.4, UUID 9A83C9F5-FF61-45E6-837C-7CF7E10F3654) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Private.kext to 0xffffff7f80739000
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Mach.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Libkern.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/IOKit.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Private.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/triggers.kext from mkext for kernel load.
Adding /System/Library/Extensions/smbfs.kext to mkext.
/System/Library/Extensions/smbfs.kext added 245568-byte noncompressed executable to mkext.
Created mkext for architecture x86_64 containing 1 kexts.
Loading /System/Library/Extensions/smbfs.kext.
(kernel) User-space log flags changed from 0x0 to 0xfff.
(kernel) Received kext load request from user space.
(kernel) Received request from user space to load kext com.apple.filesystems.smbfs.
(kernel) Loading kext com.apple.filesystems.smbfs.
(kernel) Kext com.apple.kpi.bsd is already loaded.
(kernel) Kext com.apple.kpi.mach is already loaded.
(kernel) Kext com.apple.kpi.libkern is already loaded.
(kernel) Kext com.apple.kpi.iokit is already loaded.
(kernel) Kext com.apple.kpi.unsupported is already loaded.
(kernel) Kext com.apple.kext.triggers is already loaded.
(kernel) Kext com.apple.kpi.private is already loaded.
(kernel) Allocated link buffer for kext com.apple.filesystems.smbfs at 0xffffff7f949c1000 (229376 bytes).
(kernel) Kext com.apple.filesystems.smbfs executable loaded; 56 pages at 0xffffff7f825c1000 (load tag 146).
(kernel) Kext com.apple.filesystems.smbfs calling module start function.
(kernel) Kext com.apple.filesystems.smbfs is now started.
(kernel) Kext com.apple.filesystems.smbfs loaded.
Successfully loaded /System/Library/Extensions/smbfs.kext.
/System/Library/Extensions/smbfs.kext successfully loaded (or already loaded).
    
respondido por el Ashley 15.09.2013 - 00:30
1

Es posible que desee restaurar los permisos de archivos / carpetas. Generalmente ayuda cuando las cosas dejan de funcionar.

Vaya a Applications/Disk Utility Haga clic en el volumen de inicio en el lado izquierdo, luego en "Reparar permisos" a la derecha.

Puede funcionar .

    
respondido por el wrossmck 14.09.2013 - 19:34

Lea otras preguntas en las etiquetas