UNC kullanıcı adı ve şifresini bir UNC yolu içerisinde geçirmek


23

UNC kullanıcı adı ve şifresini bir UNC yolu içerisinde geçirmek mümkün müdür?

FTP ve SMB'nin bunu desteklediğine benzer:

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

DFS yoluna bir (etki alanı bilgisayarı olmayan) hizmet erişimi almaya çalışıyorum.

Bunun başka bir yolu var mı? Bilgisayarı etki alanına bağlayabilir ve hizmeti bir etki alanı kullanıcısı olarak çalıştırabilirdim, peki ya Linux kullanıyorsam?

Yanıtlar:


20

Windows'ta, sen olamaz UNC yollarında kimlik bilgilerini koydu. Onları kullanarak sağlamalıdır net use, runas /netonlyWindows tarafından sorulduğunda, ya. (Bazı programlama becerileriniz varsa, SMB şifresini CredWrite(), Windows'taki "Şifreyi hatırla" kutucuğunu işaretlemeye eşdeğer bir "etki alanı kimlik bilgisi" olarak saklayabilirsiniz .)

Linux'ta programa bağlıdır.

  • GNOME Gvfs user@hostsözdizimini kabul eder ancak şifreyi tamamen görmezden geliyor gibi görünmektedir. (Ancak, önceden GNOME Keyring'te saklayabilirsiniz.)

  • smbclientWindows ile aynı UNC sözdizimini kullanır; ancak, --authentication-filekimlik bilgilerinin okunabileceği bir seçeneği vardır .

  • Yukarıdaki her iki program da libsmbclient kullanıyor ve şifreler yerine Kerberos kimlik doğrulamasını kullanabilir: run kinit user@YOUR.DOMAINand use smbclient -k //host/share. Bu şifre doğrulamadan daha güvenlidir.

Şifrelerin URI'lara yerleştirilmesinin reddedildiğini ve hiçbir yerde desteklenmesine güvenmemeniz gerektiğini unutmayın .


"Parolaları URI'lere koymak kullanımdan kaldırıldı" ile ilgili bir referansınız var mı?
Alexis Wilke

2
@AlexisWilke RFC 1738 § 3.3, HTTP'ye izin vermeyerek başlatıldı, RFC 2396 § 3.2.2 daha genel bir "tavsiye edilmedi" ve RFC 3986 § 3.2.1 kullanıcı bilgisinde "" kullanıcı: şifre biçiminin kullanımı "diyor. alan kullanımdan kaldırıldı ".
Grawity

14

Bir "sürücüyü" kullanarak UNC yoluna eşleyebilirsiniz net use. Gelecekteki erişimler mevcut bağlantıyı paylaşmalı

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

Not: Bir sürücü harfi belirtmeniz gerekmez


1

Herhangi bir dosya erişimi yapılmadan önce, kullanıcı adı ve şifrenin kimlik doğrulaması için sunucuya iletilmesi gerektiğini düşünüyorum, bu nedenle SMB bağlantısını kullanan kodun kullanıcı adını ve şifreyi URL'den ayrıştırabilmesi ve ekleyebilmesi gerekir. Bu kodun bu formatı destekleyip desteklemediğini kontrol etmeniz gerekir.

Olmazsa, bu SMB paylaşımını SAMBA üzerinden bağlayabilir ve programınızı bu "yerel" yolu kullanmaya yönlendirebilirsiniz. fstabKullanıcı kimlik bilgilerini sağlamak için mount'u yerleştirebilir ve bir SAMBA şifre dosyası kullanabilirsiniz. Parola dosyasına doğru izinleri ayarlamayı unutmayın; böylece normal kullanıcılar okuyamaz.

Parolaları yapılandırma dosyalarında açık metin olarak saklamanın kötü bir uygulama olduğunu unutmayın, bu nedenle programınız URL’de parola işleyebilse bile, bağlı paylaşım yöntemini göz önünde bulundurmalısınız.


fstabbir "açık metin yapılandırma dosyası" değil?
Grawity

1
Evet, ancak fstab'da doğrudan şifreyi eklemek yerine şifre dosyasına bakın. Ardından şifre sahibini root ve mode 400 olarak değiştirerek güvence altına alabilirsiniz.
billc.cn

Bu hala bir cleartext config dosyası. Makineye fiziksel olarak erişebilen herkes, yeniden başlatma yoluyla kök izinlerine sahip olabilir. XFCE, KDE ve Gnome gibi masaüstü ortamları, kimlik bilgilerini bir şifre kasasında saklayabilir, bu da muhtemelen daha iyi bir seçenektir.
bobpaul

0

Kimlik bilgilerini önbelleğe almak için Denetim Masası / Kullanıcılar / Windows Kimlik Bilgisi Yöneticisi'ne kimlik bilgilerini ekleyebilirsiniz. Cihaz adını (server.domain.local) alan adı kullanıcı adı / şifresi ile eklersiniz, bu durumda kimlik bilgilerini tekrar vermeden paylaşıma erişebilmelisiniz.


0

Etki alanı olmayan bir PC, abone olmadığı veya doğrudan katılmadığı DFS'yi gerçekten önemsememelidir. Sadece bir paylaşım yolu görmesi gerekiyor (örn. Sunucu / paylaşım adı). Paylaşım adları, tüm ana dosya sunucusu yolundaki hususları kaldırır.

Dürüst olmak gerekirse, UNC URI'den daha çok hisse oturum açmak için daha güvenli yollar var. UNC ve URI kendileri açık bir metin iletişim protokolüdür.
Eğer bu kabul edilebilir bir güvenlik ise ... neden kullanıcı veya şifre olmadan sadece açık bir paya sahip değilsiniz?

En basit acil çözüm, hizmet kimlik bilgilerine doğrudan oturum açmaya doğrudan erişim sağlamak olacaktır (örneğin eşleşen kullanıcı / şifre). Çok açık olmayan eşleşmenin uzun sürmesi, işler zorlaştığında izinleri güncellemeyi hatırlamayı sağlayabilir. Üstelik, MS’in, güvenlik bilgilerinin bir kez daha kimlik bilgilerini nasıl geçtiğini ve işleri bozduğunu değiştirebileceği bir alan.

Uzun vadede en iyi basit şey muhtemelen yerel bir sürücü harfini kalıcı olarak ağ paylaşımına eşlemektir. Eşlenen sürücüyü yalnızca hizmet izinleri (ve uygun yöneticiler vb.) İle koruyun;

Ancak DFS, daha şık bir çözüme işaret ediyor. Linux ilk önce ağ paylaşımlarının kurulmasını gerektirir ... genellikle kök dosya sisteminde DFS'ye çok benzeyen bir dizin olarak. Linux mount komutu, kullanıcı adı ve şifre için bir kimlik bilgisi dosyası belirlemeye izin verir, böylece komut satırı betiğinden veya fstab'dan (yani dosya sistemi tablosu) daha kolay güncelleme ve daha güvenli olmalarını sağlar. Windows komut kabukları ve DFS aynı şeyi (bir süredir) yapabilir eminim. Betikte kodlanmış ve açık metin UNC olarak gönderilen kodlardan ziyade SMB ve oturum açma servisleri tarafından saklanan kimlik bilgilerini kullanarak monte edilmiş ağ paylaşımlarını kullanmak hedef PC'ye özel farklı bir DFS sistemi olacaktır.

Ayrıca, bu etki alanı olmayan PC'nin uzun süre etki alanı olmayan bir PC olarak kalmaya devam edeceğini düşünün. * NIX Realms içindeki Kerberos oturum açma sunucuları, Windows AD Etki Alanlarına bağlanabilir. Muhtemelen birkaç kişiden fazla olan uzun vadeli herhangi bir proje için ne yapmak istediğinizi. Öte yandan, çoğu ev ağı durumları için muhtemelen overkill. Her ne kadar DFS'yi, hobisinin kendi kendine meydan okumasından başka iyi bir neden için kullanıyorsanız, muhtemelen en iyisidir.


0

Kimlik bilgilerinin depoladığı Matt yanıtı, modern bir Windows PC için en zarif olanıdır. Belirtilmemiş olmasına rağmen, kullanılan kimlik bilgileri deposu hizmet hesabı için olmalıdır. Bu hem servise ulaşılabilirliği sağlamak hem de bu paylaşıma erişmek istemediğiniz diğer kullanıcıların yapamayacağı (ör. Yanlış hesap altında yanlışlıkla atılan kimlik bilgilerini temizlemeyi unutmayın).

Ancak eski Windows veya Linux ise biraz daha genişlemeniz gerekebilir.

Etki alanı olmayan bir PC, abone olmadığı veya doğrudan katılmadığı DFS'yi gerçekten önemsememelidir. Sadece bir paylaşım yolu görmesi gerekiyor (örn. Sunucu / paylaşım adı). Paylaşım adları, tüm ana dosya sunucusu yolundaki hususları kaldırır.

Dürüst olmak gerekirse, UNC URI'den daha çok hisse oturum açmak için daha güvenli yollar var. UNC ve URI kendileri açık bir metin iletişim protokolüdür.
Eğer bu kabul edilebilir bir güvenlik ise ... neden kullanıcı veya şifre olmadan sadece açık bir paya sahip değilsiniz?

En basit acil çözüm, hizmet kimlik bilgilerine doğrudan oturum açmaya doğrudan erişim sağlamak olacaktır (örneğin eşleşen kullanıcı / şifre). Çok açık olmayan eşleşmenin uzun sürmesi, işler zorlaştığında izinleri güncellemeyi hatırlamayı sağlayabilir. Üstelik, MS’in, güvenlik bilgilerinin bir kez daha kimlik bilgilerini nasıl geçtiğini ve işleri bozduğunu değiştirebileceği bir alan.

Uzun vadede en iyi basit şey muhtemelen yerel bir sürücü harfini kalıcı olarak ağ paylaşımına eşlemektir. Eşlenen sürücüyü yalnızca hizmet izinleri (ve uygun yöneticiler vb.) İle koruyun;

Ancak DFS, daha şık bir çözüme işaret ediyor. Linux ilk önce ağ paylaşımlarının kurulmasını gerektirir ... genellikle kök dosya sisteminde DFS'ye çok benzeyen bir dizin olarak. Linux mount komutu, kullanıcı adı ve şifre için bir kimlik bilgisi dosyası belirlemeye izin verir, böylece komut satırı betiğinden veya fstab'dan (yani dosya sistemi tablosu) daha kolay güncelleme ve daha güvenli olmalarını sağlar. Windows komut kabukları ve DFS aynı şeyi (bir süredir) yapabilir eminim. Betikte kodlanmış ve açık metin UNC olarak gönderilen kodlardan ziyade SMB ve oturum açma servisleri tarafından saklanan kimlik bilgilerini kullanarak monte edilmiş ağ paylaşımlarını kullanmak hedef PC'ye özel farklı bir DFS sistemi olacaktır.

Ayrıca, bu etki alanı olmayan PC'nin uzun süre etki alanı olmayan bir PC olarak kalmaya devam edeceğini düşünün. * NIX Realms içindeki Kerberos oturum açma sunucuları, Windows AD Etki Alanlarına bağlanabilir. Muhtemelen birkaç kişiden fazla olan uzun vadeli herhangi bir proje için ne yapmak istediğinizi. Öte yandan, çoğu ev ağı durumları için muhtemelen overkill. Her ne kadar DFS'yi, hobisinin kendi kendine meydan okumasından başka iyi bir neden için kullanıyorsanız, muhtemelen en iyisidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.