Cài đặt máy chủ độc lập Samba trên Debian 9 (Stretch)

theanh

Administrator
Nhân viên
Hướng dẫn này giải thích cách cài đặt máy chủ tệp Samba trên Debian 9 (Stretch) và cách cấu hình để chia sẻ tệp qua giao thức SMB cũng như cách thêm người dùng. Samba được cấu hình như một máy chủ độc lập, không phải là bộ điều khiển miền. Trong thiết lập kết quả, mỗi người dùng đều có thư mục gốc riêng có thể truy cập qua giao thức SMB và tất cả người dùng đều có thư mục dùng chung với quyền đọc/ghi.

1 Lưu ý sơ bộ​

Tôi đang sử dụng hệ thống Debian 9 ở đây với tên máy chủ debian.example.com và địa chỉ IP 192.168.1.100. Tôi sẽ sử dụng hệ thống Debian tối giản này làm cơ sở cho hướng dẫn này: https://www.howtoforge.com/tutorial/debian-minimal-server/

Tôi sẽ sử dụng trình soạn thảo nano trong hướng dẫn này để chỉnh sửa các tệp cấu hình trên shell. Nano có thể được cài đặt bằng lệnh:
Mã:
apt-get install nano
Nếu bạn có trình soạn thảo shell yêu thích khác như joe hoặc vi, hãy sử dụng trình soạn thảo đó thay thế.

Để có thể truy cập máy chủ Linux theo tên từ máy trạm Windows của tôi, tôi sẽ thêm một dòng vào tệp hosts trên Windows. Chạy lệnh này với tư cách là người dùng Quản trị viên trên Windows để chỉnh sửa tệp máy chủ:
Mã:
notepad C:\Windows\System32\drivers\etc\hosts
và thêm một dòng như thế này:
Mã:
192.168.1.100 debian.example.com debian
vào cuối tệp. Thay thế địa chỉ IP bằng IP máy chủ và tên máy chủ bằng tên máy chủ mà bạn đã chọn cho máy chủ của mình.

Đổi tên người dùng 'administrator', nếu có

Máy chủ Debian 9 của tôi có một người dùng có tên là "administrator", tên người dùng này có thể gây ra sự cố với Samba, vì vậy tôi đổi tên thành 'howtoforge' tại đây. Bạn có thể thoải mái sử dụng một tên khác cho người dùng của mình, tên không quan trọng miễn là không phải là 'administrator'. Bỏ qua bước này khi hệ thống của bạn không có người dùng nào có tên là 'administrator'.
Mã:
usermod -l howtoforge -m -d /home/howtoforge administrator
groupmod -n howtoforge administrator

2 Cài đặt Samba​

Kết nối với máy chủ của bạn trên shell với tư cách là người dùng root và cài đặt các gói Samba:
Mã:
apt-get -y install libcups2 samba samba-common cups
Di chuyển tệp smb.conf hiện tại sang smb.conf.bak:
Mã:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Sau đó tạo một tệpsmb.conf mới:
Mã:
nano /etc/samba/smb.conf
Với nội dung sau:
Mã:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = debian
security = user
map to guest = bad user
dns proxy = no
Thay thế WORKGROUP bằng tên nhóm làm việc được sử dụng trên máy khách Windows của bạn. Nếu bạn không biết tên của nhóm làm việc, hãy chạy lệnh này trên máy khách Windows để lấy tên nhóm làm việc:
Mã:
net config workstation
Sau đó, đóng tệp cấu hình Samba trên máy chủ và khởi động lại Samba:
Mã:
systemctl restart smbd.service

3 Thêm Chia sẻ Samba​

Bây giờ tôi sẽ thêm một chia sẻ mà tất cả người dùng đều có thể truy cập.

Tạo thư mục để chia sẻ tệp và thay đổi nhóm thành nhóm users:
Mã:
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
Mã:
mkdir -p /home/shares/anonymous
chown -R root:users /home/shares/anonymous/
chmod -R ug+rwx,o+rx-w /home/shares/anonymous/
Ở cuối tệp /etc/samba/smb.conf thêm các dòng sau:
Mã:
nano /etc/samba/smb.conf

