Melewati nama pengguna dan kata sandi UNC dalam jalur UNC


23

Apakah mungkin untuk memasukkan nama pengguna dan kata sandi UNC dalam jalur UNC?

Mirip dengan bagaimana FTP dan SMB mendukung ini:

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

Saya mencoba untuk mendapatkan akses layanan (non domain PC) ke jalur DFS.

Apakah ada cara lain untuk mengatasi ini? Saya dapat mengikat PC ke domain dan menjalankan layanan sebagai pengguna domain tetapi bagaimana jika saya menggunakan Linux?

Jawaban:


20

Di Windows, Anda tidak bisa memasukkan kredensial di jalur UNC. Anda harus memberikan mereka menggunakan net use, runas /netonlyatau ketika ditanya oleh Windows. (Jika Anda memiliki beberapa keterampilan pemrograman, Anda dapat menyimpan kata sandi SMB sebagai "kredensial domain" menggunakan CredWrite(), yang setara dengan mencentang kotak "Ingat kata sandi" di Windows.)

Di Linux, itu tergantung pada programnya.

  • Gvfs GNOME menerima user@hostsintaksis, tetapi tampaknya benar-benar mengabaikan kata sandi. (Namun, Anda dapat menyimpannya di GNOME Keyring sebelumnya.)

  • smbclientmenggunakan sintaks UNC yang sama dengan Windows; namun, ia memiliki --authentication-fileopsi untuk membaca kredensial.

  • Kedua program di atas menggunakan libsmbclient , dan dapat menggunakan otentikasi Kerberos alih-alih kata sandi: jalankan kinit user@YOUR.DOMAINdan gunakan smbclient -k //host/share. Ini lebih aman daripada otentikasi kata sandi.

Perhatikan bahwa memasukkan kata sandi ke dalam URI sudah usang, dan Anda tidak harus bergantung pada itu didukung di mana saja .


Apakah Anda memiliki referensi sehubungan dengan "memasukkan kata sandi ke dalam URI sudah usang"?
Alexis Wilke

2
@AlexisWilke RFC 1738 § 3.3 dimulai dengan tidak memperbolehkannya dalam HTTP, RFC 2396 § 3.2.2 memiliki "general tidak direkomendasikan" yang lebih umum, dan RFC 3986 § 3.2.1 mengatakan "Penggunaan format" pengguna: kata sandi "di userinfo bidang sudah ditinggalkan ".
grawity

14

Anda dapat memetakan "drive" ke jalur UNC menggunakan net use. Akses di masa mendatang harus berbagi koneksi yang ada

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

Catatan: Anda tidak perlu menentukan huruf drive


1

Saya pikir nama pengguna dan kata sandi harus diteruskan ke server untuk otentikasi terlebih dahulu sebelum akses file dapat dilakukan, sehingga kode yang menangani koneksi SMB harus dapat menguraikan dan menambah nama pengguna dan kata sandi dari URL. Anda harus memeriksa apakah kode itu mendukung format ini atau tidak.

Jika tidak, Anda dapat memasang pangsa SMB melalui SAMBA dan mengarahkan program Anda untuk menggunakan jalur "lokal" itu. Anda dapat memasukkan mount ke dalam fstabdan menggunakan file kata sandi SAMBA untuk memasok kredensial pengguna. Ingatlah untuk mengatur izin yang benar untuk file kata sandi sehingga pengguna normal tidak dapat membacanya.

Perhatikan bahwa merupakan praktik yang buruk untuk menyimpan kata sandi dalam teks yang jelas dalam file konfigurasi, jadi meskipun program Anda dapat menangani kata sandi dalam URL, Anda harus mempertimbangkan metode berbagi yang dipasang.


Adalah fstabbukan "file konfigurasi teks yang jelas"?
grawity

1
Ya, tetapi di fstab Anda merujuk ke file kata sandi alih-alih memasukkan kata sandi secara langsung. Kemudian Anda dapat mengamankan file kata sandi dengan mengubah pemilik untuk melakukan root dan mode menjadi 400.
billc.cn

Itu masih file konfigurasi cleartext. Siapa pun yang akses fisiknya ke mesin dapat memiliki izin root melalui reboot. Lingkungan desktop seperti XFCE, KDE, dan Gnome dapat menyimpan kredensial dalam brankas kata sandi, yang mungkin merupakan opsi yang lebih baik.
bobpaul

0

Anda dapat menambahkan kredensial di Panel Kontrol / Pengguna / Manajer Kredensial Windows sehingga kredensial di-cache. Anda akan menambahkan nama perangkat (server.domain.local) dengan nama pengguna domain / kata sandi, maka Anda harus dapat mengakses share tanpa memberikan kredensial lagi.


0

PC non-domain seharusnya tidak benar-benar peduli tentang DFS yang tidak berlangganan atau berpartisipasi secara langsung. Itu hanya perlu melihat jalur berbagi (yaitu server / sharename). Nama samaran menghapus semua pertimbangan jalur server file host.

Jujur ada cara yang lebih aman untuk masuk ke saham daripada UNC URI. UNC dan URI sendiri merupakan protokol komunikasi teks yang jelas.
Jika itu keamanan yang dapat diterima ... mengapa tidak memiliki saham terbuka tanpa pengguna atau kata sandi?

