INSTALANDO O SAMBA 4 NO CENTOS 7
Mục lục:
- Điều kiện tiên quyết
- Cài đặt Samba trên CentOS
- Cấu hình tường lửa
- Tạo cấu trúc thư mục và người dùng Samba
- Tạo người dùng Samba
- Định cấu hình Samba Shares
- Kết nối với Chia sẻ Samba từ Linux
- Sử dụng ứng dụng khách smbclient
- Gắn kết chia sẻ Samba
- Sử dụng GUI
- Phần kết luận
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ómsambashare
.
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
và
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
:
Đị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:
-
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ànhno
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áchvalid 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.
- 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 centosKhông thể cài đặt hoặc gỡ cài đặt chương trình trong Trình gỡ rối cài đặt và gỡ cài đặt chương trình Windows 10/8/7
Của Microsoft sẽ giúp bạn khắc phục sự cố nếu bạn không thể cài đặt hoặc gỡ cài đặt chương trình trong Windows 7/8/10.
Cách định cấu hình cài đặt & tùy chọn bảo mật của Windows 10 bằng Cài đặt
Tìm hiểu cách định cấu hình cài đặt bảo mật và tùy chọn trong Windows 10 bằng Cài đặt Ứng dụng & kiểm soát PC & chia sẻ dữ liệu và thông tin với Microsoft.
Cách cài đặt và cấu hình samba trên Ubuntu 18.04
Hướng dẫn này giải thích cách cài đặt Samba trên Ubuntu 18.04 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 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.