Hướng dẫn giảng dạy

BÀI 9 SAMBA

Tóm tắt

Lý thuyết: 4 tiết - Thực hành: 5 tiết.

Bài tập 9.1 (sách bài tập)

Mục tiêu Các mục chính Bài tập bắt buộc Bài tập làm thêm

I. Cài đặt SAMBA II. Khởi động dịch vụ SAMBA III. Cấu hình Samba Server IV. Sử dụng SAMBA SWAT V. Khởi động Samba Server VI. Sử dụng SMB client VII. Mount thư mục chia sẻ VIII. Mount tự động tài nguyên từ

SMB Server IX. Mã hoá mật khẩu

Trang 103/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

Giới thiệu cơ chế chia sẽ tài nguyên trên hệ thống Linux thông qua dịch vụ SAMBA.

Hướng dẫn giảng dạy

Samba là chương trình tiện ích hỗ trợ việc chia sẻ tài nguyên từ hệ thống Linux với các hệ thống khác(Linux, Windows), nó hỗ trợ tính năng gia nhập(join) Linux với Windows như gia nhập Linux vào PDC trên Windows, gia nhập vào Windows Workgroup,…

Bộ Samba gồm nhiều thành phần. Daemon mang tên smbd cung cấp dịch vụ in ấn và tập tin. Tập tin cấu hình của Daemon này là smb.conf, còn daemon nmbd thì hỗ trợ dịch vụ tên NETBIOS, cho phép các máy tính khác truy cập và sử dụng các tài nguyên được cấp bởi máy chủ Samba

Trình smbclient, một thành phần khác của bộ Samba, hoạt động như một client bình thường giống như ftp. Trình tiện ích này dùng khi bạn truy cập những tài nguyên trên các server tương thích khác.

I. Cài đặt SAMBA Bạn có thể cài đặt Samba trong quá trình cài Linux hoặc cài sau bằng tiện ích RPM, các bộ này được tích hợp vào Fedora CD, các file này bao gồm:

system-config-samba-1.2.15-0.fc2.1 ; hỗ trợ cấu hình trên giao diện Xwindows -

samba-3.0.7-2.FC2 ; package chính của SAMBA. -

samba-client-3.0.7-2.FC2 ; package cho SAMBA Client. -

samba-common-3.0.7-2.FC2 ; hỗ trợ các thư viện cho SAMBA. -

samba-swat-3.0.7-2.FC2 ; hỗ trợ cấu hình SAMBA qua Web. -

II. Khởi động dịch vụ SAMBA Bạn có thể khởi động dịch vụ samba tại thời điểm boot của hệ thống chkconfig.

# chkconfig smb on

Ta có thể start/stop/restart samba thông qua lệnh:

# service smb restart

Để kiểm tra samba có hoạt động trong hệ thống hay không

# pgrep smb

III. Cấu hình Samba Server Tập tin cấu hình /etc/samba/smb.conf. Đây là một tập tin có dạng text. Các thành phần trong file cấu hình:

Thành phần [global]

[printers]

[homes]

[netlogon] [profile]

Giải thích Chứa các tham số cấu hình chung của samba server. Chứa các tham số sử dụng cho việc cấu hình máy in. Chỉ định SMB chia sẻ thư mục home directory của user. Chia sẻ logon script. Chia sẻ profile.

Trang 104/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

Hướng dẫn giảng dạy

III.1. Đoạn [global]

Đoạn này kiểm soát tất cả tham số cấu hình chung của server smb. Đoạn này cũng cung cấp giá trị mặc định cho những đoạn khác:

[global]

workgroup = LINUX ; chỉ ra nhóm mà máy này sẽ tham gia

server string = Samba Server ;

hosts allow = 192.168.1. 192.168.2. 127. ; host được phép truy xuất đến samba.

Guest account = pcguest ; cung cấp username cho một account khách trên server của bạn. Account này để nhận diện những user nào được dùng các dịch vụ samba dành cho khách

Log file = /var/log/samba/smb.%m ; xác định vị trí tập tin log của từng client truy cập samba.

Max log size = 50 ; kích thước tối đa của một tập tin log (tính bằng kb)

encrypt passwords = yes ; cần hay không cần mã hoá password khi đăng nhập vào máy chủ Samba. Mọi password gửi từ Windows 9x đều mã hoá. Do đó, nếu ta chọn “no” thì máy chủ samba sẽ không chấp nhận sự đăng nhập của bất kỳ user nào. Nếu giá trị là “yes” thì chỉ có các user có password trong tập tin /etc/samba/password là có thể thấy máy chủ Samba.

