Cài SAMBA để chia sẻ file

Tài liệu được mình sưu tầm viết về việc cấu hình SamBa (dịch vụ chia sẻ file trong Linux), rất hữu íc, tài liệu bằng tiếng việt , mình đã từng thực hành bằng tài liệu này, rất hay, nay chia sẻ cùng các bạn Trân trọng

doc15 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2534 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Cài SAMBA để chia sẻ file, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Samba là một bộ tính năng cho phép Linux box chia sẻ file và những tài nguyên khác như máy in, với Windows box. Chương này nói về cách đưa Linux box của bạn vào Windows Primary Domain Controller (PDC) hay một server cho Windows Workgroup.\ Một trong những cấu hình này cho phép bất kì ai tại nhà cũng có thể: • Log on vào tất cả các box windows tại nhà trong khi các file của họ trên Linux box nằm trên một drive Windows. • Chia sẻ truy cập đến các máy in trên Linux box. • Các file chia sẻ chỉ có thể truy cập được bởi những thành viên của nhóm người dùng Linux. Đâu là khác biệt giữa của PDC và một thành viên của Windows Workgroup? Chương này sẽ không mô tả chi tiết, nhưng chỉ cần đơn giản thế này là đủ: • Một PDC lưu giữ thông tin đăng nhập trên một cơ sở dữ liệu trung tâm trên đĩa cứng của nó. Điều này cho phép có một tên truy cập và password chung cho toàn hệ thống khi đăng nhập từ tất cả máy tính trong hệ thống • Trong Windows Workgroup, mỗi máy tính lưu giữ tên truy cập và password cục bộ để chúng là duy nhất cho mỗi máy tính. Chương này sẽ chỉ nói về phương pháp PDC dùng ở nhà. Mặc định, Samba giả theo Windows PDC trong hầu hết mọi thứ cần để đơn giản việc chia sẻ file. Chức năng của Linux không xuất hiện khi bạn làm như vậy. Samba Domain và Linux chia sẻ cùng username để bạn có thể đăng nhập và Samba dựa trên domain Windows dùng password Linux và ngay lập tức có quyền truy cập các file trên directory của người dùng Linux. Để đảm bảo tính bảo mật, bạn nên dùng password Samba và Linux khác nhau. Khi bắt đầu, với mỗi client request, Samba daemon đọc file cấu hình, ví dụ samba/smb.conf để xác định những mẫu điều hành khác nhau. Bạn có thể tạo ra riêng cho mình samba/smb.conf dùng text editor hay chức năng dựa trên web SWAT khá dễ dàng. Tuy nhiên, hãy nhớ rằng nếu bạn tạo ví dụ một samba/smb.conf với text editor rồi sau đó dùng SWAt để chỉnh sửa file, bạn sẽ mất tất cả các comment bạn đã điền vào với text editor. Tôi sẽ giải thích cách dùng cả SWAT và text editor để cấu hình Samba sau trong chương này. Chú ý: Khi smb.conf của bạn được truy cập, bạn nên chỉnh sửa bản copy của nó nếu bạn quyết định dùng SWAT. Sau khi chỉnh sửa xong, kiểm tra giá trị của thay đổi dùng tính năng testparm nói ở chương 12, ""Samba Security and Troubleshooting" và khi đã hài lòng với thay đổi đó, copy file trở lại vị trí cũ của nó. Các gói download và cài đặt Phần lớn các sản phẩm phần mềm RedHat và Fedora Linux đều ở định dạng RPM. Download và cài đặt RPM không khó. Nếu bạn cần xem lại, chương 6 "Installing Linux Software" sẽ nói chi tiết về điều này. Samba gồm một bộ RPM chứa trong các đĩa CD Fedora. Chúng là: • samba • samba-common • samba-client • samba-swat Khi tìm kiếm một file, hãy nhớ rằng tên các file của RPM thường bắt đầu bằng tên RPM sau đó là số phiên bản như trong samba-client-3.0.0-15.i386. Khởi động Samba • Bạn có thể cấu hình để khởi động Samba vào lúc boot dùng lệnh chkconfig Code: [root@itnews tmp]# chkconfig smb on • Bạn có thể khởi động/restart Samba sau thời gian boot dùng script khởi tạo như ví dụ dưới đây: Code: [root@itnews tmp]# service smb start [root@itnews tmp]# service smb stop [root@itnews tmp]# service smb restart Thỉnh thoảng Samba có một daemon lệ thuộc nmb cũng cần được khởi động. Cấu trúc cũng giống như deamon smb Code: [root@itnews tmp]# service nmb start [root@itnews tmp]# service nmb stop [root@itnews tmp]# service nmb restart Chú ý: Không giống nhiều gói Linux, Samba không cần restart sau khi thực hiện thay đổi ở các file cấu hình của nó, vì nó đọc sau mỗi receipt của mỗi client yêu cầu. • Bạn có thể kiểm tra liệu quá trình smb có chạy cùng với lệnh pgrep, bạn sẽ nhận được một phản hồi với những số ID: Code: [root@itnews tmp]# pgrep smb Phần tiếp theo chúng ta sẽ đi vào phần cấu hình Samba SWAT, web của Samba dựa trên công cụ cấu hình cho phép bạn cấu hình file smb.conf mà không cần nhớ tất cả các định dạng. Mỗi màn hình SWAT thật ra là một form chứa những mục riêng biệt của file smb.conf mà bạn cần điền những thông số. File smb.conf là file cấu hình chính bạn sẽ cần chỉnh sửa. Nó được chia làm 5 phần chính, như trong 10-1 mô tả Bảng 10-1: Định dạng file - smb.conf Bạn có thể chỉnh sửa file này bằng tay, hay đơn giản là qua giao diện web SWAT của Samba. SWAT làm Samba đơn giản hơn SWAT, web của Samba dựa trên công cụ cấu hình cho phép bạn cấu hình file smb.conf mà không cần nhớ tất cả các định dạng. Mỗi màn hình SWAT thật ra là một form chứa những mục riêng biệt của file smb.conf mà bạn cần điền những thông số. Đơn giản cách sử dụng, mỗi hộp thông số có những outline giúp đỡ. Hình 10-1 là màn hình đăng nhập chính của SWAT. Hình 10-1 Samba SWAT Main Menu Cài đặt SWAT cơ bản Phải luôn nhớ rằng SWAT chỉnh sửa file smb.conf nhưng sẽ loại bỏ bất kì comment nào bạn đã tự điền vào file trước đó. File nguyên gốc smb.conf có rất nhiều comment quan trọng trong đó bạn nên copy một bản trước khi thực hiện với SWAT. Ví dụ, bạn nên lưu file nguyên gốc smb.conf thành: [root@itnews tmp]# cp /etc/samba/smb.conf /etc/samba/smb.conf.original Như bạn có thể thấy, dùng SWAT yêu cầu những hiểu biết về các thông số của file smb.conf bởi vì nó bỏ đi những comment đó. Hãy làm quen với mục quan trọng nhất trong file này trước khi làm việc với SWAT. SWAT không mã hoá password đăng nhập của bạn. Vì điều này có thể gây ra vấn đề bảo mật trong môi trường tập đoàn, bạn nên tạo một người dùng quản trị Samba không có đặc quyền cơ bản hay chỉ kích hoạt truy cập SWAT từ console GUI hay localhost. Kích hoạt và tắt, khởi động và dừng SWAT được điều khiển bằng xinetd, có trong chương 16 "Telnet, TFTP, and xinetd", thông qua một file cấu hình tên là ví dụ xinetd/swat. Đây là ví dụ: Code: service swat { port = 901 socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/swat log_on_failure += USERID disable = no only_from = localhost } Định dạng của file cũng khá dễ hiểu, đặc biệt là chỉ cần quan tâm 2 mục • Thông số disable phải được cài đặt "no" để chấp nhận các kết nối. Nó có thể tự động chuyển giữa ‘yes" và "no" như chúng ta có thể thấy sau • Cấu hình mặc định chỉ cho phép web SWAT truy cập từ console VGA chỉ với người dùng root ở cổng 901 với password root của Linux. Điều này có nghĩa là bạn phải điền trong trình duyệt của mình để vào được màn hình đăng nhập. Bạn cũng có thể truy cập SWAT từ những server khác bằng cách thêm các cổng vào địa chỉ IP chỉ từ thông số của file cấu hình SWAT. Đây là ví dụ của một cổng vào chỉ cho phép các kết nối chỉ từ 192.168.1.3 và localhost. Chú ý rằng không có dấu phẩy giữa các cổng vào. only_from = localhost 192.168.1.3 Do đó trong trường hợp này bạn có thể cấu hình Samba trên server Linux của bạn bigboy IP với địa chỉ 192.168.1.100 từ máy 192.168.1.3 dùng URL Hãy nhớ rằng phần lớn các tường lửa không cho phép TCP cổng 901 qua bộ lọc của chúng. Bạn có thể điều chỉnh nguyên tắc của bạn để cho traffic này đi qua. Điều khiển SWAT Cùng với ứng dụng điều khiển xinetd, lệnh chkconfig tự động điều chỉnh trường disable tuỳ theo fiel cấu hình và active thay đổi. Trước khi dùng SWAT, chương trình xinetd điều khiển nó phải được active. Bạn có thể khởi động/dừng/restart xinetd sau thời gian boot dùng script khởi tạo xinetd như trong ví dụ sau: Code: [root@itnews tmp]# service xinetd start [root@itnews tmp]# service xinetd stop [root@itnews tmp]# service xinetd restart Cũng giống như phần lớn các ứng dụng hệ thống Linux, bạn có thể cấu hình xinetd để khởi động vào lúc boot dùng lệnh chkconfig: [root@itnews tmp]# chkconfig xinetd on Để active SWAT dùng Code: [root@itnews tmp] chkconfig swat on Để deactive SWAT dùng: Code: [root@itnews tmp] chkconfig swat off Mã hoá SWAT Mặc định thì SWAT được cấu hình thông qua kết nối web không được mã hoá dùng tài khoản root Linux. Khi chạy SWAT trong chế độ không bảo mật ở trên bạn cần chú ý dùng nó từ console Linux bất kì khi nào có thể. Bạn có thể cấu hình SWAT để chỉ làm việc với mã hoá bảo mật HTTP (HTTPS) với phương pháp HTTP thường lệ như hình trên. Tạo một người dùng stunnel Bạn có thể tạo một người dùng stunnel thông qua lệnh useradd: Code: [root@itnews tmp]# useradd stunnel Tạo Certificates Ví dụ từ stunnel directory và tạo một chứng nhận mã hoá chủ chốt dùng lệnh make. Để nguyên tất cả các mặc định khi được nhắc nhở, nhưng đảm bảo là bạn dùng địa chỉ IP của server khi được nhắc cho Common Name của server hay hostname. Code: [root@itnews tmp]# cd /etc/stunnel [root@itnews stunnel]# make stunnel.pem ... Common Name (eg, tên của bạn hay hostname của server your name or your server's hostname) []: 172.16.1.200 ... [root@itnews stunnel]# Chú ý: Kết quả chứng nhận chỉ có giá trị 365 ngày. Hãy nhớ lặp lại việc này vào năm sau. Thay đổi chứng nhận cho phép file Chứng nhận chỉ có thể đọc được bởi user root hay stunnel. Dùng lệnh chmod và lệnh chgrp để làm điều này Code: [root@itnews stunnel]# chmod 640 stunnel.pem [root@itnews stunnel]# chgrp stunnel stunnel.pem [root@itnews stunnel]# ll -rw-r----- 1 root stunnel 1991 Jul 31 21:50 stunnel.pem [root@itnews stunnel]# Tạo một file cấu hình stunnel/stunnel.conf Bạn có thể cấu hình ứng dụng stunnel để: • Chặn traffic SSL mã hoá nhận ở bất kì cổng TCP nào • Giải mã traffic này • Đưa những dữ liệu chưa mã hoá đến bất kì ứng dụng nào nằm trên một cổng khác. Ví dụ, bạn có thể cấu hình file stunnel/stunnel.conf để chặn traffic SSL trên cổng SWAT 901 và đưa nó giải mã đến một deamon SWAT chạy trên cổng 902. Đây là ví dụ: Code: # Configure stunnel to run as user "stunnel" placing temporary # files in the /home/stunnel/ directory chroot = /home/stunnel/ pid = /stunnel.pid setuid = stunnel setgid = stunnel Code: # Log all stunnel messages to /var/log/messages debug = 7 output = /var/log/messages Code: # Define where the SSL certificates can be found. client = no cert = /etc/stunnel/stunnel.pem key = /etc/stunnel/stunnel.pem # Accept SSL connections on port 901 and funnel it to # port 902 for swat. [swat] accept = 901 connect = 902 Tạo một file xinet.d để bảo mật SWAT Để bắt đầu, copy file swat và đặt tên nó là swat-stunnel. Sau đó chúng ta cấu hình một file để enable, chờ ở cổng 902 và chỉ chấp nhận kết nối từ localhost. Chúng ta cũng đảm bảo là dịch vụ được cài đặt là swat-stunnel. Code: [root@itnews certs]# cd /etc/xinetd.d [root@itnews xinetd.d]# cp swat swat-stunnel File swat-stunnel mới của bạn sẽ giống như thế này: service swat-stunnel { port = 902 socket_type = stream wait = no only_from = 127.0.0.1 user = root server = /usr/sbin/swat log_on_failure += USERID disable = no bind = 127.0.0.1 } Disable SWAT trên file xinetd.d/swat Deamon stunnel thật sự chặn traffic cổng 901 đại diện cho swat-stunnel. Bạn sẽ cần disable SWAT để ngăn ngừa sự xung đột Chỉnh sửa các file dịch vụ để tạo cổng vào bảo mật SWAT Daemon xinetd tìm kiếm các file dịch vụ cho các cổng và dịch vụ phù hợp với những cái được liệt kê trên mỗi file cấu hình trong ví dụ như xinetd.d directory. Nếu deamon không tìm được cái phù hợp nó sẽ từ chối file cấu hình. Bây giờ chúng ta phải sửa các dịch vụ để tính cả file swat-stunnel mới như thế này. Code: swat-stunnel 902/tcp # Samba Web Administration Tool (Stunnel) Active swat-stunnel Bạn có thể khởi động ứng dụng swat-stunnel mới với lệnh chkconfig. Bạn cũng cần tắt swat trước khi sử dụng. Code: [root@itnews xinetd.d]# chkconfig swat off [root@itnews xinetd.d]# chkconfig swat-stunnel on Khởi động stunnel Bây giờ bắt đầu stunnel để thực hiện mã hoá Code: [root@itnews xinetd.d]# stunnel Chú ý: trong Fedora Core 2 bạn có thể gặp lỗi cryptonet khi bắt đầu stunnel như sau: Code: Unable to open "/dev/cryptonet" Điều này gây ra do sự không tương thích với RPM hwcrypto dùng cho phần cứng, không phải mã hoá dựa trên phần mềm. Bạn cần gỡ bỏ hwcrypto để stunnel làm việc chính xác. Code: [root@itnews xinetd.d]# rpm -e hwcrypto Sau đó bạn cần dừng stunnel, khởi động lại xinetd và khởi động lại stunnel. Sau đó, stunnel sẽ làm việc bình thường lại. Không may stunnel không có script startup trong directory và cần phải bỏ bằng tay dùng lệnh pkill. Code: [root@itnews xinetd.d]# pkill stunnel [root@itnews xinetd.d]# stunnel Khởi động stunnel vào lúc boot máy Vì stunnel không có script startup, bạn cần thêm vào một reference vào chương trình stunnel trong file cục bộ của SWAT mã hoá để làm việc trên hệ thống của bạn. Cách dễ nhất để làm điều này là dùng lệnh sau và thêm vào output của nó đến file rc.local. Code: [root@itnews tmp]# which stunnel >> /etc/rc.local Xác nhận nội dung của file rc.local bằng cách dùng lệnh cat. Cổng vào cho stunnel nên ở cuối. Code: [root@itnews tmp]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /usr/sbin/stunnel [root@itnews tmp]# Kiểm tra SWAT bảo mật Server Samba của bạn nên được nối với cả 2 cổng 901 và 902 như lệnh nestat-an ở sau. Server này sẽ chấp nhận kết nối từ xa chỉ trên cổng 901 Code: [root@itnews xinetd.d]# netstat -an ... ... tcp 0 0 0.0.0.0:901 0.0.0.0:* LISTEN tcp 0 0 127.0.0.:902 0.0.0.0:* LISTEN ... ... [root@itnews xinetd.d]# Kiểm tra đăng nhập bảo mật SWAT Chỏ trình duyệt web của bạn đến server Samba để thực hiện kết nối HTTPS trên cổng 901. https://server-ip-address:901/ Bạn sẽ được nhắc về tên người dùng root và password. Sẽ có khoảng chờ từ 60 đến 75 giây cho mỗi lần đăng nhập. Xử lý bảo mật SWAT Thỉnh thoảng bạn sẽ gây nên lỗi trong file stunnel.conf nhưng thay đổi ở file này chỉ có hiệu lực sau khi stunnel được khởi động lại. Không may, không có script stunnel trong init.d directory để dừng lại dễ dàng và khởi động lại. Bạn phải dùng lệnh pkill để dừng nó và lệnh stunnel để khởi động nó lại. [root@itnews tmp]# pkill stunnel ; stunnel Hãy đảm bảo là sự cho phép file và quyền sở hữu trên file stunnel.pem đúng là SWAT luôn luôn off, nhưng swat-stunnel phải được on. Bạn có thể xem phần, ""Simple Network Troubleshooting" để tách biệt vấn đề kết nối giữa clinet SWAT và server Samba trên cổng TCP 901 giữa những thứ khác. Làm sao để SWAT thay đổi ngay lập tức SWAT thay đổi ngay lập tức chức năng của Samba bất kì khi nào bạn công nhận thay đổi qua web GUI. Tạo một cấu hình bắt đầu Bây giờ tôi sẽ mô tả cách cấu hình một server Samba trở thành một PDC cho một network nhỏ bằng cách dùng SWAT. Bạn sẽ cần chỉnh sửa những phần khác nhau của file smb.conf nên tôi sẽ nói từng phần. Mục [Global] Mục [global] điều khiển các cài đặt Samba nói chung. Bảng 10-2 giải thích các thông số bạn cần cài đặt để tạo PDC. Bảng 10-2: các cài đặt nhỏ nhất smb.conf, mục "Global" Đây là cách cài đặt các giá trị dùng SWAT. 1. Đăng nhập vào SWAT và click vào mục [global] 2. Click vào nút Advanced để xem tất cả các mục 3. Thực hiện thay đổi của bạn và click vào nút Commit Changes khi hoàn tất. 4. File smb.conf của bạn sẽ giống với mẫu dưới đây khi bạn hoàn thành. Bạn có thể nhìn nội dung của fie cấu hình bằng cách đăng nhập vào server samba thông qua một nhắc lệnh và dùng cat ví dụ samba/smb.conf để xác định thay đổi bạn thực hiện. [global] Code: workgroup = HOMENET time server = Yes domain logons = Yes os level = 65 preferred master = Yes domain master = Yes smb passwd file = /etc/samba/smbpasswd private dir = /etc/samba Chú ý: security = user và WINS support = yes là những cài đặt mặc định cho Samba và chúng có thể không xuất hiện trong file smb.conf của bạn, mặc dù bạn có thể thấy chúng trong SWAT. 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" 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] Đâ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. Code: [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: Code: [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. Code: [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 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. Code: [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. Code: [global] # 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 Code: [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 Code: [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: Code: [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) Code: REM Drive Mapping Script net use P: \\bigboy\ 3.Làm file world có thể đọc được dùng: Code: [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 ... Code: [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. Code: [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 Code: [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.

Các file đính kèm theo tài liệu này:

  • docCài SAMBA để chia sẻ file.doc
Tài liệu liên quan