Bagaimana cara me-mount windows / samba berbagi windows di Linux?

21

Di Linux (Ubuntu 12.04) saya ingin me-mount partisi windows / windows bernama //winsharedpada jaringan. Saya tidak tahu IP atau apa pun.

Pada satu sistem Ubuntu, saya dapat me-mount direktori dengan

mount  //winshared/mypath /mnt/win

sementara pada satu sistem Ubuntu lainnya perintah yang sama persis hanya memberi

mount error: could not resolve address for winshared: Unknown error

Pengaturan jaringan tampaknya sama pada kedua sistem, dan saya menginstal smbfsdan samba(yang terakhir dengan kesalahan). Apakah saya perlu memasang sesuatu yang lain? Apakah saya perlu mengkonfigurasi sesuatu? Bagaimana cara mengetahui perbedaan penting antara kedua sistem untuk mendapatkan pekerjaan pemasangan yang sama pada kedua sistem?

Informasi tambahan:

  1. Ketika saya gunakan smbclientuntuk terhubung ke partisi windows / share / apa pun, itu bekerja pada sistem pertama tetapi tidak pada sistem lainnya. Kesalahannya adalah:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. Mengikuti tutorial ini saya menginstal smbfsdan cifs-utils, tetapi mountperintah dari atas masih memberikan kesalahan yang sama, yang TIDAK dijelaskan dalam tutorial.

  3. Saya juga punya entri dalam /etc/fstabmembaca

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    dengan file yang /etc/samba/wincredidentik dengan file yang sama pada sistem mount berfungsi. MD5sum dari kedua file identik. Oleh karena itu, kesalahan mengenai kredensial dapat dikecualikan.

Alex
sumber
Lihat tutorial di Wiki Ubuntu: wiki.ubuntu.com/MountWindowsSharesPermanently
slm
Saya menginstal dua paket, tetapi masih mendapatkan kesalahan yang sama!
Alex
Saya telah memperbarui pertanyaan; Saya memposting baris fstab, dan saya telah memverifikasi file kredensial sudah benar.
Alex
3
Saya akan membuat ini bekerja dari baris perintah 1, meletakkan baris di / etc / fstab hanya membuatnya lebih rumit untuk men-debug untuk memulai. Jika Anda tidak dapat me-mount dari baris perintah maka itu adalah sesuatu yang lain. Saya menggunakan ini setiap hari:mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt
slm
Tidak, mengubah izin ke 600 tidak memperbaiki masalah.
Alex

Jawaban:

15

Entah Anda memiliki masalah penyelesai nama (yang dapat Anda periksa dengan misalnya mem-ping host winshare dari host Ubuntu Anda) atau modul smbfs tidak dimuat.

Anda mungkin harus menginstal smbfs dulu dengan apt-get -y install smbfsdan kemudian memasukkan modul modprobe smbfs, tetapi setelah itu Anda harus baik-baik saja mount -t smbs.

Yang Anda cari adalah mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.

Sami Laine
sumber
smbfsterinstal, tetapi modprobe smbfspengembaliannya FATAL: Module smbfs not found.Apakah saya harus mulai smbfsdulu? Jika ya, bagaimana caranya? Bagaimana cara memulai secara otomatis setelah reboot?
Alex
@ Alex - Tidak ada yang memulai. Anda kemungkinan besar kehilangan paket.
slm
@Alex - lihat tutorial Ubuntu ini, ia memiliki semua yang Anda butuhkan: wiki.ubuntu.com/MountWindowsSharesPermanently
slm
Saya mengikuti tutorial ini, tetapi masih mendapatkan kesalahan yang sama!
Alex
1
Pada Ubunut 18.04, saya melewatkan menginstal smbfs dan hanya digunakan -t cifs. Anda juga dapat menghilangkan argumen kata sandi jika Anda menjalankan secara interaktif karena mount akan meminta kata sandi Anda.
MrMas
3

Saya menggunakan BeagleBone Black yang menjalankan Debian 4.9 dan, karena kapasitas penyimpanannya terbatas, saya harus memasang folder jarak jauh yang dihosting di desktop Windows 10. (Saya tahu ini mungkin bukan yang terbaik dari sudut pandang desain sistem, tetapi kebutuhan bisnis sering kali hanya menyisakan sedikit ruang untuk itu.) Jadi, setelah berimprovisasi, folder remote yang terpasang adalah yang saya buat.

Setelah mengalami banyak, banyak masalah saat mencoba memasang folder bersama Windows 10, inilah solusi saya, sehingga orang lain dapat memanfaatkan pengalaman saya.

Host "Remote" Windows 10

  1. Aktifkan Dukungan Berbagi File SMB1.0 / CIF di Fitur Windows ( detail ).
  2. Mulai layanan Windows NetLogon .
  3. Aktifkan Berbagi di folder yang ingin Anda bagikan.

Klien Linux Debian

  1. Instal paket dukungan: smbclient dan cif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. Buat direktori target untuk me-mount share jarak jauh:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. Pasang folder jarak jauh:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    UPDATE: Setelah memperbarui instalasi lokal saya Debian ke versi 6.3, mountperintah saya rusak mengharuskan saya untuk menambahkan versopsi untuk menentukan SMB1:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    
Jim Fell
sumber
2
SMB1 sudah usang, dan Anda benar-benar harus mencoba untuk menghindari menggunakannya jika memungkinkan. Jika Anda memasukkan vers=2.1dalam mountopsi, Anda akan mendapatkan SMB 2. Anda juga akan lebih baik menggunakan credentialsdaripada usernamedan password. Dan Anda mungkin tidak perlu sec=ntmlsetelah semua itu.
roaima
@roaima Terima kasih atas tipsnya, tapi saya terjebak menggunakan barang-barang lama. Terima kasih telah memperbaiki pemformatan kode juga. Itu tidak membiarkan saya menempatkan kode di antara daftar item.
Jim Fell
mounttidak pecah; pindah ke menggunakan SMB2 atau mungkin 3. SMB1 telah usang selama lebih dari sepuluh tahun dan Anda tidak boleh masih menggunakannya.
roaima
@roaima Bagus untuk diketahui, tetapi sayangnya Windows 10 tampaknya hanya mendukung "SMB1.0 / CIFS". Plus ini untuk jaringan pribadi, jadi saya tidak terlalu khawatir tentang keamanan.
Jim Fell
Windows 10 mendukung SMB2 dan SMB3. Anda harus menginstal paket dukungan untuk memungkinkannya untuk kembali ke SMB1.
roaima
1

Periksa apakah winbind diinstal; maka, di /etc/nsswitch.conffile Anda , harus ada yang winsterdaftar di hostsbaris.

Sesuatu seperti:

hosts: files wins dns

Mungkin ada modul lain yang terdaftar, tergantung pada paket apa yang diinstal pada sistem Anda.

Juliano
sumber
Mencoba solusi ini kemarin di Ubuntu 12.04 64bit dan ini berhasil dengan baik. Terima kasih. Hari ini saya melakukan hal yang sama pada Ubuntu 12.04 32bit dan gagal, aneh.
Czarek Tomczak
1
@perbarui: Ternyata Anda harus menginstal paket winbind sudo apt-get install winbind.
Czarek Tomczak