GIT – Bài trước chúng ta đã tìm hiểu về NFS, dùng để chia sẻ dữ liệu qua lại giữa hai máy . Bài này chúng ta tìm hiều về Samab. Samba là dịch vụ cho phép chia sẽ dữ liệu giữa và máy tính .

Giả sử máy windows có ip 192.168.9.17, máy Linux có ip 192.168.9.117. Và trên máy Windows tôi chia sẽ thư mục C:/dulieu

1. Cài đặt Samba Client trên máy Linux cài đặt hai gói sau

yum install samba
yum install samba-client

Nếu chương trình có yêu cầu gói phụ thuộc thì bạn cài thêm gói perl.

yum install perl-Convert

2. Linux truy cập dữ liệu từ máy windows

Trên máy Linux, muốn lấy dữ liệu từ máy windows, máy windows không có cài thêm bất cứ gói phần mềm nào, máy linux sử dụng giao thức smb để truy cập.

Để xem các tài nguyên chia sẽ bạn dùng lệnh smbclient -U <username> -L <diachiamay>

[root@localhost ~]# smbclient -U administrator -L 192.168.9.17
#NHẬP MẬT KHẨU TRUY CẬP WINDOWS
Domain=[PC17] OS=[Windows 2003 3790 Service Pack 1] =[Windows 2003 5.2]

Sharename       Type      Comment
———       —-      ——-
C$              Disk      Default share
dulieu          Disk
IPC$            IPC       Remote IPC
ADMIN$          Disk      Remote Admin
session request to 192.168.9.17 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[PC17] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2]

Server               Comment
———            ——-

Workgroup            Master
———            ——-

Để truy cập vào windows bạn dùng lệnh như bên dưới:

[root@localhost ~]# smbclient -U administrator //192.168.9.17/dulieu
Password:
Domain=[PC17] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2]
smb: > ls
.                                   D        0  Sat Nov 20 17:57:26 2010
..                                  D        0  Sat Nov 20 17:57:26 2010
8533101.pdf                         A  5355184  Fri Jun  8 16:49:10 2007

60024 blocks of size 524288. 21159 blocks available
smb: >

Khi đó nếu dùng lệnh ls bạn sẽ thấy những tập tin chia sẽ trong thư mục /dulieu

Để copy file từ windows về Linux bạn dùng lệnh mget

smb: > mget 8533101.pdf
Get file 8533101.pdf? yes
getting file 8533101.pdf of size 5355184 as 8533101.pdf (16549.6 kb/s) (average 16549.6 kb/s)

Bạn đang ở dấu nhắc lệnh smb:> khi gõ lệnh thì chỉ những lệnh có hiệu lục tại đây, bạn dùng lệnh ? để xem danh sách các lệnh của smb. Nếu muốn gõ lệnh của Linux tại smb thì bạn thêm dấu chấm than ! ở trước lệnh, ví dụ bạn xem sự khác biệt giữa hai lệnh ls sau đây.

smb: > ls /root/
NT_STATUS_NO_SUCH_FILE listing root

60024 blocks of size 524288. 21108 blocks available

Lệnh trên đã hiển thị thông tin của thư mục chia sẽ. Còn lệnh bên dưới đây hiển thị danh sách các thư mục trong /root Trong đó có cả file 8533101.pdf vừa được tải về lúc nảy.

smb: > !ls /root/
8533101.pdf  anaconda-ks.cfg  Desktop  install.log  install.log.syslog

Ngược lại, bạn muốn copy file lên thưc mục chia sẽ thì dùng lệnh mput. Ví dụ dưới đây sẽ chép tập tin cay.txt lên thư mục chia sẻ.

smb: > mput cay.txt
Put file cay.txt? yes
putting file cay.txt as cay.txt (2272.6 kb/s) (average 2272.6 kb/s)

Việc truy cập bằng giao thức sbm như thế có thể gây phiền phức hơn. Bạn có một lựa chọn khác là mount thư mục chia sẻ đó lên thư mục trên máy tính, với thông số cifs là giao thức giao tiếp giữa hệ thống Windows và Linux.

