Perché Mac Pro non può connettersi a una condivisione SMB sulla rete?

2

Ho un problema davvero strano. Ho un Raspberry Pi che esegue un server SMB che compare nella barra laterale del Finder. Di solito posso semplicemente cliccarci sopra e connetterti. Proprio oggi, ha smesso di funzionare e mi dà l'errore "Connessione fallita". Ha funzionato bene in passato. Sto usando OS 10.8.4 su un Mac Pro. Il nostro MBP (anche 10.8.4) si collega perfettamente, senza problemi. Vedo i messaggi di log in Console.app in quanto tale:

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

Pensieri?

    
posta daviesgeek 11.09.2013 - 04:16
fonte

4 risposte

2

In sostanza:

Il sistema operativo ha perso la sua integrità

Puoi essere certo che tutte le altre parti del sistema operativo siano parte integrante?

Raccomandazioni

Verifica il file system: usa Utility Disco.

Verifica il disco più a fondo. Per questo potresti usare i badblocks, o qualcosa come Drive Genius .

Usa App Store per scaricare il programma di installazione completo per OS X Mountain Lion per OS X 10.8.5.

Reinstallare il sistema operativo.

    
risposta data 18.09.2013 - 19:33
fonte
2

Innanzitutto, prova a riavviare la condivisione file nel riquadro delle preferenze di condivisione.

C'è un bug in OS X che vive ancora in 10.8.5, dove una condizione di competizione può causare l'avvio di Condivisione file prima che venga eseguita una configurazione di autenticazione, causando il fallimento di qualsiasi connessione SMB a condivisioni di rete con qualsiasi tipo di privilegi .

Se questo ha risolto il tuo problema, un modo per automatizzare questo processo è creare un agente launchd con i seguenti contenuti:

<?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>

Salva questo file in ~/Library/LaunchAgents/com.mcdado.restart_smb , quindi caricalo eseguendo il seguente comando: sudo launchctl load ~/Library/LaunchAgents/com.mcdado.restart_smb

Fonte: SMB e Lion | Codifica Oceanside

    
risposta data 18.09.2013 - 10:36
fonte
1

Ho inserito una sequenza di suggerimenti per la risoluzione dei problemi nei commenti, che sto registrando come risposta sotto. Se troviamo una soluzione, modificheremo questa risposta.

1. Assicurati che OSBundleAllowUserLoad sia vero

La pagina man di Apple per kextload dice

For most kexts, kextload must run as the superuser (root). Kexts installed under /System/ with an OSBundleAllowUserLoad property set to true may be loaded via kextload by non-root users.

Quindi mi chiedo se quella proprietà sia stata in qualche modo modificata sul tuo Mac Pro. Sul mio sistema 10.8.4, cat /System/Library/Extensions/smbfs.kext/Contents/Info.plist fornisce l'elenco di lunga durata mostrato in fondo a questa risposta. (L'ultima riga dovrebbe essere </plist> ... potrebbe essere necessario scorrere per vederlo.)

Tieni presente che la mia scheda include quanto segue:

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

Se il tuo file non include queste righe (che indicano la chiave e il valore associato menzionato nella pagina man in alto), ti suggerirei:

  1. Esegui il backup del file - ad esempio utilizzando cp -p /System/Library/Extensions/smbfs.kext/Contents/Info.plist ~/Desktop/ (l'argomento -p conserva le date e altri metadati sul file)
  2. Modifica il file per includere le righe che ho menzionato sopra. Poiché il file è di proprietà di root, non puoi semplicemente modificarlo in TextEdit. Potresti usare sudo nano /System/Library/Extensions/smbfs.kext/Contents/Info.plist . O ci sono soluzioni alternative che consentono l'uso di TextEdit: vedere questa risposta . (A proposito: ho il sospetto che sia possibile farlo usando defaults write , ma preferirei evitare il rischio di scrivere in modo invisibile sul file sbagliato per errore.)
  3. Riavvia e verifica.

Non so in che modo quella chiave e il valore potrebbero essere scomparsi, ma aggiungerlo di nuovo sembra valere la pena provare. (Non so se funzionerà - non l'ho provato, e la firma del codice potrebbe impedire questo tipo di modifica.) Inoltre: fai attenzione a eseguire il backup e modificare solo questo file!

<?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>

Il poster originale (OP) ha provato questo, ma non ha funzionato.

2. Chiedi kextutil per alcuni dati diagnostici

Per prima cosa, scarica il kext (nel caso in cui ... questo non faccia danno se è già stato scaricato):

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

Quindi chiedi a kextutil di mostrare alcuni dati diagnostici ( -verbose 6 è la più alta "quantità di output" scelta):

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

3. L'output diagnostico mostrava una dipendenza da un diverso kext, che mancava

L'output dell'OP includeva quanto segue:

...
/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

... e abbiamo concluso che mancava /System/Library/Extensions/corecrypto.kext , anche se non sappiamo perché.

4. Copia il corecrypto.kext mancante da un'altra macchina (eseguendo la stessa versione di OS X)

L'OP copiato attraverso il kext mancante, riavviato e ritestato. Non avevamo ancora trovato una soluzione. Tuttavia, l'output diagnostico kextutil era cambiato, ora mostra la (lista completa) sotto:

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. Forse il pacchetto smbfs.kext è danneggiato?

La mia ipotesi, basata sull'output precedente, è che il sistema operativo pensa che smbfs.kext non sia un'estensione Apple (quando è effettivamente). Ho suggerito l'OP ripristinare smbfs.kext da un backup, o copiare da un'altra macchina. Risultati attualmente sconosciuti.

Per confronto, sulla mia macchina, dove SMB sembra funzionare correttamente, l'output completo di sudo kextutil -print-diagnostics -verbose 6 /System/Library/Extensions/smbfs.kext è:

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).
    
risposta data 15.09.2013 - 00:30
fonte
1

Potresti voler ripristinare le autorizzazioni per file / cartelle. In genere aiuta quando le cose smettono di funzionare.

Vai a Applications/Disk Utility Fai clic sul volume di avvio sul lato sinistro, quindi su "Ripara permessi" sulla destra.

Può potrebbe funzionare.

    
risposta data 14.09.2013 - 19:34
fonte

Leggi altre domande sui tag