Android

Cách cài đặt và cấu hình samba trên centos 7

INSTALANDO O SAMBA 4 NO CENTOS 7

INSTALANDO O SAMBA 4 NO CENTOS 7

Mục lục:

Anonim

Samba là một triển khai lại miễn phí và nguồn mở của giao thức chia sẻ tệp mạng SMB / CIFS cho phép người dùng cuối truy cập các tệp, máy in và các tài nguyên được chia sẻ khác.

Trong hướng dẫn này, chúng tôi sẽ trình bày cách cài đặt Samba trên CentOS 7 và định cấu hình nó như một máy chủ độc lập để cung cấp chia sẻ tệp trên các hệ điều hành khác nhau qua mạng.

Chúng tôi sẽ tạo các chia sẻ và người dùng Samba sau đây.

Người dùng:

  • sadmin - Một người dùng quản trị có quyền truy cập đọc và ghi vào tất cả các chia sẻ. josh - Một người dùng thường xuyên có chia sẻ tệp riêng của mình.

Cổ phiếu:

  • người dùng - Chia sẻ này sẽ có thể truy cập được với quyền đọc / ghi bởi tất cả người dùng. josh - Chia sẻ này sẽ có thể truy cập được với quyền đọc / ghi chỉ bởi người dùng josh và sadmin.

Chia sẻ tệp sẽ có thể truy cập được từ tất cả các thiết bị trên mạng của bạn. Sau đó trong hướng dẫn, chúng tôi cũng sẽ cung cấp hướng dẫn chi tiết về cách kết nối với máy chủ Samba từ các máy khách Linux, Windows và macOS.

Điều kiện tiên quyết

Trước khi bạn bắt đầu, hãy đảm bảo rằng bạn đã đăng nhập vào hệ thống CentOS 7 của mình với tư cách là người dùng có quyền sudo.

Cài đặt Samba trên CentOS

Samba có sẵn từ kho CentOS tiêu chuẩn. Để cài đặt nó trên hệ thống CentOS của bạn, hãy chạy lệnh sau:

sudo yum install samba samba-client

Sau khi cài đặt hoàn tất, hãy khởi động các dịch vụ Samba và cho phép chúng tự động khởi động khi khởi động hệ thống:

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

Dịch vụ smbd cung cấp dịch vụ in và chia sẻ tệp và lắng nghe trên các cổng TCP 139 và 445. Dịch vụ nmbd cung cấp NetBIOS qua các dịch vụ đặt tên IP cho khách hàng và nghe trên cổng UDP 137.

Cấu hình tường lửa

Bây giờ Samba đã được cài đặt và chạy trên máy CentOS của bạn, bạn sẽ cần định cấu hình tường lửa của mình và mở các cổng cần thiết. Để làm như vậy, hãy chạy các lệnh sau:

firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --zone=public --add-service=samba

Tạo cấu trúc thư mục và người dùng Samba

Để dễ bảo trì và linh hoạt hơn thay vì sử dụng các thư mục nhà tiêu chuẩn ( /home/user ), tất cả các thư mục và dữ liệu Samba sẽ được đặt trong thư mục /samba .

Bắt đầu bằng cách tạo thư mục /samba :

sudo mkdir /samba

Tạo một nhóm mới có tên sambashare . Sau đó, chúng tôi sẽ thêm tất cả người dùng Samba vào nhóm này.

sudo groupadd sambashare

Đặt quyền sở hữu nhóm thư mục /samba thành sambashare :

sudo chgrp sambashare /samba

Samba sử dụng người dùng Linux và hệ thống cấp phép nhóm nhưng nó có cơ chế xác thực riêng tách biệt với xác thực Linux tiêu chuẩn. Chúng tôi sẽ tạo người dùng bằng công cụ người dùng Linux tiêu chuẩn và sau đó đặt mật khẩu người dùng với tiện ích smbpasswd .

Như chúng tôi đã đề cập trong phần giới thiệu, chúng tôi sẽ tạo một người dùng thông thường sẽ có quyền truy cập vào chia sẻ tệp riêng tư và một tài khoản quản trị với quyền truy cập đọc và ghi vào tất cả các chia sẻ trên máy chủ Samba.

Tạo người dùng Samba

Để tạo người dùng mới có tên josh , hãy sử dụng lệnh sau:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Các tùy chọn useradd có các ý nghĩa sau:

  • -M -không tạo thư mục chính của người dùng. Chúng tôi sẽ tự tạo thư mục này. -d /samba/josh - đặt thư mục nhà của người dùng thành /samba/josh . -s /usr/sbin/nologin - vô hiệu hóa quyền truy cập shell cho người dùng này. -G sambashare - thêm người dùng vào nhóm sambashare .

Tạo thư mục chính của người dùng và đặt quyền sở hữu thư mục thành người dùng josh và nhóm sambashare :

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

Lệnh sau sẽ thêm bit setgid vào thư mục /samba/josh để các tệp mới được tạo trong thư mục này sẽ kế thừa nhóm của thư mục mẹ. Bằng cách này, bất kể người dùng nào tạo tệp mới, tệp sẽ có chủ sở hữu nhóm của sambashare . Ví dụ: nếu bạn không đặt quyền của thư mục thành 2770 và người dùng sadmin tạo một tệp mới, người dùng sẽ không thể đọc / ghi vào tệp này.

sudo chmod 2770 /samba/josh

Thêm tài khoản người dùng josh vào cơ sở dữ liệu Samba bằng cách đặt mật khẩu người dùng:

sudo smbpasswd -a josh

Bạn sẽ được nhắc nhập và xác nhận mật khẩu người dùng.

New SMB password: Retype new SMB password: Added user josh.

