Cấu hình Samba Server Share Trên Centos

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



Bài viết này có ích cho bạn không? 4 phiếu cảm nhận dễ hiểu & thực hiện (8 Phiếu)