Tìm hiểu và cài đặt Samba (phần cuối)

>> Tìm hiểu và cài đặt Samba (phần 2)
>> Tìm hiểu và cài đặt Samba (phần 1)

Dùng thuật sĩ của SWAT
Tính năng SWAT có nút Wizard dùng để cấu hình các server của bạn như là PDC một cách nhanh chóng. Tuy nhiên mặc định có thể không làm bạn hài lòng, ví dụ, domain mặc định là MYGROUP và một số những cài đặt [global] nhắc đến trước đây sẽ được cài đặt lại thành tự động.

The [homes] Section
Mục [homes]
Một phần của quá trình thêm một người dùng vào một domain Samba yêu cầu bạn tạo một user Linux trên chính Samba PDC. Khi bạn đăng nhập vào Samba PDC, bạn sẽ thấy một drive mới, thường được đặt tên là Z:, thêm vào máy tính của bạn. Đây thật ra là một đĩa ảo được map để tương ứng với các directory đăng nhập của người dùng trên Linux PDC.
Samba xem tất cả các directory được chia sẻ có thể được cấu hình với những mức độ khác nhau về bảo mật. Mục [homes] điều khiển cách Samba giải quyết các directory đăng nhập mặc định.
Bảng 10-3 giải thích các cài đặt nhỏ nhất bạn cần tạo một cho mục chức năng [Homes]
Bảng 10-3: Các cài đặt nhỏ nhất smb.conf, mục "Home"
samba-5

