fstab và cifs gắn, có thể lưu trữ thông tin xác thực bên ngoài fstab?


10

Tôi hiện đang sử dụng cif để gắn kết một số chia sẻ mạng (yêu cầu xác thực) trong / etc / fstab. Nó hoạt động xuất sắc, nhưng tôi muốn di chuyển các chi tiết xác thực (tên người dùng / pass) bên ngoài fstab và có thể điều khiển nó 600 (vì fstab có thể có vấn đề nếu tôi thay đổi quyền của nó). Tôi đã tự hỏi nếu có thể làm điều này (hệ thống nhiều người dùng, không muốn tất cả các quyền này có thể xem được bởi tất cả người dùng).

từ:

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

đến:

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

(hoặc một cái gì đó tương tự như thế này). Cảm ơn.

Câu trả lời:


11

Từ trang quản lý mount.cifs:

thông tin đăng nhập = tên tệp
    chỉ định một tệp chứa tên người dùng và / hoặc mật khẩu. Định dạng của tệp là:

                         tên người dùng = giá trị
                         mật khẩu = giá trị
   Điều này được ưu tiên hơn là có mật khẩu trong văn bản gốc trong một tệp được chia sẻ, chẳng hạn như / etc / fstab. Hãy chắc chắn để bảo vệ bất kỳ tập tin xác thực đúng.


2
Lưu ý rằng mơ hồ "Hãy chắc chắn bảo vệ bất kỳ tệp thông tin xác thực đúng cách." thường có nghĩa là bạn nên lưu tệp (dưới dạng root) vào /root/chmod 700
Nate Parsons

kết nối của tôi cũng cần domain=valuemột phần
vladkras

3
Tôi đã hy vọng tình hình sẽ khác bảy năm sau , nhưng thật đáng buồn, có vẻ như đây vẫn là câu trả lời 'tốt nhất'. Và nó không an toàn từ xa. Mỗi người có sudoquyền truy cập vào máy chủ có thể đọc .smbcredentials. Trong trường hợp của tôi, tập tin sẽ chứa phần mềm trừ khi tôi liên kết người khác từ bỏ tín dụng đăng nhập của họ _my_ Windows. Giống như, cùng một thông tin đăng nhập một lần tôi sử dụng để truy cập tất cả các hệ thống tại Evil Corp, bao gồm bảng lương, lợi ích, v.v? Có vẻ đầy nguy hiểm. Một cái gì đó như thế này có thể an toàn hơn một chút: Askubfox.com/a/1081421 .
evadeflow

1
Cú pháp của tập tin đó là tinh tế. Không đặt các dòng trống hoặc thậm chí # commentstrong đó.
David Tonhofer

8

Sử dụng tùy chọn thông tin đăng nhập, chẳng hạn như:

http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_P Permanent.html vĩnh viễn

Ví dụ từ trang web:

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

Thay thế tên người dùng và mật khẩu Windows của bạn trong các lệnh. Không ai khác ngoại trừ root sẽ có thể đọc nội dung của tệp này.

Khi đã được tạo, bạn sẽ sửa đổi dòng trong tệp / etc / fstab để trông như thế này:

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

ví dụ từ / etc / fstab:

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

bài đăng của janneb và liên kết đến trang man hiển thị những gì cần phải có trong tệp thông tin đăng nhập.


2
Cảm ơn, cả hai câu trả lời đều hữu ích (đáng lẽ tôi nên đọc các trang hướng dẫn). Nếu tôi có thể đánh dấu 2 câu trả lời là câu trả lời đúng thì tôi sẽ làm.
TJ L

không phải lo lắng ... một khi tôi thấy câu trả lời của janneb, rõ ràng câu trả lời đã được bảo vệ :)
damorg

6

Vì vậy, tôi đang tích lũy cả hai câu trả lời

  1. Tạo tập tin, ví dụ /root/.cifs

    username=value
    password=value
    domain=value (optional)
    
  2. đặt quyền 600(rw- allow) để bảo vệ thông tin đăng nhập của bạn

    # chmod 600 /root/.cifs
    
  3. chuyển credentials=/root/.cifsđến lệnh của bạn thay vì username=password=


2
Nhận xét phụ: chmodKhông cần thiết, vì thư mục gốc của root đã /rootđược hy vọng rwx------.
David Tonhofer

Tôi gặp vấn đề khi chỉ sử dụng tên người dùng và mật khẩu, khi tôi cố gắn thư mục chia sẻ Windows, trên Red Hat Linux. Tôi đã thành công chỉ sau khi thêm tên miền vào tệp thông tin đăng nhập. Dường như với tôi rằng, trong trường hợp này, thông tin tên miền là rất nên.
aldemarcalazans
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.