Friday, October 20, 2006

Học cách sử dụng SMBClient

- Phải tốn cả đống thời gian lên mạng tìm tutorial.
+ The first time, I try to read English tutorial, but I don't understand anything..
+ Nên đành đọc Tiếng Việt (may ra hiểu được một chút). Trang tham khảo http://www.danangpt.vnn.vn/htkh/thamkhao/hdh/hedh10.htm
Cấu hình
-# pico|vim /etc/samba/emb.conf

-Phần 1: Global setting:
-Phần 2: Sharing Setting

Chia sẻ file như thế nào:

Sau khi cấu hình phần global setting, chúng ta có thể tự tạo ra một thư mục chia sẻ và giới hạn truy cập theo nhóm hoặc người dùng có trên hệ thống.

Ví dụ: Để tạo thư mục chia sẻ hungpv trên máy Linux, chúng ta làm như sau :

Thêm vào vùng Sharing Setting những dòng dưới đây: .

[hungpv]
Comment: thu.muc cua hungpv
path=/home/hungpv
valid users =hungpv
browseable=yes
public=no
writeable=yes

Như vậy Samba sẽ tạo ra một thư mục chia sẻ hungpv trên máy chủ, do tham số browseable - yes nên thư mục này sẽ được nhìn thấy khi người dùng mở Windows Explorer, tuy nhiên do public = no và validusers = hungpv nên chỉ có User hungpv có thể đăng nhập. Ngoài việc phân cấp theo user, Samba cũng có thể thăng quyền truy cập cho cả nhóm người dùng, với nhóm chúng ta sử dụng dấu @ trước tên nhóm.


Kiểm tra cấu hình vừa thiết lập:

Sau khi thiết lập file cấu hình chúng ta nên kiểm tra lại, Samba cung cấp 2 công cụ là testparm và smbstatus. Để kiểm tra chính xác bạn phải đảm bảo máy trạm và máy chủ phải nối được với nhau (Kiểm tra bằng lệnh ping) .

1 Kiểm tra bằng công cụ Testparm:

Testparm là chương trình cho phép kiểm tra giá trị của thông số trong file cấu hình.

Cấu trúc của câu lệnh này là:

Testparm configfile [hobtnclmehostIP]

Configfile là đường dẫn và tên file cấu hình, mặc định nó lấy file smb.conf cất trong thư mục /etc/samba/smb.conf (từ redhat 7.0) và /etc/smb.conf (cho các phiên bản trước đó).

Hostname và HostIP là hai thông số không nhất thiết phải có, nó hướng dẫn Samba kiểm tra cả các dịch vụ đã liệt kê trong file smb.conf trên máy xác định bởi Hosmame và hostIP.

Ví dụ:

[root@mail /root] # teetparm /
etc/samba/smb.conf
imail.vitti.edu.vn
172.16.200.2000
Load smb config file from /etc/Samba/smb.conf
Procebsing section " [homes ] "
Proceeeing section " [printersl "
Loaded services file OK.
Allow counection from
imail.vitti.edu.vn
(172.16.200.2000) to homes
Allow connection from
imail.vitti.edu.vn
(172.16.200.2000) to printers

2. Kiểm tra bằng công cụ smbstatus:

Smbtatus là chương trình thông báo các kết nối hiện tại, cấu trúc của câu lệnh này như sau:

smbbtatus [-d] [-p] [-s configfile]

Tham số configfile mặc định được gán là /etc/samba/smb.conf. Tham số "-d" cho ra kết quả đầy đủ.

Chạy Samba server:

Sambaserver có hai tiến trình là smbd và nmbd.Tiến trình smbd cung cấp dịch vụ chia sẽ file và dữ liệu, tiến trình nmbd cung cấp khả năng hỗ trợ NETBIOS name. Cũng như các dịch vu khác, trên mạng Samba có 3 câu lệnh điều khiển là stop, start, restart. Cú pháp của chúng là :

/etc/init.d/smb start l stop l
restart

