Библиотека сайта rus-linux.net
Appendix F. Running Samba on Mac OS X Server
Setup Procedures
The first thing to note is that the procedure described in Chapter 2 using System Preferences to enable Samba does not apply to Mac OS X Server. Unlike Mac OS X, the Sharing pane of System Preferences does not include an option to turn on Windows File Sharing. Instead, there is a set of applications to configure, activate, and monitor services: Workgroup Manager, Server Settings, Server Status, and Open Directory Assistant, all located in the directory /Applications/Utilities.
NOTE
For more information, refer to the Mac OS X Server Administrator's Guide, included as a PDF file in the /Library/Documentation/MacOSXServer directory, and also downloadable from Apple Computer's web site at http://www.apple.com/server/.
Briefly, the procedure for setting up SMB file and printer shares is as follows:
-
Designate share points in Workgroup Manager for file sharing.
-
Set up print queues in Server Settings for printer sharing, and activate Printer Service.
-
Configure and activate Windows Services in Server Settings.
-
Activate Password Server and enable SMB authentication in Open Directory Assistant.
-
Enable Password Server authentication for user accounts in Workgroup Manager.
-
Monitor file and print services with Server Status.
Sharing Files
The first step to enable SMB file sharing is to designate one or more share points. Share points are folders that form the root of shared volumes for any of the protocols supported by Mac OS X Server: Apple Filesharing Protocol (AFP), Network Filesystem (NFS), File Transfer Protocol (FTP), and SMB.
On the right, under the General tab, check the box labeled Share this item and its contents, change the ownership and permissions if desired, then click the Save button. Next, under the Protocols tab, select Windows File Settings from the pop-up menu, and ensure that the box labeled Share this item using SMB is checked. At this point, you can also decide whether to allow guest access to the share, change the name of the share displayed to SMB clients, or set permissions for files and folders created by SMB clients. Click the Save button when you're finished making changes. See Figure F-1.
Figure F-1. Workgroup Manager: Share Points and Windows File Settings
Sharing Printers
Printer shares are set up differently. First, launch Server Settings; under the File & Print tab, select Print, then Configure Print Service.... Check the box labeled Automatically share new queues for Windows printing. Next, click the Print icon again and then Show Print Monitor. Make sure the printers you want to share are listed. Printers directly attached to the server should have queues created automatically, but remote printers you wish to reshare must be added by clicking New Queue and discovering or specifying the printers. When you're finished, click Save, select the Print icon one more time, and select Start Print Service. See Figure F-2.
Figure F-2. Server Settings: Print Service
TIP
Configuring and Activating Services
At this point, neither the file shares nor the printer shares are available to SMB clients. To activate them, click the Windows icon in Server Settings, and click Configure Windows Services.... Under the General tab, you can set the server's NetBIOS hostname, the workgroup or Windows NT domain in which the server resides, and the description that gets displayed in a browse list. You can also specify the code page for an alternate character set. Finally, you can enable boot-time startup of Samba. See Figure F-3.
Figure F-3. Server Settings: Windows Services
Activating Password Server
Now that you've set up file and printer shares, you need to make sure users can properly authenticate to access them. In Mac OS X Server, this is accomplished with the Open Directory Password Server, a service based on the Simple Authentication and Security Layer (SASL) standard and usable with many different authentication protocols, including the LAN Manager and Windows NT LAN Manager (NTLM) protocols. This section describes how to support SMB client authentication, but for more information on what Password Server does and how it works, see the Mac OS X Server Administrator's Guide.
To enable Password Server or merely check its settings, start the Open Directory Assistant. Unless you wish to change any of the settings, just click the right arrow button in the lower-right corner of the window until you get to the first Security step. At this point, activate Password Server by selecting the option marked Password and authentication information will be provided to other systems. The next step displays the main administrative account, and the one after that gives you a choice of authentication protocols to enable (see Figure F-4). Make sure that SMB-NT is checked, and check SMB-Lan Manager if you have Windows 95/98/Me or older clients. The final step saves the Password Server configuration and prompts you to reboot.
Figure F-4. Password Server authentication protocols
Enabling Password Server
To enable the use of Password Server for a user account, launch Workgroup Manager, and click the Accounts button in the toolbar. Under the Users tab on the far left (with the silhouette of a single person), select the account, and under the Advanced tab on the right, select Password Server for the User Password Type (see Figure F-5). You are prompted to enter a new user password to be stored in the Password Server database. After saving the account configuration, the user can authenticate and access shares from an SMB client.
Figure F-5. Workgroup Manager: Enabling Password Server authentication
Monitoring Services
Once you've got everything working, you'll want to keep an eye on things. The Server Status application gives you views into the various services provided by Mac OS X Server. For Windows Services, you can see the current state of the service, browse the logs (located in the directory /Library/Logs/WindowsServices), display and terminate individual connections, and view a graph of connections over time (see Figure F-6). Similar information is provided for Print Service.
Figure F-6. Server Status: Windows Services
Configuration Details
sambadmin:respawn:/usr/sbin/sambadmind -d # SMB Admin daemon
There's another wrinkle in Mac OS X Server: the Samba configuration settings are not written directly to /etc/smb.conf, as they are in the non-Server version of Mac OS X. Instead, they're stored in the server's local Open Directory domain,[1] from which sambadmind retrieves them and regenerates smb.conf. For example, the Samba global parameters are stored in /config/SMBServer (see Figure F-7). Share point information is also kept in Open Directory, under /config/SharePoints, while CUPS takes responsibility for printer configuration in /etc/cups/printers.conf (also creating stub entries used by Samba in /etc/printcap).
Figure F-7. NetInfo Manager: SMBServer properties
Table F-1 summarizes the association of Windows Services settings in the Server Settings application, properties stored in Open Directory, and parameters in /etc/smb.conf.
Table F-1. Samba configuration settings in Mac OS X Server
Server Settings graphical element in Windows Services |
Open Directory property in /config/SMBServer |
Samba global parameter in/etc/smb.conf |
---|---|---|
General → Server Name |
|
|
General → Workgroup |
|
|
General → Description |
|
|
General → Code Page |
|
|
General → Start Windows Services on system startup |
|
N/A |
Access → Allow Guest Access |
|
|
N/A |
|
|
Access → Maximum client connections |
|
|
Logging → Detail Level |
|
|
Neighborhood → WINS Registration → Off |
|
|
Neighborhood → WINS Registration → Enable WINS server |
|
|
Neighborhood → WINS Registration → Register with WINS server |
|
|
Neighborhood → Workgroup/Domain Services → Master Browser |
|
|
Neighborhood → Workgroup/Domain Services → Domain Master Browser |
|
|
Print → Start Print Service |
|
N/A |
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
N/A |
N/A |
|
|
N/A |
|
N/A |
N/A |
|
N/A |
N/A |
|
N/A |
N/A |
|
N/A |
N/A |
|
N/A |
N/A |
|
N/A |
N/A |
|
Rolling Your Own
#chflags uchg /etc/smb.conf
#nicl . -create /config/SMBServer samba_sbindir /usr/local/samba/bin
#nicl . -create /config/SMBServer samba_bindir /usr/local/samba/bin
#nicl . -create /config/SMBServer samba_libdir /usr/local/samba/lib
#nicl . -create /config/SMBServer samba_vardir /usr/local/samba/var
#nicl . -create /config/SMBServer samba_lockdir /usr/local/samba/var/locks
You can check your settings with this command:
#nicl . -read /config/SMBServer
In Server Settings, select Stop Windows Services, then run this command:
#killall sambadmind
If you don't modify Open Directory properties to match your active Samba installation (because you wish to manage your configuration another way), be sure never to activate Windows Services from the Server Settings application, or you'll wind up with two sets of Samba daemons running concurrently.
Footnotes
[1] In versions of Mac OS X prior to 10.2, Open Directory domains were called NetInfo domains. NetInfo Manager (located in /Applications/Utilities) provides a graphical interface to view and modify the contents of Open Directory databases. For more information, see the Mac OS X Server Administrator's Guide, as well as Understanding and Using NetInfo, downloadable from the Mac OS X Server resources web page at http://www.apple.com/server/resources.html.