Solusi langsung yang paling sederhana adalah memberikan akses langsung ke kredensial layanan untuk masuk ke share (mis. Pengguna yang cocok / kata sandi). Jangka panjang yang tidak begitu cocok dengan pertandingan mungkin membuat mengingat untuk memperbarui izin setiap kali hal-hal berubah sulit. Dan ini juga area di mana MS dapat mengubah cara keamanan melewati kredensial lagi dan memecahkan banyak hal.

Jangka panjang, hal paling sederhana yang terbaik adalah memetakan secara permanen surat drive lokal ke jaringan berbagi. Lindungi drive yang dipetakan dengan izin hanya untuk layanan (dan admin yang sesuai, dll) plus sharename mungkin disembunyikan dengan memimpin &.

Tapi DFS memberi petunjuk untuk solusi yang lebih elegan. Linux membutuhkan jaringan yang di-mount terlebih dahulu ... biasanya sebagai direktori di sistem file root dengan cara yang sangat mirip DFS. Perintah pemasangan Linux memungkinkan menentukan file kredensial untuk nama pengguna dan kata sandi sehingga membuatnya lebih mudah untuk diperbarui dan lebih aman daripada script baris perintah atau fstab (yaitu tabel sistem file). Saya cukup yakin shell perintah Windows dan DFS dapat melakukan hal yang sama (sudah lama). Ini hanya akan menjadi sistem DFS yang berbeda untuk PC target untuk menggabungkan jaringan yang dipasang menggunakan kredensial tersimpan yang disahkan oleh SMB dan layanan logon daripada hard coded dalam skrip dan dikirim sebagai teks UNC yang jelas.

Juga pertimbangkan apakah PC nondomain itu akan tetap menjadi PC non-domain jangka panjang. Server masuk Kerberos di * NIX Realms dapat ditautkan ke Windows AD Domains. Mungkin apa yang ingin Anda lakukan untuk proyek jangka panjang yang serius yang melibatkan lebih dari beberapa orang. Di sisi lain itu mungkin berlebihan untuk sebagian besar situasi jaringan rumah. Meskipun jika Anda menggunakan DFS untuk alasan yang baik selain tantangan diri hobi mungkin yang terbaik.


0

Jawaban penyimpanan kredensial oleh Matt adalah yang paling elegan untuk PC Windows modern. Meskipun tidak disebutkan penyimpanan kredensial yang digunakan harus untuk akun layanan. Baik untuk memastikan ketersediaan layanan dan agar pengguna lain yang tidak Anda inginkan tidak dapat mengakses bagian itu (mis. Lebih banyak yang ingat untuk membersihkan kredensial yang keliru ditambahkan di bawah akun yang salah).

Tetapi jika itu adalah warisan Windows atau Linux, Anda mungkin harus pergi sedikit lebih lebar.

PC non-domain seharusnya tidak benar-benar peduli tentang DFS yang tidak berlangganan atau berpartisipasi secara langsung. Itu hanya perlu melihat jalur berbagi (yaitu server / sharename). Nama samaran menghapus semua pertimbangan jalur server file host.

Jujur ada cara yang lebih aman untuk masuk ke saham daripada UNC URI. UNC dan URI sendiri merupakan protokol komunikasi teks yang jelas.
Jika itu keamanan yang dapat diterima ... mengapa tidak memiliki saham terbuka tanpa pengguna atau kata sandi?

Solusi langsung yang paling sederhana adalah memberikan akses langsung ke kredensial layanan untuk masuk ke share (mis. Pengguna yang cocok / kata sandi). Jangka panjang yang tidak begitu cocok dengan pertandingan mungkin membuat mengingat untuk memperbarui izin setiap kali hal-hal berubah sulit. Dan ini juga area di mana MS dapat mengubah cara keamanan melewati kredensial lagi dan memecahkan banyak hal.

Jangka panjang, hal paling sederhana yang terbaik adalah memetakan secara permanen surat drive lokal ke jaringan berbagi. Lindungi drive yang dipetakan dengan izin hanya untuk layanan (dan admin yang sesuai, dll) plus sharename mungkin disembunyikan dengan memimpin &.

Tapi DFS memberi petunjuk untuk solusi yang lebih elegan. Linux membutuhkan jaringan yang di-mount terlebih dahulu ... biasanya sebagai direktori di sistem file root dengan cara yang sangat mirip DFS. Perintah pemasangan Linux memungkinkan menentukan file kredensial untuk nama pengguna dan kata sandi sehingga membuatnya lebih mudah untuk diperbarui dan lebih aman daripada script baris perintah atau fstab (yaitu tabel sistem file). Saya cukup yakin shell perintah Windows dan DFS dapat melakukan hal yang sama (sudah lama). Ini hanya akan menjadi sistem DFS yang berbeda untuk PC target untuk menggabungkan jaringan yang dipasang menggunakan kredensial tersimpan yang disahkan oleh SMB dan layanan logon daripada hard coded dalam skrip dan dikirim sebagai teks UNC yang jelas.

Juga pertimbangkan apakah PC nondomain itu akan tetap menjadi PC non-domain jangka panjang. Server masuk Kerberos di * NIX Realms dapat ditautkan ke Windows AD Domains. Mungkin apa yang ingin Anda lakukan untuk proyek jangka panjang yang serius yang melibatkan lebih dari beberapa orang. Di sisi lain itu mungkin berlebihan untuk sebagian besar situasi jaringan rumah. Meskipun jika Anda menggunakan DFS untuk alasan yang baik selain tantangan diri hobi mungkin yang terbaik.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.