Cách cài đặt giá trị dùng SWAT:
1. Click vào nút chia sẻ SWAT để đi đến nơi các directory chia sẻ được cấu hình.
2. Click vào nút Advanced để xem tất cả các mục
3. Chọn chia sẻ Homes
4. Thực hiện thay đổi của bạn và click vào nút Commit Changes khi hoàn tất.
5. File smb.conf của bạn sẽ giống như thế này khi hoàn tất. Bạn có thể nhìn thấy nội dung của file cấu hình bằng cách đăng nhập vào server samba thông qua nhắc lệnh và dùng cat/samba/smb.conf để xác định thay đổi của bạn khi thực hiện.
[homes]
read only = No
browseable = No
create mask = 0644
directory mask = 0755
Các mục chia sẻ [netlogon] và [profile]
Mục chia sẻ [netlogon] chứa các script mà client windows có thể dùng khi họ đăng nhập vào domain. Mục chia sẻ [profile] lưu giữ các cài đặt liên quan đến nhìn và cảm nhận của windows để người dùng có cùng cài đặt không cần biết đăng nhập vào máy tính Windows nào. Mục chia sẻ [profiles] lưu trữ những thứ như favorite và icon của desktop.
Khi bạn hoàn tất file smb.conf của bạn sẽ giống như thế này:
[netlogon]
path = /home/samba/netlogon
guest ok = Yes
[profiles]
path = /home/samba/profiles
read only = No
create mask = 0600
directory mask = 0700
Đây là cách thực hiện.
1. Click vào nút Share.
2. Tạo một chia sẻ [netlogon]
3. Thay đổi đường dẫn và cài đặt guest ok.
4. Click vào nút Commit Change
5. Tạo một mục chia sẻ [profile]
6. Thay đổi đường dẫn, mask và cài đặt chỉ đọc. Cài đặt mask cho phép chỉ những chủ của subdirectory netlogon có thể thay đổi nội dung của nó.
7. Click vào nút Commit Changes.
Nhớ tạo những directory chia sẻ từ những dòng lệnh sau.
[root@itnews tmp]# mkdir -p /home/samba/netlogon
[root@itnews tmp]# mkdir -p /home/samba/profile
[root@itnews tmp]# chmod -R 0755 /home/samba
Mục chia sẻ [printers]
Samba có những chia sẻ đặc biệt cho máy in, và chúng được cấu hình trong mục [printer] của SWAT. Cũng có một chia sẻ dưới [printer] gọi là printers giúp điều khiển những cài đặt máy in thông thường. Chia sẻ máy in luôn có những thông số để in được cài đặt là yes. Mục chia sẻ mặc định smb.conf [printers] giống như thế này:
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
Chia sẻ cho những nhóm người dùng cụ thể
File mặc định smb.conf Samba Version 3 bạn save ở đầu bài tập này có rất nhiều mẫu khác nhau mà bạn có thể dùng và áp dụng cho môi trường cụ thể của bạn.
Bạn có thể tìm thấy các bước để tạo một directory chia sẻ đơn giản cho người dùng ở nhà trong chương 11, "Sharing Resources with Samba"
Password Samba
Bạn nên nhận thức rõ rằng password Samba và Linux được lưu trữ ở hai vị trí khác nhau. Điều này cung cấp cho quản trị Samba sự linh hoạt khi cho phép chỉ một số người dùng Linux có tài khoản Samba
Dùng lệnh passwd để thay đổi password của Linux, được lưu trong file shadow. Password Samba được lưu giữ ví dụ trong file samba/smbpasswd và có thể dùng lệnh passwd để thay đổi.
Bạn sẽ thấy điều này rất quan trọng trong suốt cả chương này.
Cách để tạo một người dùng quản trị Samba PDC
Để thực hiện cả SWAT và người dùng quản trị với Samba bạn sẽ cần tạo một tài khoản quản trị trên server Samba Linux.
Môi trường tại nhà
Mặc định, người dùng root là các quản trị Samba, và SWAT yêu cầu bạn dùng password root Linux. May mắn là bạn có thể thêm workstations cho các domain Windows bằng cách tạo một password root Samba xác định. Điều này thực hiện dùng lệnh smbpasswd.
[root@itnews tmp]# /usr/bin/smbpasswd -a root password
Chú ý: hãy nhớ rằng đăng nhập Linux thông thường qua console, Telnet hay SSH yêu cầu lệnh smbpasswd Linux. Domain đăng nhập Samba dùng password smbpasswd. Password Samba được giữ ví dụ ở file samba/smbasswd.
Môi trường tập thể
Trong môi trường làm việc tập thể công ty, bạn có thể cần hơn một người để quản trị Samba, mỗi người với username của riêng họ. Cách làm như sau:
1. Tạo một nhóm người dùng Linux, như là sysadmin với lệnh groupadd.
2. Dùng SWAT để update file smb.conf của bạn để nhóm sysadmin được liệt kê vào thông số cài đặt [global]
domain admin group = @sysadmin
admin users = @sysadmin
printer admin = @sysadmin
3. Tạo những người dùng Linux cá nhân là một phần của nhóm này.
4. Dùng lệnh smbpasswd để tạo password Samba cho Domain đăng nhập cho nhóm này. Vì lý do bảo mật password này có thể khác với password Linux dùng để đăng nhập vào hệ thống từ console, thông qua telnet hay ssh (hãy nhớ rằng password Linux thay đổi với lệnh smbpasswd)
Làm sao để add các Workstation vào domain Samba
Add các workstation vào domain Samba là bước thứ hai trong tiến trình liên quan đến việc tạo workstation các tài khoản tin cậy trên server Samba và sau đó đăng nhập vào mỗi workstation để thêm chúng vào domain.
Tạo các tài khoản Samba đáng tin cho mỗi workstation
Các PDS sẽ chỉ chấp nhận đăng nhập người dùng từ những máy tính đánh tin đã được đặt trên cơ sở dữ liệu của máy tính client. Samba có thể tạo Machine Trusts theo hai cách, hoặc là bằng tay hoặc là tự động
Tạo tài khoản Machine Trusts bằng tay (chỉ trên NT)
Những lệnh trong ví dụ này tạo một nhóm Linux đặc biệt cho các client Samba và sau đó thêm một máy người dùng đặc biệt là một thành viên của nhóm. Password cho người dùng này sau đó được disable và máy sau đó được thêm vào file smbpasswd để giữ các track của những thiết bị là thành viên của domain. Tóm lại, tài khoản từ máy tin cậy cần có các cổng vào ở các file ví dụ passwd và smbpasswd. Hãy chú ý đến biểu tượng đồng đôla ở cuối và thay machine_name với tên của máy client Windows.
[root@itnews tmp]# groupadd samba-clients
[root@itnews tmp]# /usr/sbin/useradd -g samba-clients \
-d /dev/null -s /bin/false machine_name$
[root@itnews tmp]# passwd -l machine_name$
[root@itnews tmp]# smbpasswd -a -m machine_name
Đây là cách duy nhất để cấu hình máy đáng tin cậy dùng Windows NT.
Chủ động tạo tài khoản máy đáng tin
Mặc dù bạn có thể dùng phương pháp thủ công, tôi khuyên các bạn nên tạo các tài khoản máy đáng tin đơn giản là cho phép server Samba tạo chúng khi cần lúc các client Windows tham gia vào domain được biết là sẽ làm tài khoản máy hoạt động. Bạn có thể cài đặt cái này bằng cách chỉnh sửa ví dụ file samba/smb.conf để tự động thêm vào các user yêu cầu.
Cách dễ nhất để làm điều này là dùng SWAT trên menu Global để thay đổi và thêm vào các script thông số máy.
[global]
# <...remainder of parameters...>
add machine script = /usr/sbin/useradd -d /dev/null -g samba-clients -s /bin/false -M %u
Khi đã thay đổi xong, bạn cần tạo nhóm samba-clien Linux giúp nhận diện tất cả các domain client của Windows được liệt kê trong file passwd.
[root@itnews tmp]# groupadd samba-clients
Ở Samba version 2, bạn cũng cần thêm vào client vào file smbpasswd
[root@itnews tmp]# smbpasswd -a -m machine_name
Samba version 3 sẽ thêm vào tự động.
Giúp PC của client nhận thức được Samba PDC
Có nhiều dạng Windows được cài đặt trên máy tính của mọi người và mỗi phiên bản lại có những quá trình riêng để join một domain. Tếp theo tôi sẽ chỉ cho bạn cách thêm những phiên bản phổ biến nhất của client Windows vào domain của bạn.
Windows 95/98/ME và Windows XP Home
Các máy Windows 9x không thực hiện đầy đủ tư cách domain và do đó không yêu cầu các tài khoản máy tin cậy. Đây là những gì bạn cần làm:
1. Điều hướng đến mục Network trong Control Panel (Start ->Settings->Control Panel->Network)
2. Chọn tab Configuration
3. Highlight "Client for Microsoft Networks"
4. Click vào nút Properties
5. Chọn ""Log onto Windows NT Domain", và sau đó điền tên domain.
6. Click vào nút OK và khởi động lại máy.
Windows NT
Với Windows NT, trước hết bạn phải tạo một tài khoản máy tin cậy Samba như đã giải thích trước đó, sau đó làm theo những bước sau:
1. Điều hướng đến mục Network của Control Panel (Start ->Settings->Control Panel->Network )
2. Chọn tab "Identification"
3. Click vào nút "Change"
4. Điền tên domain và tên máy tính, không chọn hộp Create a Computer Account in the Domain. Trong trường hợp này, tài khoản máy tin cậy hiện tại được dùng để join máy với domain.
5. Bạn nhận được thông báo "Welcome to " để xác nhận bạn đã add. Click OK.
6. Reboot.
Bây giờ bạn có thể đăng nhập bất kì tài khoản nào trong file ví dụ smbpasswd với domain là tên domain.
Windows 200x và Windows XP Professional
Với những dạng khác nhau của Windows 200x và XP Professional, chủ động tạo một tài khoản máy tin cậy Samba, sau đó làm theo những bước sau:
1. Nhấn các phím Windows và Break cùng lúc để truy cập vào hộp dialog Properties.
2. Click vào tab 'Network Identification' hay 'Computer Name' trên đầu.
3. Click the "Properties" button. Click vào nút "Properties"
4. Click vào nút "Member of Domain"
5. Điền tên domain và tên máy tính sau đó click "OK"
6. Bạn sẽ được nhắc tài khoản người dùng và password với quyền được join máy với domain. Điền các thông tin cho quản trị Samba của bạn. Nếu dùng trong môi trường máy ở nhà, người dùng sẽ có sẵn password smbpasswd
7. Reboot.
Đăng nhập bất kì tài khoản nào trong file ví dụ smbpasswd với domain của bạn như là tên domain.
Chú ý: với Samba version 2 bạn có thể thực hiện một vài thay đổi đến registry của hệ thống dùng lệnh regedit và reboot trước khi tiếp tục
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]
"requiresignorseal"=dword:00000000
"signsecurechannel"=dword:00000000
Làm sao để add người dùng vào domain Samba của bạn
Thêm người dùng vào một domain có 3 giai đoạn. Đầu tiên là thêm một người dùng Linux vào server Samba, thứ hai là tạo một smbpasswd Samba map với người dùng Linux đã được tạo ở trước, và thứ ba là map Windows drive letter đến directory chủ nhà của người dùng Linux. Hãy xem xét kĩ hơn cả 3 giai đoạn này:
Thêm người dùng vào Linux
Đầu tiên, quá trình thêm người dùng vào Linux cũng rất bình thường. Password sẽ không cần thiết trừ khi bạn muốn người dùng đăng nhập vào server Samba thông qua telnet hay ssh.
Tạo user
Để tạo user, dùng lệnh sau
[root@itnews tmp]# useradd -g 100 peter
Cho chúng password Linux
Cho chúng password Linux là cần thiết nếu người dùng cần đăng nhập vào server Samba trực tiếp. Nếu như vậy, dùng cách sau:
[root@itnews tmp]# passwd peter
Changing password for user peter.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@itnews tmp]#
Map người dùng Linux với một smbpassword
Tiếp theo bạn cần tạo password đăng nhập domain cho người dùng
[root@itnews tmp]# /usr/bin/smbpasswd -a username password
Switch -a thêm người dùng vào file ví dụ smbpassword.
Dùng password chung sau đó để người dùng thay đổi chúng ngay lập tức từ workstation như bình thường.
Hãy nhớ rằng smbpasswd lấy các password đăng nhập Windows Domain cho một người dùng, cái này khác với password đăng nhập Linux để đăng nhập vào Samba box.
Map Windows Drive cá nhân
Mặc định Samba tự động cho mỗi người dùng đăng nhập vào domain một đĩa H: để map đến home/username directory trên Linux box.
Map dùng "My Computer"
Nếu auto-map không làm việc hãy thử:
1. Để người dùng đăng nhập vào domain
2. Chuột phải vào biểu tượng "My Computer" trên desktop.
3. Click vào "Map Network Drive".
4. Chọn ổ đĩa
5. Browse đến domain HOMENET, saud dó là server Samba, sau đó là directory chính của người dùng.
6. Click vào hộp đánh dấu ""Reconnect at Logon", để thay đổi mãi mãi.
Map từ dòng lệnh
Nếu bạn thấy cách dùng "My Computer" quá tốn thời gian khi dùng cho hàng tá người dùng hay máy tính không có chức năng sẵn có, thì bạn có thể dùng phương pháp dòng lệnh và có thể làm nó thành một script.
1. Tạo một file logon master cho tất cả người dùng
[root@itnews tmp]# vi /home/samba/netlogon/login.bat.
2. Thêm vào những dòng sau để mount chia sẻ của người dùng như là đĩa P: (cá nhân)
REM Drive Mapping Script
net use P: \\bigboy\
3.Làm file world có thể đọc được dùng:
[root@itnews tmp]# chmod 644 /home/samba/netlogon/login.bat
4. Định dạng file text Linux và Windows khác nhau chút ít. Khi một file nằm cạnh một Linux box nhưng sẽ bị chặn bởi một máy Windows, bạn sẽ phải chuyển đổi file thành định dạng Windows. Dùng lệnh unix2dos.
[root@itnews tmp]# unix2dos /home/samba/netlogon/login.bat
unix2dos: converting file /home/samba/netlogon/login.bat
to DOS format ...
[root@itnews tmp]#
5. Bước cuối cùng là chỉnh sửa mục [global] của file amb.conf có entry hợp lý cho thông số script logon. Điều này có thể thực hiện dùng SWAT qua menu Globals.
[global]
logon script = login.bat
Bây giờ người dùng của bạn sẽ có khoảng trống đĩa sẵn có như thường lệ trên đĩa P: Windows bất kì khi nào họ đăng nhập.
Domain Groups và Samba
Samba hỗ trợ các nhóm domain cho phép người dùng là thành viên của nhóm có quyền quản trị trên mỗi máy tính trên domain. Điều này cho phép họ thêm các cài đặt cấu hình network và phần mềm. Trong Windows, Domain Group cũng có khả năng join các máy đến các domain: tuy nhiên, hiện nay Samba không hỗ trợ việc này
Thông số nhóm admin domain xác định những người dùng có quyền quản trị domain. Điều gây tranh cãi là một danh sách cách trống của tên người dùng hay tên nhóm ( tên nhóm phải có biểu tượng @ theo sau). Ví dụ:
domain admin group = USER1 USER2 @GROUP
Làm sao để xoá người dùng khỏi domain Samba của bạn
Xoá người dùng khỏi domain Samba là quá trình có hai bước đó là xoá người dùng khỏi server Linux và di chuyển cổng vào smbpasswd tương ứng của người dùng. Đây là cách thực hiện:
1. Xoá người dùng bằng smbpasswd và swich -x
[root@itnews tmp]# smbpasswd -x john
Deleted user john.
[root@itnews root]#
2. Xoá Linux User bằng quá trình xoá như thông thường. Ví dụ, để xoá người dùng john và các file của john trong server Linux dùng
[root@itnews tmp]# userdel -r john
Thỉnh thoảng bạn có thể không muốn xoá các file của người dùng để người dùng khác có thể truy cập chúng vào lúc khác. Trong trường hợp này bạn có thể điều chỉnh deactive tài khoản người dùng bằng lệnh passwd -l username
Làm thế nào để thay đổi password Samba
Bạn có thể cài đặt server Samba để cho phép người dùng thực hiện thay đổi password domain của họ và để chúng tự động nhân lên trên password đăng nhập Linux của họ. Bảng 10-4 giải thích các thông số [global] smb.conf mà bạn cần thay đổi.

ITNew