Cách chia sẻ Samba để KHÔNG HỎI CHO MẬT KHẨU


20

LƯU Ý: Tôi đã đọc có thể lên tới 50 trang khác nhau mô tả cách thiết lập chia sẻ Samba công khai trong khoảng 2 NĂM và không có gì làm việc cho tôi. Tôi không biết tôi cần bao nhiêu RTFM để thiết lập công cụ này.

Tôi cần / muốn thiết lập chia sẻ tệp công khai hoàn toàn trên máy chủ nhà của mình cho hai máy trạm.

Thiết lập như sau:

Máy chủ :

  • Debian khò khè
  • sudo smbd --versionmang lại cho tôi Version 3.6.6.
  • 2 phân vùng cục bộ mà tôi muốn chia sẻ, được định dạng ở dạng NTFS do đã cũ và được lấy từ máy Windows. Tôi không thể định dạng chúng thành ext * FS vì chúng có rất nhiều dữ liệu mà tôi không thể (chưa) di chuyển đến bất kỳ nơi nào khác.
  • Máy có tên "homeserv" vì thiếu tính nguyên bản.

Khách hàng :

  1. Kiểm tra Debian (Jessie)
  2. Windows 7 (2 máy khác nhau). Thực tế, máy của tôi là dualboot Debian / Windows và máy của vợ tôi chỉ là Windows.

Smb.conf của tôi sau khi chưng cất trông như sau ( nguyên văn , không có gì khác ở đó):

[global]
  workgroup = WORKGROUP
  security = user
  map to guest = Bad User

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

Trên cả hai máy khách, trong cả Debian và Windows tôi đều nhận được cùng một kết quả: hộp thoại đăng nhập / mật khẩu. KHÔNG KẾT HỢP của security = user, map to guest = Bad user, security = share, guest ok = yesvà như vậy giúp.

Windows 7 hiển thị hộp thoại đăng nhập / mật khẩu ngay sau khi tôi nhấp vào máy dùng chung trong vùng lân cận mạng. smb://homeserv/đường dẫn tệp trong Debian (trong bất kỳ trình duyệt tệp nào) hiển thị cho tôi hai thư mục: disk1disk2, như dự định, bằng cách cố gắng mở chúng mang hộp thoại đăng nhập / mật khẩu.

Vì vậy, những gì tôi thiếu trong lược đồ KHÔNG ĐƯỢC nhập tên đăng nhập / mật khẩu? Đây là câu hỏi về khả năng sử dụng, tôi sẽ không tạo xác thực dựa trên người dùng cho tập tin Junkyard.

Câu trả lời:


14

OK, tôi đã tìm thấy một câu trả lời cho mình.

Vì điều này hoàn toàn không rõ ràng từ các tài liệu và HOWTO và bất cứ điều gì, lý do điều này yêu cầu mật khẩu là vì nó không thể ánh xạ người dùng khách đến chủ sở hữu của thư mục được chia sẻ .

Tôi có các phân vùng NTFS mà tôi cần để gắn RW vì vậy tôi đã sử dụng thiết lập sau trong /etc/fstab:

/dev/sdb1  /media/disk1  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2
/dev/sdb2  /media/disk2  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2

Các phần quan trọng nhất của cấu hình là uidgid(có lẽ chỉ uid, không biết). Chúng được đặt thành UID và GID của người dùng jonnieđược thiết lập trên máy chủ (rõ ràng không phải là root). Vì vậy, khi ntfs-3g sẽ gắn kết các đĩa này, mọi thứ sẽ thuộc sở hữu của anh ta.

Sau đó, tôi đã thêm người dùng này vào sổ đăng ký Samba (hoặc có thể tạo một tài khoản giống hệt mới, không quan tâm):

# smbpasswd -a jonnie

Nó hỏi mật khẩu, tôi đã nhập giống như với hệ thống chính.

Sau đó, tôi đã thêm force userforce groupcài đặt vào smb.conf:

[global]
  workgroup = WORKGROUP
  netbios name = HOMESERV
  security = share

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

Vì vậy, phần quan trọng nhất của cấu hình có liên quan đến tôi là force user.

Phép lịch sự của Samba HOWTO


1
"Rõ ràng không phải là root". Điều đó thực sự không quá rõ ràng. Samba có hàng tá chế độ thất bại. Hầu hết dẫn đến một thông báo lỗi giống hệt nhau. Đó là lý do tại sao bạn dành quá nhiều thời gian cho các tìm kiếm Google không hiệu quả. Không chỉ một tìm kiếm sẽ đưa ra một hỗn hợp các vấn đề, mà các câu trả lời được tìm thấy cũng sẽ bị nhầm lẫn tương tự. Sử dụng root giúp loại bỏ khía cạnh bảo mật của Linux, nhưng cũng cho phép bạn chẩn đoán sự cố. Nếu nó hoạt động với quyền root, bạn có vấn đề bảo mật ở cấp độ Linux, Nếu Samba vẫn thất bại, vấn đề nằm trong ý tưởng của người dùng Samba (chúng khác nhau và đáng lẽ phải có lỗi duy nhất)
MSalters

2

Cấu hình có thể ngắn hơn:

Tạo người dùng unix jonnie

useradd jonnie -s /usr/sbin/nologin

Tạo smbuser

smbpasswd -a jonnie

Tạo thư mục Linux để chia sẻ

mkdir /mysmbshare

Thay đổi chủ sở hữu của thư mục thành jonnie

chown /mysmbshare jonnie

smb.conf

[global]
  workgroup = MyWorkGroup
  server string = Hello, use me
  security = share
  guest account = jonnie
  passdb backend = tdbsam

[the_public_share]
   path = /mysmbshare
   writable = yes
   printable = no
   public = yes

Tất cả các tệp được sở hữu bởi jonnie và mọi người đều có quyền truy cập vào các tệp.


Đúng, "thay đổi chủ sở hữu của thư mục thành jonnie" có lẽ là phần quan trọng nhất ở đây. Cảm ơn bạn cho giải pháp ngắn hơn nhiều!
đạo tặc

1

Cách nhanh chóng và bẩn thỉu để có một chia sẻ Samba mở là:

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

        security = share
        passdb backend = tdbsam

và có cổ phần được định nghĩa như sau:

[export]
   comment = Data Export Directory
   path = /data/export
   read only = no
   public = yes
   browseable = yes
   writeable = yes
   create mask = 666
   directory mask = 777

Khởi động lại daemon.

Đối với các máy khách Windows 7, kể từ năm 2014, tôi cần phải thiết lập chính sách tên miền: ký kỹ thuật số thông tin liên lạc từ luôn luôn thành DISABLE.


Chúa ơi, thay đổi chính sách miền cho cổ phiếu được cho là công khai ... (facepalm). Được rồi, dù sao cũng cảm ơn bạn, nhưng không, tôi đã thử điều này ngay bây giờ và truy cập smb://homeserv/disk1vẫn yêu cầu mật khẩu trong Debian. Tôi đã sử dụng trình duyệt tập tin cá heo và Krusader. Có lẽ đó là một cái gì đó trong KDE.
đạo tặc

này mà làm việc : D public = yes777quyền đã thực hiện thủ thuật (Win 10 lưu trữ Ubuntu 18.04). May mắn thay, nó nằm trên máy trạm cá nhân của tôi nên tôi không phải lo lắng về điều đó
Arthur Tarasov
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.