Chia sẻ Samba đơn giản - KHÔNG CÓ MẬT KHẨU


16

Tôi cân gi:

Cấu hình samba đơn giản cho máy chủ tệp không có mật khẩu và đọc ghi đầy đủ cho mọi người. Không cần bảo mật.

Lịch sử:

Tôi đang tạo một máy chủ để lưu trữ các tập tin cho nhà của tôi. Mục tiêu của máy chủ là lưu trữ các tệp cho máy Windows. Điều tốt nhất tôi quản lý để làm cho đến nay là cấu hình này. Cùng với đó, tôi có thể thấy các chia sẻ và máy chủ từ mạng, nhưng nó nói rằng Windows không thể truy cập chúng. Tôi đang sử dụng Linux mate tại máy chủ, tất cả các bản cập nhật mới nhất.

Cấu hình của tôi:

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

Bất kỳ ý tưởng?


Câu trả lời:


22

Vâng, Samba có thể là một nỗi đau. Tôi sử dụng nó cho nhà của tôi cũng như công việc.

Điều đầu tiên bạn nên làm là bắt đầu lại từ đầu để giúp khắc phục sự cố dễ dàng hơn. Bạn có thể làm điều này bằng cách chạy lệnh dưới đây trong thiết bị đầu cuối.

dpkg-reconfigure samba-common

Sau đó vào thư mục trên máy chủ samba mà bạn muốn chia sẻ và đảm bảo rằng người dùng không ai có thể đọc và ghi vào chia sẻ. Điều này là do người dùng không ai là khách hàng sử dụng cửa sổ. Tôi thường chỉ tạo một thư mục trong thư mục / để đơn giản hóa mọi thứ, nhưng cách "chính xác" sẽ là tạo một thư mục con của / srv. Nếu bạn chưa sửa đổi các quyền, hãy sử dụng các lệnh bên dưới.

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

Bạn cũng có thể kiểm tra xem có ai có thể ghi vào thư mục hay không bằng cách chạy lệnh sau với quyền root.

sudo -u nobody touch test_file

Chỉnh sửa /etc/samba/smb.conf của bạn và thêm các dòng bên dưới định nghĩa chia sẻ [máy in].

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

Sau đó, khi bạn hoàn thành lưu nó và chạy sau đây.

testparm

Điều này sẽ cảnh báo bạn nếu bạn thực hiện bất kỳ lỗi chính tả. Tiếp theo, bạn chỉ cần khởi động lại các dịch vụ samba.

sudo systemctl restart smbd
sudo systemctl restart nmbd

Điều này làm việc hoàn hảo! Sao chép để tham khảo trong tương lai. vấn đề là điều chmod! Cảm ơn rât nhiêu.
Peter Reynold Robinson Junior

1
Tốt công việc tìm ra nó, hầu hết sẽ bỏ cuộc. Hãy nhớ rằng với chia sẻ tệp, trên bất kỳ HĐH nào, quyền thường là vấn đề.
Andrew

1
Tuyệt quá. Điều này hiệu quả với tôi, tôi chỉ gặp vấn đề khi cố gắng cài đặt lại samba, nhưng vấn đề là vì cũng cần phải làm sudo apt-get autoremovevà sau đó sudo apt-get purge samba*
iLevi

Điều này dẫn đến một lỗi bắt đầu từ nmdb sau khi cài đặt samba bị phạt, với log.nmdb có nội dung "lỗi mở tệp cấu hình" và không có thư mục / etc / samba. Thử lại quy trình thanh lọc và gỡ bỏ và cài đặt lại dẫn đến kết quả lặp đi lặp lại.
Frank H.

Đây là cách tiếp cận làm việc DUY NHẤT trên internet! Bạn tiết kiệm ngày của tôi, cảm ơn bạn.
Bài hát Evi

0

Tôi nhận ra đây là một chủ đề cũ nhưng nó đã giúp tôi giải quyết vấn đề tạo và chia sẻ một thư mục không cần đăng nhập. Rất nhiều chủ đề khác ngoài đó nhưng chúng gây hiểu nhầm. Tôi đã đưa ra một hướng dẫn bán lớn dưới đây vì có rất nhiều sự khác biệt nhỏ với các bài đăng khác ngoài đó đến nỗi tôi nghĩ rằng nó có thể giúp đỡ người khác gần như đã bỏ cuộc và nhổ một nửa tóc của họ :-)

Đối với tôi, trên hình ảnh AWS Linux mặc định (Amazon Linux AMI 2017.03.0 (HVM)) tôi đã phải tạo thư mục trong thư mục gốc / vì tôi không thể gán quyền nếu được tạo trong người dùng ec2 mặc định. Khi gán quyền, tôi phải sử dụng none.nobody vì nogroup không hoạt động. cuối cùng tôi phải đưa bản đồ vào khách = Người dùng xấu trong phần máy chủ độc lập có thể mặc định, theo mặc định, nó bảo mật = người dùng

Vì vậy, các bước hoàn chỉnh sẽ là về việc triển khai một máy chủ mới:

cài đặt samba nếu cần thiết

tạo thư mục và gán quyền

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

chỉnh sửa tập tin samba

nano /etc/samba/smb.conf

tìm dòng # ---- Tùy chọn máy chủ độc lập ---- nối "bản đồ cho khách"

security = user
passdb backend = tdbsam
map to guest = Bad User

Trong phần # ==== Định nghĩa chia sẻ ==== thêm chia sẻ của bạn

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

Lưu tệp và khởi động lại samaba

/etc/init.d/smb restart

0

Ngoài ra với câu trả lời @Andrew, bản nâng cấp gần đây từ ubfox 17.04 lên 17.10 tạo ra các vấn đề trên systemctl samba-dc-ad.service . Giả sử đó không phải là một lỗi trên mặt nạ khi bạn cố gắng cài đặt lại samba trên samba-dc-ad.service (intensional). Ngoài các bước trước câu trả lời của @ Andrew , nếu bạn gặp sự cố với cài đặt / cài đặt lại samba vì nâng cấp:

  1. cập nhật apt-get & apt-get-nâng cấp <- đảm bảo không có nâng cấp nào nổi bật
  2. apt-get cài đặt samba
  3. truy cập trang này và làm theo hướng dẫn: https://wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. apt-get -f cài đặt samba

  5. Làm các bước trên, ngay bây giờ. :-)
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.