Tên biến %S %P %u %g %U %G %H %v %h

%m %L %M %I %T %a

Mô tả giá trị Tên của dịch vụ hiện hành, nếu có Thư mục gốc của dịch vụ hiện hành, nếu có tên user của dịch vụ hiện hành tên của nhóm chính của %u tên phiên làm việc của user tên của nhóm chính của %U thư mục gốc của user phiên bản của Samba tên của host mà Samba đang chạy tên NETBIOS của máy khách tên NETBIOS của máy chủ tên Internet của máy khách Địa chỉ IP của máy khách ngày và giờ hiện hành kiến trúc của máy từ xa. Chỉ có một số máy được nhận diện là Win9x, WinNT, Win2k

smb passwd file = /etc/samba/smbpasswd ; tập tin lưu trữ những user được phép truy cập đến server smb. Một số biến cần tham khảo:

III.2. Đoạn [homes]

[homes] comment = Home Directories ; path = %H ; read only = no ;

Trang 105/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

Mặc định SMB chia sẻ home của từng người dùng trong hệ thống để cho phép các user có thể truy xuất vào home directory của mình từ máy trạm.

Hướng dẫn giảng dạy

valid users = %S ; Chỉ định tên user được phép truy xuất, nếu ta cho phép group ta dùng cú pháp @group_name. browseable = no ; writeable = yes ; create mask = 0750 ;

III.3. Chia sẻ máy in dùng SMB

Để chia sẻ máy in, ta mô tả đoạn [printers] trong file /etc/smb.conf

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

public = yes

guest ok = no

writable = no

printable = yes ; cho phép in

create mask = 0700

III.4. Chia sẻ thư mục

Sau khi lập cấu hình mặc định cho server Samba, bạn có thể tạo ra nhiều thư mục dùng chung, và quyết định xem cá nhân nào, hoặc group nào được phép sử dụng chúng.

[dirshare]

comment =”chia sẻ thư mục”

path = /usr/local/share

valid users = hv1

browseable = yes

public = no

writable = yes

Đoạn trên đã tạo ra một thư mục chia sẻ mang tên dirshare. Đường dẫn đến thư mục này là /usr/local/share. Vì public là no nên chỉ có user hv1 được truy cập đến thư mục này.

IV. Sử dụng SAMBA SWAT Swat là một công cụ cho phép bạn có thể cấu hình SAMBA qua giao diện Web. Nếu ta muốn sử dụng công cụ này thì ta phải cài thêm package samba-swat-3.0.7-2.FC2.rpm (trong Fedora Core).

IV.1. Tập tin cấu hình SAMBA SWAT

Trang 106/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

Trước khi cấu hình SAMBA-SWAT ta cần thiết lập một số thông số

Hướng dẫn giảng dạy

disable = no

only_from = 172.29.14.149 localhost

Trong file /etc/xinetd.d/swat để khởi động dịch vụ SWAT và cho phép các host nào có quyền truy xuất SAMBA SWAT qua Web.

service swat { disable = no port = 901 socket_type = stream wait = no only_from = 172.29.14.149 localhost user = root server = /usr/sbin/swat log_on_failure += USERID }

IV.2. Truy xuất SWAT từ Internet Explorer

Màn hình đăng nhập

Từ IE ta truy xuất SMB SWAT thông qua địa chỉ http://172.29.14.150:901, Sau đó ta chỉ định username(root nếu ta muốn quản lý SMB), và mật khẩu để đăng nhập:

Giao diện Samba SWAT

Trang 107/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

Sau khi đăng nhập thành công

Hướng dẫn giảng dạy

IV.3. Cấu hình SAMBA SWAT

Giải thích

Thành phần

Cung cấp các tài liệu tham khảo về samba.

Quản lý thông tin cấu hình.

Quản lý tài nguyên chia sẻ

Quản lý việc chia sẻ máy in

Quản lý Server Type, Wins và một số tham số khác.

Quản lý trạng thái của SAMBA, theo dõi các connection...

Xem các thông tin cấu hình trong file smb.conf

Quản lý mật khẩu

V. Khởi động Samba Server Server Samba gồm 2 daemon smbd và nmbd. Để khởi động samba server ta dùng script sau: /etc/init.d/smb {start | stop | restart | status}

VI. Sử dụng SMB client Từ dấu nhắc lệnh của shell ta sử dụng smbclient để truy xuất thư mục chia sẻ trên SMB Server theo cú pháp sau: Smbclient

Ví dụ:

[root@nhon xinetd.d]# smbclient //nhon/data -U hv

Password: ****

Domain=[NHON] OS=[Unix] Server=[Samba 3.0.7-2.FC2]

smb: \>

Lệnh ? hoặc help !

Cd

Tham số [Lệnh] [lệnh dạng shell] [Thư mục]

Mô tả xem giúp đỡ của lệnh thực thi lệnh shell hoặc đưa user về dấu nhắc shell Chuyển về thư mục trên server

Trang 108/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

Từ dấu nhắc lệnh này, bạn có thể ra bất kỳ lệnh nào được liệt kê ở Bảng sau để thực thi cơ chế download/upload từ tài nguyên chia sẻ:

Hướng dẫn giảng dạy

[Thư mục] [Các tập tin] [Các tập tin] Không có

Lcd Del Dir hoặc ls Exit hoặc quit Get

[tập tin][tên cục bộ]

Mget

[các tập tin]

[thư mục]

Chuyển về thư mục máy cục bộ Xóa tập tin Liệt kê các tập tin được chọn Thoát khỏi chương trình smbclient Sao chép tập tin trên máy server về máy cục bộ. Nếu tên cục bộ không chỉ ra sẽ lấy tên tập tin cũ trên máy server Sao chép tất cả các tập tin được xác định vào máy cục bộ. Tạo thư mục trên máy server

[thư mục]

Xóa thư mục trên máy server.

Md hoặc mkdir Rd hoặc rmdir Put

[tập tin]

Mput

[các tập tin]

Print Queue

[tập tin] Không có

Sao chép tập tin từ máy cục bộ vào máy server Sao chép tất cả tập tin từ máy cục bộ vào máy server In tập tin trên máy server Liệt kê tất cả các công việc in ấn đang xếp hàng chờ trên máy server

Ta có thể ánh xạ một thư mục chia sẻ trên SAMBA Server vào ổ đĩa cục bộ thông qua

VII. Mount thư mục chia sẻ lệnh smbmount. Cú pháp lệnh:

[root@bigboy tmp]# mount -t smbfs –o username=username,password=password

winclient/cdrom /mnt/cdrom

Ví dụ:

[root@nhon xinetd.d]# smbmount //nhon/data /mnt/smb -o username=hv,password=hv

VIII. Mount tự động tài nguyên từ SMB Server

Để tự động mount một tài nguyên chia sẻ ta thực hiện các bước sau:

- Bước 1: Tạo một thư mục mount point (ví dụ /mnt/smb)

- Bước 2: mô tả dòng sau đây vào file /etc/fstab

//SMB_Server/share_name /mnt/smb smbfs credentials=/etc/cred 0 0

- Bước 3: Tạo file /etc/cred để mô tả thông tin username và mật khẩu.

username =

password =

Trang 109/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

- Bước 4: Dùng lệnh mount –a để update file /etc/fstab và kiểm tra.

Hướng dẫn giảng dạy

IX. Mã hoá mật khẩu Mặc định giao thức SMB của Microsoft sử dụng password không mã hóa (plain text). Tuy nhiên, Windows 2K (SP 3 trở lên) yêu cầu password mã hóa. Do đó, hoặc là bạn chỉnh lại Registry của Windows để sử dụng password không mã hóa. Lúc này, bạn phải chỉnh Registry của tất cả các máy Windows. Điều này thật bất tiện và có nguy cơ đem lại một số xung đột và rất có thể sai sót hoặc là bạn cấu hình lại Samba chấp nhận password mã hoá. Bạn cần làm theo các bước sau:

- Bước 1: Tạo một tập tin mật khẩu riêng cho Samba. Từ tập tin /etc/passwd có sẵn, tạo một tập tin mới bằng cách dùng lệnh:

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

với mksmbpasswd là một script đã cài sẵn trong hệ thống

- Bước 2: Dùng lệnh:

chmod 600 /etc/samba/smbpasswd

để chỉ cấp quyền đọc và ghi cho root

- Bước 3: Người dùng chưa được sử dụng samba khi người dùng đó chưa được cấp password và ghi vào tập tin trên. Bạn dùng lệnh dưới đây để cấp password cho user

smbpasswd

với username là định danh của người dùng đó

- Bước 4: Chỉnh lại tập tin smb.conf như sau:

encrypt password = yes

smb passwd file = /etc/samba/smbpasswd

Trang 110/271

Học phần 4 - Chứng chỉ quản trị mạng Linux

Khởi động lại dịch vụ samba dùng lệnh /etc/init.d/smb restart.