3.1 Chia sẻ nhóm​

Đây là chia sẻ có thể truy cập và ghi được đối với tất cả thành viên trong nhóm "người dùng" của chúng tôi. Thêm cấu hình sau vào cuối tệp smb.conf.
Mã:
[allusers] comment = Tất cả người dùng path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes

3.2 Thư mục home​

Nếu bạn muốn tất cả người dùng có thể đọc và ghi vào thư mục home của họ thông qua Samba, hãy thêm các dòng sau vào /etc/samba/smb.conf (đảm bảo bạn bình luận hoặc xóa phần [homes] hiện có):
Mã:
[homes] comment = Thư mục home browseable = không có người dùng hợp lệ = %S writable = yes create mask = 0700 directory mask = 0700

3.3 Chia sẻ ẩn danh​

Bạn muốn có một chia sẻ mà tất cả người dùng trong mạng của bạn có thể ghi vào? Hãy cẩn thận, chia sẻ này mở cho bất kỳ ai trong mạng, vì vậy chỉ sử dụng trong mạng cục bộ. Thêm một chia sẻ ẩn danh như thế này:
Mã:
[anonymous] path = /home/shares/anonymous force group = users
 create mask = 0660
 directory mask = 0771
 browsable =yes writable = yes guest ok = yes
Bây giờ chúng ta khởi động lại Samba:
Mã:
systemctl restart smbd.service

4 Thêm và quản lý người dùng​

Trong ví dụ này, tôi sẽ thêm một người dùng có tên là tom. Bạn có thể thêm bao nhiêu người dùng tùy ý, theo cách tương tự, chỉ cần thay thế tên người dùng tom bằng tên người dùng mong muốn trong các lệnh.
Mã:
useradd tom -m -G users
Đặt mật khẩu cho tom trong cơ sở dữ liệu người dùng hệ thống Linux. Nếu người dùng tom không thể đăng nhập vào hệ thống Linux, hãy bỏ qua bước này.
Mã:
passwd tom
-> Nhập mật khẩu cho người dùng mới.

Bây giờ hãy thêm người dùng vào cơ sở dữ liệu người dùng Samba:
Mã:
smbpasswd -a tom
-> Nhập mật khẩu cho người dùng mới.

Bây giờ bạn có thể đăng nhập từ máy trạm Windows của mình bằng trình khám phá tệp (địa chỉ là \\192.168.1.100 hoặc \\192.168.1.100\tom cho thư mục gốc của tom) bằng tên người dùng tom và mật khẩu đã chọn, sau đó lưu trữ tệp trên máy chủ Linux trong thư mục gốc của tom hoặc trong thư mục chia sẻ công khai.

5 Truy cập Samba từ Windows​

Bây giờ bạn có thể truy cập các chia sẻ samba từ Màn hình nền Windows của mình. Mở dấu nhắc lệnh và nhập "\\debian" để mở trình khám phá tệp:



Điều đó hiển thị các chia sẻ của máy chủ samba của chúng tôi.


6Tải xuống hình ảnh máy ảo của hướng dẫn này​

Hướng dẫn này có sẵn dưới dạng hình ảnh máy ảo đã sẵn sàng sử dụng ở định dạngovf/ova tương thích với VMWare và Virtualbox. Hình ảnh máy ảo sử dụng các thông tin đăng nhập sau:

Đăng nhập SSH / Shell

Tên người dùng: howtoforge
Mật khẩu: howtoforge

Tên người dùng: root
Mật khẩu: howtoforge

Đăng nhập người dùng Samba Example

Tên người dùng: tom
Mật khẩu: howtoforge

IP của VM là 192.168.1.100, có thể thay đổi trong tệp /etc/network/interfaces. Vui lòng thay đổi tất cả các mật khẩu trên để bảo mật máy ảo.

7 Liên kết​

 
Back
Bên trên