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.
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:
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ủ:
và thêm một dòng như thế này:
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'.
Di chuyển tệp smb.conf hiện tại sang smb.conf.bak:
Sau đó tạo một tệpsmb.conf mới:
Với nội dung sau:
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:
Sau đó, đóng tệp cấu hình Samba trên máy chủ và khởi động lại Samba:
Tạo thư mục để chia sẻ tệp và thay đổi nhóm thành nhóm users:
Ở cuối tệp /etc/samba/smb.conf thêm các dòng sau:
Bây giờ chúng ta khởi động lại Samba:
Đặ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.
-> 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:
-> 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.
Điều đó hiển thị các chia sẻ của máy chủ samba của chúng tôi.
Đă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.
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
Để 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
Mã:
192.168.1.100 debian.example.com debian
Đổ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
Mã:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Mã:
nano /etc/samba/smb.conf
Mã:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = debian
security = user
map to guest = bad user
dns proxy = no
Mã:
net config workstation
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/
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
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
Mã:
passwd tom
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
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
- Samba: http://www.samba.org/
- Debian: http://www.debian.org/