Guida per l'amministratore IT (MDM)
Distribuzione tramite Mobile Device Management (MDM)
Con Network Share Mounter puoi gestire le condivisioni centralmente, forzare le impostazioni dell’applicazione e distribuire le configurazioni di autenticazione tramite un profilo di configurazione macOS standard.
Preference Domain: de.fau.rrze.NetworkShareMounter
Per semplificare la configurazione di tutte le chiavi di preferenza - senza dover creare o modificare manualmente un profilo di configurazione personalizzato in formato XML - forniamo due file utili: uno schema di manifesto JSON per Jamf Pro e un manifesto per iMazing Profile Editor.
Per facilitare la distribuzione dell’app tramite AutoPKG, forniamo anche le relative ricette de.fau.rrze.pkg.networkShareMounter.
1. L’array managedNetworkShares
Il cuore del payload è l’array managedNetworkShares. Qui definisci le condivisioni che desideri montare per i tuoi utenti.
Nota: puoi utilizzare la variabile %USERNAME% nei percorsi, che verrà automaticamente sostituita dal nome di accesso macOS dell’utente corrente.
<key>managedNetworkShares</key>
<array>
<dict>
<key>networkShare</key>
<string>smb://fileserver.company.local/global</string>
<key>authType</key>
<string>krb</string>
</dict>
<dict>
<key>networkShare</key>
<string>smb://home.company.local/%USERNAME%</string>
<key>authType</key>
<string>password</string>
<!-- NUOVO nella V4: Definire opzionalmente il nome del punto di montaggio locale in modo centralizzato -->
<key>mountPoint</key>
<string>Global-Company-Data</string>
</dict>
</array>
2. Chiavi di configurazione disponibili
Di seguito è riportato un elenco completo di tutte le chiavi MDM disponibili che è possibile distribuire per configurare il comportamento dell’app.
| Chiave | Tipo | Predefinito | Descrizione |
|---|---|---|---|
managedNetworkShares | Array of Dict | Array contenente dizionari per ogni condivisione (richiede networkShare e authType, opzionali mountPoint e username). | |
autostart | Boolean | false | Se true, l’app si avvia automaticamente al login dell’utente. |
canChangeAutostart | Boolean | true | Se false, impedisce all’utente di modificare l’opzione di avvio automatico nelle impostazioni. |
canQuit | Boolean | true | Se true, l’utente è autorizzato a chiudere l’app dalla barra dei menu. |
unmountOnExit | Boolean | true | Se true, le condivisioni gestite vengono disconnesse automaticamente alla chiusura dell’app. |
location | String | - | ⚠️ Percorso in cui verranno montate le condivisioni di rete. Si consiglia vivamente di lasciare vuoto questo campo per utilizzare il percorso predefinito. |
kerberosRealm | String | - | Dominio Kerberos/AD per l’autenticazione utente (es. EXAMPLE.COM). Abilita la gestione automatica dei ticket AD/Kerberos. |
helpURL | String | - | URL dell’helpdesk interno dell’organizzazione o della documentazione IT. |
showMountsInMenu | Boolean | true | Elenca le condivisioni montate/smontate direttamente nella barra dei menu per un accesso rapido. |
usernameOverride | String | - | Sostituisce la variabile %USERNAME%. Utile se il nome utente Mac locale differisce dal nome utente AD/di rete. |
Nota: Il vecchio array networkShares della versione 2 è deprecato, ma rimane supportato per motivi di retrocompatibilità.
3. Personalizzazione della barra dei menu
Hai un controllo granulare su ciò che l’utente vede nella barra dei menu. Utilizza le seguenti chiavi di tipo String e imposta il loro valore su hidden (rimuove completamente l’elemento) o disabled (ingrigisce l’elemento). Se una chiave non è definita, la voce di menu viene visualizzata normalmente.
menuConnectSharesmenuDisconnectSharesmenuShowSharesMountDirmenuShowSharesmenuSettingsmenuCheckUpdatesmenuAbout
Esempio di payload per nascondere impostazioni e aggiornamenti:
<key>menuSettings</key>
<string>hidden</string>
<key>menuCheckUpdates</key>
<string>hidden</string>
4. Gestione degli aggiornamenti software (Sparkle)
Network Share Mounter utilizza il framework Sparkle per gli aggiornamenti automatici. Negli ambienti aziendali, di solito si desidera disabilitarlo per gestire gli aggiornamenti tramite l’MDM.
| Chiave | Tipo | Predefinito | Descrizione |
|---|---|---|---|
enableAutoUpdater | Boolean | true | Interruttore principale per il framework di aggiornamento. Imposta su false per disabilitare completamente gli aggiornamenti automatici. |
SUEnableAutomaticChecks | Boolean | true | Se enableAutoUpdater è true, controlla se l’app cerca attivamente gli aggiornamenti. |
SUAutomaticallyUpdate | Boolean | true | Se true, gli aggiornamenti vengono scaricati e installati automaticamente senza la conferma dell’utente. |
5. Avvio automatico ed esecuzione in background
Attivazione dell’avvio automatico iniziale
A causa del design di sicurezza di macOS, un’app deve essere avviata almeno una vez prima che la sua routine di avvio automatico possa subentrare. Per garantire una distribuzione completamente invisibile senza l’interazione dell’utente, puoi configurare il tuo MDM (es. Jamf Pro) per avviare l’app una sola volta, subito dopo l’installazione o durante il primo login.
Esempio di policy Jamf:
- Trigger: Login
- Frequency: Once per user per computer
- Command:
sudo -u $(stat -f%Su /dev/console) open -a "/Applications/Network Share Mounter.app"
Impedire agli utenti di disattivare l’avvio automatico (macOS 13+)
macOS 13 (Ventura) e versionie successive consentono agli utenti di disabilitare liberamente le applicazioni in background tramite le Impostazioni di Sistema. Per imporre l’avvio automatico e impedire agli utenti di spegnere Network Share Mounter, dovresti distribuire un payload Managed Login Items insieme al tuo profilo di configurazione:
- Rule Type:
Bundle Identifier - Rule Value:
de.fau.rrze.NetworkShareMounter - Rule Comment:
Prevent disabling Network Share Mounter autostart
6. Controllo tramite segnali UNIX
Network Share Mounter può essere controllato tramite segnali UNIX. Questo permette di smontare o montare specificamente tutte le condivisioni configurate tramite uno script, senza utilizzare l’interfaccia dell’app. Ciò è particolarmente utile per fornire compiti in un Self Service Portal affinché gli utenti possano “riparare” le unità di rete.
Segnali disponibili
| Segnale | Azione |
|---|---|
SIGUSR1 | Smonta tutte le condivisioni (Unmount) |
SIGUSR2 | Monta tutte le condivisioni (Mount) |
Esempio:
# Smonta tutte le condivisioni
kill -SIGUSR1 <PID>
# Monta tutte le condivisioni
kill -SIGUSR2 <PID>
Nota: <PID> è l’ID di processo del Network Share Mounter in esecuzione.
7. Problemi MDM noti
Jamf Pro: L’aggiornamento dell’inventario (recon) si blocca
Se utilizzi la configurazione predefinita e monti le condivisioni direttamente all’interno della cartella Inizio dell’utente (es. ~/Network shares), la raccolta dell’inventario di Jamf Pro (recon) potrebbe bloccarsi all’infinito. Questo accade perché Jamf tenta di calcolare le dimensioni di archiviazione dell’intera cartella Inizio, scansionando di fatto tutte le condivisioni di rete connesse.
Soluzione: Vai su Settings > Computer Management - Management Framework > Inventory Collection in Jamf Pro e disabilita l’opzione Include home directory sizes. In alternativa, modifica il percorso di montaggio predefinito dell’app tramite il tuo profilo MDM.
Network Share Mounter v3
Se hai ancora bisogno del vecchio Network Share Mounter (v3, v2, Legacy), puoi trovare la documentazione nel nostro repository.