Sau khi cấu hình file smb.conf bạn phải khởi động dịch vụ Samba để máy linux đăng nhập vào workgroup, câu lệnh khởi động là:

#/etc/init.d/smb start

Sau khi khởi động dịch vụ máy Windows có thể truy cập đến máy Linux thông qua networkNeighborhood hoặc windows Explorer, máy Linux có thể dùng 2 câu lệnh smbclient smbmount để truy cập đến máy Windows và trên cả máy Linux khác có cài Samba.

Riêng đối với cái máy của tui thì lại khác(Slackware 10.0.2) thì phải mở file rc.samba rùi xem nó start gì thì start cái đó.

1. Sử dung câu lênh smbclient:

Smbclient cung cấp giao diện dòng lệnh gần giống như giao diện của FTP để truyền file qua mạng. Chi tiết về câu lệnh smbclient ban có thể tham khảo nhờ câu lệnh:

#man smbclient

Để liệt kê các thư mục chia sẻ có trên máy 172.16.200.203 bạn dùng smbclient với tham số -L:

#smbclient -L 172.16.200.203

Kết quả sẽ cho ra một số thư mục có trên máy 172.16.200.203, để vào một trong các thư mục trên bạn dùng lệnh smbclient với tham số -U tên user (tên user có quyền truy cập vào thư mục tương ứng) .

#Smbclient //172.16.200.203/
tên_thư_ mục -U tên_user

Sau khi gõ vào mật khẩu bạn sẽ nhận được dấu nhắc :

smh:\>

Tại dấu nhắc này bạn có thể dùng các câu lệnh như sau :

Ví dụ : Dùng smbclient nối đến máy Windows có địa chỉ IP là 172.16.4.53, để lấy file trên máy này ta phải làm lần lượt các bước sau:

Xác định các thư mục được chia sẻ trên máy 172.16.4.53: .

#smbchent -L 172.16.4.53 -U
tienna
added interface
ip=172.16.200.200
bcast=172.16.255.255
nmask=255.55.0.0
session request to 172.16.4.53
failed (Called name not present)
session request to 172 failed
(Called name not prebent)
Pabsword:
Domain=[STAFF.VITTI]
OS= [Windows 5.0 ]
Server= [Windows 2000 LAN Manager]

Sau khi nhập mật khẩu của tài khoản tienna (trên Windows) ta nhận được danh sách các thư mục share trên máy 172.16.4.53. Sau khi biết được các thư mục trên máy bạn phải dùng câu lệnh:

[root@backup /root)# smbchent /
/172.16.4.53/tienna -U tienna
Can't find include file /etc/Samba /smb.conf
.
added interface
ip 172.16.200.200
bcabt=172.16.255
.255
nmask:255.255.0.0
session request to 172.16.4.53
failed (Called name not present)
session request to 172 failed
(Called name not present)
Password :
Domain=[STAFF.VITTI ]
OS = [Windows 5.0 ]
Server=[Windows 2000 LAN Manager]
smb: \>

Tại dấu nhắc này bạn có thể xem các file bên trong thư mục tienna bằng lệnh Is, lấy nó về máy Linux bằng lệnh get hoặc mget:

smb: \> ls
.D 0 Fri Aug 24 00:02:24 2001
..D 0 Fri Aug 24 00:02:24 2001
ethereal-setup- 0.8.17.exe
A 6153372 Thu Apr 19 18:54:42
2001
gozilla39.exe A 1869172 Thu Jun 7 12:05:50 2001
smb:\> mget eth*
Get file ethereal-setup-
0 8.17.exe? y
getting file ethereal-setup-
0.8.17
.exe of
size 6153372 as ethereal-setup- 0.8.17.exe
(925.624 kb/s) (average 925.624 kb/s)
smb: \> ''

Sharename Type Comment
---------------- ------
E$ Disk
IPC$ IPC Remote
D$ Disk Default
tienna Disk
F$ Disk
ADMIN$ Disk Remote Admin
C$ Disk Deault share

Server Comment
--------- -------------

Workgroup Master
--------- -------------

No comments: