I.Giới thiệu
Samba là phần mềm có thể được chạy trên một nền tảng khác hơn so với Microsoft Windows, ví dụ, UNIX, Linux, IBM System 390, OpenVMS, và hệ điều hành
khác. Nó cung cấp cho các quản trị viên mạng lưới linh hoạt và tự do về
thiết lập, cấu hình, và sự lựa chọn của các hệ thống và thiết bị.
Samba sử dụng giao thức TCP / IP được cài đặt trên máy chủ lưu trữ. Khi cấu hình đúng, nó cho phép khả năng tương tác giữa các máy chủ Linux / Unix và các khách hàng dựa trên Windows, như thể nó là một tập tin Windows và Print Server.
Một máy chủ Samba thực sự bao gồm hai chương trình máy chủ: samba daemon
(smbd) và NetBIOS name server to provide NetBIOS over IP naming
services to clients (nmbd). Nó thiết lập phiên, xác thực khách hàng và
cung cấp truy cập hệ thống tập tin và máy in. nmbd thực hiện “trình duyệt mạng”.
Service name : smb
Port : 145
Thư mục làm việc : /etc/samba
File config : /etc/samba/smb.conf
II.Cài đặt và cấu hình Samba Server
- Kiểm tra xem trên hệ thống có cài đặt dịch vụ samba hay chưa, nếu chưa ta có thể dùng lệnh sau để cài đặt trực tiếp từ internet
- MÃ: CHỌN TẤT CẢ
# rpm -qa | grep smb // lệnh kiểm tra
# yum install smb -y // lệnh cài từ internet
Samba cho phép ta cấu hình với 3 dạng chạy chính :
1 => Guest : kiểu nặc danh (còn gọi là nobody)
2 => User & Pass : kiểu xác thực
3 => Domain Controler : kiểu domain
Trong bài hướng dẫn này tôi sẽ hướng dẫn cho các bạn cấu hình samba theo dạng 1 & 2 (kiểu nặc danh & kiểu xác thực )
Lưu ý : Guest trong windows = nobody trong linux
1.Cấu hình smb kiểu Guest : Kiểu nặc danh
- Chúng ta xóa nội dung mặc định của file smb.conf
- MÃ: CHỌN TẤT CẢ
# echo “ “ > /ect/samba/smb.conf
-Mở file smb.conf và edit lại với nội dung như bên dưới
- MÃ: CHỌN TẤT CẢ
# vi /ect/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = LINUX SERVER
netbios name = Linux Share
security = share
hosts allow = 192.168.1.
wins support = yes
[Data]
path = /home/
guest ok = Yes
writeable = Yes
Read only = No
create mask = 0755
force user = root
force group = root
force create mode = 0755
force security mode = 0755
- Cho samba chạy mặc định lúc khởi động linux
- MÃ: CHỌN TẤT CẢ
# chkconfig smb on
- Khởi động lại dịch vụ samba
- MÃ: CHỌN TẤT CẢ
# Service smb restart
Shutting down SMB services: [ OK ]
Shutting down NMB services: [ OK ]
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
Kiểm tra kết nối giữa Linux Share & Windows
- Đứng từ máy Window vào Run > gõ \ip_samba_server ta sẽ vào được thư mục Data ( thực chất là thư mục /home đã được share trên máy Linux samba Server)
Trong bài này thì ip_samba_server = 192.168.1.100
- Đứng từ máy Linux Samba Server truy cập qua máy windows (vd: ở đây là
máy Windows 7 với user/pass là administrator/123)
- MÃ: CHỌN TẤT CẢ
# smbclient -U administrator -L ADMIN_PWC
Password :
- ADMIN_PWC là Computer Name của máy Win7
- Administrator /123 là user/pass admin của máy Win7
Nếu sử dụng lệnh sau với password rỗng thì sẽ tự động kết nối qua user guest của Win7 ( lúc này phải đảm bảo là user guest của Win7 được enable)
- MÃ: CHỌN TẤT CẢ
# smbclient –L ADMIN_PWC
password :
[root@zendvn ~]# smbclient -L ADMIN_PWC
Password:
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]
Sharename Type Comment
——— —- ——-
cli_rpc_pipe_open: cli_nt_create failed on pipe srvsvc to machine ADMIN_PWC. Error was NT_STATUS_ACCESS_DENIED
Error returning browse list: NT_STATUS_ACCESS_DENIED
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]
Server Comment
——— ——-
ADMIN_PWC Admin
FILESERVER LINUX SERVER
PC-PC PC
PC-VANLANH
ZENDVN Samba 3.0.33-3.39.el5_8
Workgroup Master
——— ——-
WORKGROUP ADMIN_PWC
Trên máy Windows có 1 thư mục là c:data đã được share. Đứng từ máy Linux để truy cập vào thư mục c:data ta thực hiện lệnh sau :
# smbclient -U administrator -L //ADMIN_PWC/data
# password : ; yêu cầu nhập pass của admin máy Win7
# smb: > ? ; sẽ liệt kê các lệnh có thể dùng
#mput
2. Kiểu xác thực user & pass
Samba chứng thực người dùng chi khi :
+ User đó tồn tại trên hệ thống.
+ Kiểm tra password samba.
Password của user Samba được tạo theo lệnh :
#smbpasswd -a username (tên user)
- MÃ: CHỌN TẤT CẢ
[global]
Workgroup = WORKGROUP
server string = LINUX SERVER
netbios name = Linux Share
security = share
hosts allow = 192.168.1.
wins support = yes
[Data]
path = /home
valid user = zend1 zend2 zend3 + zendgroup
invalid users = zend4 zend5
force create mode = 0755
force security mode = 0755
create mask = 0755
writeable = no
read only = yes
write list = zend2 zend3
- Cho samba chạy mặc định lúc khởi động linux
- MÃ: CHỌN TẤT CẢ
# chkconfig smb on
- Khởi động lại dịch vụ samba
- MÃ: CHỌN TẤT CẢ
# Service smb restart
Shutting down SMB services: [ OK ]
Shutting down NMB services: [ OK ]
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
-Tạo các user zend1 , zend2, zend3, zend4, zend5 và đặt pass truy cập samba share cho các user này
Nên đặt pass cho user samba có từ 6 kí tự trở lên
- MÃ: CHỌN TẤT CẢ
# useradd zend1
# smbpasswd -a zend1
# useradd zend2
# smbpasswd -a zend2
# useradd zend3
# smbpasswd -a zend3
# useradd zend4
# smbpasswd -a zend4
# useradd zend5
# smbpasswd -a zend5
Kiểm tra kết nối giữa Linux Share & Windows khi sử dụng kiểu xác thực
- Đứng từ máy Window vào Run > gõ \ip_samba_server ta sẽ vào được thư mục Data ( thực chất là thư mục /home đã được share trên máy Linux samba Server)
Trong bài này thì ip_samba_server = 192.168.1.100
Ghi chú
valid user = zend1 zend2 zend3 + zendgroup : các user & group được truy cập share
invalid users = zend4 zend5 : cấm user zend4 , zend5 truy cập share
write list = zend2 zend3 : cho user zend2, zend3 được quyền ghi khi truy cập share
??Lưu ý : cặp thẻ sau sẽ sử dụng 2 giá trị đồng thời
writeable = Yes
Read only = No
Hoặc
writeable = No
Read only = Yes
=============================================
- Gói ứng dụng Samba-Swat cho phép ta cấu hình samba qua port 901 trên giao diện Web.
Sau khi cài gói này ta sẽ truy cập vào ipsambaserver:901 ( vd 192.168.1.100:901)
- MÃ: CHỌN TẤT CẢ
# yum install xinet
# yum install samba-swat
- MÃ: CHỌN TẤT CẢ
# vi /etc/xinetd.d/swat
- MÃ: CHỌN TẤT CẢ
service swat
{
port = 901
socket_type = stream
wait = no
only_from = 127.0.0.1 192.168.1.0/24
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}
- khởi động lại dv swat
- MÃ: CHỌN TẤT CẢ
# service xinetd restart
Từ máy windows mở IE hay chrome nhập vào ip máy SambaServer (vd 192.168.1.100 ) sẽ xuất hiện bảng sauvà nhập user & pass của root