[root@localhost ~]# mount -t cifs -o username=administrator,password=123456 “//192.168.9.17/dulieu” /data
[root@localhost ~]# ls /data/
8533101.pdf  cay.txt

3. Máy windows truy cập vào Linux

Bạn có thể tạo ra một thư mục chia sẽ trên Linux và cho phép user đăng nhập, lấy tài nguyên. Cái bạn cần chính là phần mềm samba-server đã cài lúc nãy rồi.

Bây giờ thì tiến hành cấu hình cho nó. File cấu hình là /etc/samba/smb.conf

Tìm đến dòng 101 và 102 sửa lại như sau

101          security = user
102         passdb backend = smbpasswd

Việc sửa tập tin ở trên đã giúp chúng ta trỏ đường dẫn lưu user và pass đến tập tin smbpassswd.

Tiếp theo hãy tạo một user có tên là nv1, và đặt mật khẩu cho user này là 123.

Để user truy cập được vào tài nguyên bạn cần add user đó vào smb.

[root@localhost ~]# smbpasswd -a nv1
New SMB password: # NHẬP MẬT KHẨU LÀ 456
Retype new SMB password: # NHẬP LẠI MẬT KHẨU 456
Added user nv1.

Chúng ta có nv1 với hai password, một là để đăng nhập trên máy linux, một là dùng để truy cập qua thư mục chia sẻ. Điều này có nghĩa là chúng ta có thể tạo một user không thể đăng nhập vào máy linux mà vẫn sử dụng tài nguyên được.
Bạn có thể xem lại thông tin user của samba tại /etc/samba/smbpasswd

[root@localhost ~]# cat /etc/samba/smbpasswd
nv1:500:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12283678:[U          ]:LCT-4CE81437:

Bây giờ thì từ windows có thể truy cập thư mục chia sẽ của linux bằng cách vào Start > Run gõ //192.168.9.117 Đặng nhập với username là nv1 và password là 456.

4. Chia sẻ thư mục

Ví dụ chúng ta tạo cây thư mục sau:

/data/
|– baithi
|– giaovien
|– hocsinh
`– software
|– Office
|– System
`– Win7

Ví dụ muốn chia sẻ thư mục Software cho mọi người quyền chỉ đoc. Bạn mở file /etc/samba/smb.config Xuống cuối file thêm đoạn sau:

[software]
comment = Phan mem ung dung
path = /data/software
public = yes
readonly = yes

Với thư mục Hocsinh, những user là hocsinh đều có quyền đọc và ghi

[Luu du lieu]
comment = Hoc sinh ghi du lieu vao day
path = /data/hocsinh
public = yes
writable = yes

Lưu ý, quyền truy cập từ xa là quyền được cấp trong samba cộng với quyền thực thi của thư mục đó. Do đó để quyền của samba có hiệu lực thì bạn phải chmod 777 cho thư mục chia sẻ.

Với thư mục Baithi cấp cho hai nhóm, nhóm Hocsinh chi co quyền đọc, nhóm Giaovien có toàn quyền.

[Bai thi]
comment = Thu muc luu bai thi
path = /data/baithi
public = no
valid users = +giaovien +hocsinh
read only = yes
write list = +giaovien

Lưu ý: +giaovien và +hocsinh ở trên là tên group chứa các user là giáo viên và group chứa các user là sinh viên.

Với thư mục Giaovien,  Chỉ có nhóm giáo viên được quyền truy cập. Tức là chỉ có ai thuộc nhóm giaovien truy cập vào mới thấy thư mục này.

[Giao vien]
comment = chi danh cho giao vien
path = /data/giaovien
valid users = +giaovien
write list = +giaovien
public = no

Bài viết này nằm trong dự án  website : www.gocit.vn, forum hổ trợ forum.gocit.vn , xem thêm tại link http://www.gocit.vn/du-an-linux-toan-tap/
Print Friendly

Comments

comments

Bài viết liên quan