Files and File Sharing/9.2
(Sorry for the inconvenience)
This section describes the various file managers that are available for managing the files on your PC-BSD system. It then shows how you can configure your PC-BSD system to share files with other systems in your network using Samba.
File Managers and File Structure
Depending upon which desktops you have installed, different graphical file manager utilities are available for PC-BSD. Note that you don't need to be logged into a window manager to use an installed file manager. For example, if KDE is installed, you can run its file manager from any desktop by typing dolphin. The supported desktops provide their own file managers while most of the unsupported desktops assume that you will install your favourite file manager. Table 8.6a summarizes the available file managers and indicates which desktop they are installed with. Some file managers can be installed independent of a desktop using AppCafe® to install the PBI. Once a file manager is installed, type its name if you wish to run it from another desktop.
Table 8.6a: Available File Managers
When working with files on your PC-BSD system, save your own files to your home directory. Since most of the files outside of your home directory are used by the operating system and applications, you should not delete or modify any files outside of your home directory, unless you know what you are doing.
Table 8.6b summarizes the directory structure found on a PC-BSD system. man hier explains this directory structure in more detail.
Table 8.6b: PC-BSD Directory Structure
|/||pronounced as "root" and represents the beginning of the directory structure|
|/bin/||applications (binaries) that were installed with the operating system|
|/boot/||stores the startup code, including kernel modules (such as hardware drivers)|
|/compat/linux/||Linux software compatibility files|
|/dev/||files which are used by the operating system to access devices|
|/etc/||operating system configuration files|
|/etc/X11/||the xorg.conf configuration file|
|/etc/rc.d/||operating system startup scripts|
|/home/||subdirectories for each user account; each user should store their files in their own home directory|
|/lib/||operating system libraries needed for applications|
|/libexec/||operating system libraries and binaries|
|/media/||mount point for storage media such as DVDs and USB drives|
|/mnt/||another mount point|
|/proc/||the proc filesystem required by some Linux applications|
|/rescue/||necesary programs for emergency recovery|
|/root/||administrative account's home directory|
|/sbin/||operating system applications; typically only the superuser can run these applications|
|/tmp/||temporary file storage; files stored here may disappear when the system reboots|
|/usr/bin/||contains most of the command line programs available to users|
|/usr/local/||contains the binaries, libraries, startup scripts, documentation, and configuration files used by applications installed from ports or packages|
|/usr/pbi/||contains the binaries, libraries, startup scripts, documentation, and configuration files used by instaleld PBIs|
|/usr/local/share/fonts/||system wide fonts for graphical applications|
|/usr/local/share/icons/||system wide icons|
|/usr/ports/||location of system ports tree (if installed)|
|/usr/share/||system documentation and man pages|
|/usr/sbin/||command line programs for the superuser|
|/usr/src/||location of system source code (if installed)|
|/var/||files that change (vary), such as log files and print jobs|
Samba allows any operating system to share volumes using Microsoft's CIFS protocol. There are two components to Samba:
- client libraries: this allows an operating system to access existing CIFS shares. The client is built into the Windows and Mac OS X operating systems and is installed for you during the PC-BSD installation. Most Linux distros also install the Samba client; if your Linux distro does not, search its software repository.
- server: this allows a computer to act like a Windows server in that it can create shares and printers that are available to any CIFS client on the same network.
This section will demonstrate how to access shares using the Samba client as well as how to configure your PC-BSD system as a Samba server.
Using the Samba Client
Since the Samba client libraries are pre-installed for you, you simply have to decide which utility you prefer to access the Windows shares on your network. Remember, if a desktop is installed, you do not have to be logged into that desktop in order to use that utility.
Table 8.6c summarizes the available utilities (type a utility's name to launch it in any desktop), which desktop it installs with and whether or not a separate PBI is available, and a short description of how to access the available shares using that utility.
Table 8.6c: Utilities that Support Windows Shares
|dolphin||KDE||in the left frame, click on Network ➜ Samba Shares, then the Workgroup name; if the network requires a username and password to browse for shares, set this in Control Panel ➜ System Settings ➜ Sharing|
|konqueror||KDE||in the location bar, type smb:/|
|krusader||PBI||add Local Network to toolbar by going to Settings ➜ Configure Toolbars; once in toolbar click Local Network ➜ Samba Shares|
|mucommander||PBI||click on Go ➜ Connect to server ➜ SMB; ; here you can input the NETBIOS name of server, name of share, name of domain (or workgroup), and the share's username and password|
|nautilus||GNOME||click on Go ➜ Network ➜ Windows Network|
|thunar||XFCE or PBI||in the left frame, click on Network ➜ Windows Network|
Configuring the Samba Server
If you would like to share folders or a printer attached to your PC-BSD system with other users in your network, configure the built-in Samba server.
In order to create your shares, you need to modify Samba's configuration file, smb.conf. You can either edit this file manually or use a GUI utility such as SWAT. This section will demonstrate both methods.
Edit smb.conf Manually
To modify the file manually, become the superuser and copy the sample file to the configuration directory:
cp /usr/local/share/examples/samba34/smb.conf.sample /usr/local/etc/smb.conf
Open the copied file in your favorite editor and review the default settings, editing them to match your network. In particular, check these global settings:
- workgroup = must match the Windows workgroup or domain name; unless the administrator has changed it, the default workgroup name is WORKGROUP
- security = the security modes are described here
- hosts allow = you should input the network address to restrict connections to the local network
In the share definitions section, review the [homes] settings. You can also define your own shares. This example will share the Downloads directory of user1 as read-only:
[Downloads] path = /usr/home/user1/Downloads public = yes writable = no
To test your changes, restart the Samba service:
and try browsing to the share from another system. Note that you may have to first map a drive to the share in order for it to appear in Windows Explorer or within the file manager utility of another PC-BSD or Linux system.
Create Shares Using SWAT
SWAT provides a graphical front-end to smb.conf through a web browser.
To enable SWAT, remove the # at the beginning of this line in /etc/inetd.conf:
#swat stream tcp nowait/400 root /usr/local/sbin/swat swat
Add the following line to /etc/rc.conf:
And start inetd:
To connect to SWAT, open a web browser and input the IP address of the PC-BSD computer followed by :901. When prompted, input the username root and the password associated with the superuser account. In the example shown in Figure 8.6a, the user has clicked on the Globals button in order to view the global settings.
Figure 8.6a: SWAT Graphical Menu
One of the nice features of SWAT is the built-in help system. If you need more information about an option, simply click its Help hyperlink to access that section of the Samba documentation. The shares button allows you to quickly create shares and the view button allows you to review the current configuration.