Khi mật khẩu được đặt, bật tài khoản Samba bằng cách nhập:

sudo smbpasswd -e josh

Enabled user josh.

Để tạo người dùng khác lặp lại quy trình tương tự như khi tạo người dùng josh .

Tiếp theo, hãy tạo một người dùng và nhóm sadmin . Tất cả các thành viên của nhóm này sẽ có quyền quản trị. Sau này nếu bạn muốn cấp quyền quản trị cho người dùng khác, chỉ cần thêm người dùng đó vào nhóm sadmin .

Tạo người dùng quản trị bằng cách gõ:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Lệnh trên cũng sẽ tạo một nhóm sadmin và thêm người dùng vào cả hai sadmin sambashare .

Đặt mật khẩu và cho phép người dùng:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Tiếp theo, tạo thư mục chia sẻ Users :

sudo mkdir /samba/users

Đặt quyền sở hữu thư mục cho người dùng sadmin và nhóm sambashare :

sudo chown sadmin:sambashare /samba/users

Thư mục này sẽ được truy cập bởi tất cả người dùng xác thực. Lệnh sau cấu hình truy cập ghi / đọc cho các thành viên của nhóm sambashare trong thư mục /samba/users :

sudo chmod 2770 /samba/users

Định cấu hình Samba Shares

Mở tệp cấu hình Samba và nối các phần:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

Các tùy chọn có các ý nghĩa sau:

  • - Tên của các chia sẻ mà bạn sẽ sử dụng khi đăng nhập. path - Đường dẫn đến chia sẻ. browseable - Liệu chia sẻ có nên được liệt kê trong danh sách cổ phiếu có sẵn hay không. Bằng cách đặt thành no người dùng khác sẽ không thể xem chia sẻ. read only - Người dùng được chỉ định trong danh sách valid users có thể ghi vào chia sẻ này hay không. force create mode - Đặt quyền cho các tệp mới được tạo trong chia sẻ này. force directory mode - Đặt quyền cho các thư mục mới được tạo trong chia sẻ này. valid users - Danh sách người dùng và nhóm được phép truy cập vào chia sẻ. Các nhóm được bắt đầu bằng ký hiệu @ .

Để biết thêm thông tin về các tùy chọn có sẵn, xem trang tài liệu tệp cấu hình Samba.

Sau khi hoàn tất, hãy khởi động lại dịch vụ Samba với:

sudo systemctl restart smb.service sudo systemctl restart nmb.service

Trong các phần sau, chúng tôi sẽ chỉ cho bạn cách kết nối với chia sẻ Samba từ các máy khách Linux, macOS và Windows.

Kết nối với Chia sẻ Samba từ Linux

Người dùng Linux có thể truy cập chia sẻ samba từ dòng lệnh, sử dụng trình quản lý tệp hoặc gắn kết chia sẻ Samba.

Sử dụng ứng dụng khách smbclient

smbclient là một công cụ cho phép bạn truy cập Samba từ dòng lệnh. Gói smbclient không được cài đặt sẵn trên hầu hết các bản phân phối Linux, do đó bạn sẽ cần cài đặt nó với trình quản lý gói phân phối của mình.

Để cài đặt smbclient trên Ubuntu và Debian chạy:

sudo apt install smbclient

Để cài đặt smbclient trên CentOS và Fedora chạy:

sudo yum install samba-client

Cú pháp để truy cập chia sẻ Samba như sau:

mbclient //samba_hostname_or_server_ip/share_name -U username

Ví dụ: để kết nối với chia sẻ có tên josh trên máy chủ Samba có địa chỉ IP 192.168.121.118 với tư cách là người dùng bạn sẽ chạy:

smbclient //192.168.121.118/josh -U josh

Bạn sẽ được nhắc nhập mật khẩu người dùng.

Enter WORKGROUP\josh's password:

Khi bạn nhập mật khẩu, bạn sẽ đăng nhập vào giao diện dòng lệnh Samba.

Try "help" to get a list of possible commands. smb: \>

Gắn kết chia sẻ Samba

Để gắn kết chia sẻ Samba trên Linux trước tiên, bạn cần cài đặt gói cifs-utils .

Trên Ubuntu và Debian chạy:

sudo apt install cifs-utils

Trên CentOS và Fedora chạy:

sudo yum install cifs-utils

Tiếp theo, tạo một điểm gắn kết:

sudo mkdir /mnt/smbmount

Gắn kết chia sẻ bằng lệnh sau:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Ví dụ: để gắn kết một chia sẻ có tên josh trên máy chủ Samba có địa chỉ IP 192.168.121.118 khi người dùng josh đến điểm gắn kết /mnt/smbmount bạn sẽ chạy:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Bạn sẽ được nhắc nhập mật khẩu người dùng.

Password for josh@//192.168.121.118/josh: ********

Sử dụng GUI

Các tệp, trình quản lý tệp mặc định trong Gnome có tùy chọn tích hợp để truy cập vào các chia sẻ Samba.

  1. Mở tập tin và nhấp vào các vị trí khác trên địa chỉ khác trong thanh bên. Trong Kết nối với máy chủ, nhập địa chỉ của chia sẻ Samba theo định dạng sau smb://samba_hostname_or_server_ip/sharename Nhấp vào Kết nối và màn hình sau sẽ xuất hiện:

Phần kết luận

Trong hướng dẫn này, bạn đã học cách cài đặt máy chủ Samba trên CentOS 7 và tạo các loại người dùng và người dùng khác nhau. Chúng tôi cũng đã chỉ cho bạn cách kết nối với máy chủ Samba từ các thiết bị Linux, macOS và Windows.

samba centos