pemasangan fstab dan cif, mungkin untuk menyimpan informasi otentikasi di luar fstab?

10

Saat ini saya menggunakan cif untuk me-mount beberapa network share (yang membutuhkan otentikasi) di / etc / fstab. Ini bekerja dengan sangat baik, tetapi saya ingin memindahkan rincian otentikasi (nama pengguna / pass) di luar fstab dan dapat mengubahnya 600 (karena fstab dapat memiliki masalah jika saya mengubah izinnya). Saya bertanya-tanya apakah mungkin untuk melakukan ini (sistem banyak pengguna, tidak ingin izin ini dapat dilihat oleh semua pengguna).

dari:

//server/foo/bar /mnt/bar cifs username=user,password=pass,r 0 0

untuk:

//server/foo/bar /mnt/bar cifs <link to permissions>,r 0 0

(atau sesuatu yang analog dengan ini). Terima kasih.

TJ L
sumber

Jawaban:

11

Dari manual mount.cifs:

kredensial = nama file
    menentukan file yang berisi nama pengguna dan / atau kata sandi. Format file adalah:

                         nama pengguna = nilai
                         kata sandi = nilai
   Ini lebih disukai daripada memiliki kata sandi dalam plaintext dalam file bersama, seperti / etc / fstab. Pastikan untuk melindungi file kredensial dengan benar.

janneb
sumber
2
Perhatikan bahwa samar-samar "Pastikan untuk melindungi file kredensial dengan benar." biasanya berarti Anda harus menyimpan file (sebagai root) /root/, dan chmod 700itu
Nate Parsons
koneksi saya juga perlu domain=valuebagian
vladkras
3
Saya berharap situasinya akan berbeda tujuh tahun kemudian , tetapi sayangnya, sepertinya ini masih merupakan jawaban 'terbaik'. Dan itu tidak aman dari jarak jauh. Setiap orang yang memiliki sudoakses ke server dapat membaca .smbcredentials. Dalam kasus saya, file tersebut akan berisi — kecuali saya menipu orang lain untuk melepaskannya — _my_ kredibilitas login Windows. Seperti, kredensial sistem masuk tunggal yang sama yang saya gunakan untuk mengakses semua sistem di Evil Corp, termasuk penggajian, tunjangan, dll? Tampaknya penuh dengan bahaya. Sesuatu seperti ini mungkin sedikit lebih aman: askubuntu.com/a/1081421 .
evadeflow
1
Sintaksis file itu halus. Jangan menaruh garis kosong atau bahkan # commentsdi sana.
David Tonhofer
8

Gunakan opsi kredensial seperti:

http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanently.html

Contoh dari situs web:

cd
echo username=mywindowsusername > .smbpasswd
echo password=mywindowspassword >> .smbpasswd
chmod 600 .smbpasswd

Ganti nama pengguna dan kata sandi Windows Anda dengan perintah. Tidak ada orang lain kecuali root yang dapat membaca isi file ini.

Setelah itu dibuat, Anda akan memodifikasi baris di file / etc / fstab agar terlihat seperti ini:

//servername/sharename /mountdirectory smbfs credentials=/home/myhomedirectory/.smbpasswd 0 0

contoh dari / etc / fstab:

//server/share/   /mnt/localmountpoint   cifs   credentials=/root/.creda

Posting janneb dan tautan ke halaman manual menunjukkan apa yang perlu ada dalam file kredensial.

Damorg
sumber
2
Terima kasih, kedua jawaban itu membantu (saya harus membaca halaman manual). Jika saya bisa menandai 2 jawaban sebagai jawaban yang benar saya akan.
TJ L
jangan khawatir ... begitu saya melihat jawaban janneb, jelas jawabannya tertutup :)
damorg
6

Jadi saya mengumpulkan kedua jawaban

  1. Buat file, mis. /Root/.cifs

    username=value
    password=value
    domain=value (optional)
    
  2. mengatur izin 600(rw- izin) untuk melindungi kredensial Anda

    # chmod 600 /root/.cifs
    
  3. lewat credentials=/root/.cifske perintah Anda alih-alih username=danpassword=

vladkras
sumber
2
Komentar ekstra-minor: Ini chmodtidak diperlukan, karena direktori home root sudah /rootdiharapkan rwx------.
David Tonhofer
Saya punya masalah dengan hanya menggunakan nama pengguna dan kata sandi, ketika saya mencoba memasang folder bersama Windows, di Red Hat Linux. Saya berhasil hanya setelah menambahkan domain ke file kredensial. Tampak bagi saya bahwa, dalam hal ini, informasi domain sangat disarankan.
aldemarcalazans