Passare nome utente e password UNC all'interno di un percorso UNC


21

È possibile passare il nome utente e la password UNC all'interno di un percorso UNC?

Simile a come FTP e SMB supportano questo:

smb://user:pass@destination.com/share
ftp://user:pass@destination.com/share

Sto cercando di ottenere un accesso al servizio (non dominio di dominio) su un percorso DFS.

C'è un altro modo per aggirare questo? Potrei legare il PC al dominio ed eseguire il servizio come utente di dominio, ma cosa accadrebbe se usassi Linux?

Risposte:


18

Su Windows, tu non può inserire le credenziali nei percorsi UNC. Devi fornire loro usando net use, runas /netonlyo quando richiesto da Windows. (Se si dispone di alcune capacità di programmazione, è possibile memorizzare la password SMB come "credenziale di dominio" utilizzando CredWrite(), che equivale a controllare la casella "Ricorda password" in Windows.)

Su Linux, dipende dal programma.

  • Il GVfs di GNOME accetta il user@host sintassi, ma sembra ignorare completamente la password. (Tuttavia, è possibile memorizzarlo in precedenza in GNOME Keyring).

  • smbclient utilizza la stessa sintassi UNC di Windows; tuttavia, ha un --authentication-file opzione da cui è possibile leggere le credenziali.

  • Entrambi i programmi di cui sopra stanno usando libsmbclient e può utilizzare l'autenticazione Kerberos anziché le password: eseguire kinit user@YOUR.DOMAIN e usare smbclient -k //host/share. Questo è più sicuro dell'autenticazione tramite password.

Si noti che mettere le password negli URI è deprecato e non si deve fare affidamento sul fatto che sia supportato in qualunque posto .


Hai un riferimento riguardo a "mettere le password negli URI è deprecato"?
Alexis Wilke

2
@AlexisWilke RFC 1738 § 3.3 iniziato non permettendo loro in HTTP, RFC 2396 § 3.2.2 aveva un generale "non raccomandato", e RFC 3986 § 3.2.1 dice "Uso del formato" utente: password "nel campo userinfo è deprecato".
grawity

13

È possibile mappare un "drive" al percorso UNC utilizzando net use. Gli accessi futuri dovrebbero condividere la connessione esistente

Net Use \\yourUNC\path /user:uname password

Nota: non è necessario specificare una lettera di unità


1

Penso che il nome utente e la password devono essere passati al server per l'autenticazione prima di poter eseguire qualsiasi accesso ai file, quindi il codice che gestisce la connessione SMB deve essere in grado di analizzare e aggiungere il nome utente e la password dall'URL. Dovrai controllare se quel codice supporta questo formato oppure no.

In caso contrario, è possibile montare la condivisione SMB tramite SAMBA e indirizzare il programma a utilizzare tale percorso "locale". Puoi inserire la montatura fstab e utilizzare un file di password SAMBA per fornire le credenziali dell'utente. Ricordarsi di impostare le autorizzazioni corrette per il file di password in modo che gli utenti normali non possano leggerlo.

Si noti che è una cattiva pratica memorizzare le password in testo non crittografato nei file di configurazione, quindi anche se il programma è in grado di gestire la password nell'URL, è necessario considerare il metodo di condivisione montato.


È fstab non un "file di configurazione del testo in chiaro"?
grawity

1
Sì, ma in fstab si fa riferimento al file della password anziché includere direttamente la password. Quindi puoi proteggere il file della password cambiando il proprietario in root e la modalità in 400.
billc.cn

Questo è ancora un file di configurazione in chiaro. Chiunque che l'accesso fisico alla macchina può avere i permessi di root tramite il riavvio. Ambienti desktop come XFCE, KDE e Gnome possono memorizzare le credenziali in un vault della password, che è probabilmente l'opzione migliore.
bobpaul

0

È possibile aggiungere le credenziali in Pannello di controllo / Utenti / Gestione credenziali di Windows in modo che le credenziali vengano memorizzate nella cache. Dovresti aggiungere il nome del dispositivo (server.dominio.locale) con il nome utente / password del dominio, quindi dovresti essere in grado di accedere alla condivisione senza fornire nuovamente le credenziali.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.