S.A.C.T. - Samba Automated Configuration Tool - Version 1.07
by, 10-Mar-2013 at 09:04 (2062 Views)
I have written a new tool to Setup and Configure Samba which should work on all present supported versions of openSUSE and specifically to work with the new openSUSE 12.3 release.
S.A.C.T. supports the complete and automatic configuration of Samba for use by anyone not familiar with just how to setup Samba the first time to get it to work properly. You should run this setup once on a new system. You need to manually install the samba-doc file from YaST on an existing setup if you are not going to run this S.A.C.T. installation option.
The three Primary Help Documents included with Samba (samba-doc is required) can be viewed in PDF format or in HTML format in your default Web Browser.
S.A.C.T. Has a new Status and testing Menu with smb and nmb log file viewers.
As you make Samba Configuration Changes, you can then Start, Stop, Restart and Check Status of the nmb and smb services at will.
And Finally, S.A.C.T. provides an easy way to create, view and edit the Samba User Database.
DOWNLOAD the S.A.C.T. Bash Script:
You can obtain the raw bash script from SUSE Paste at the following link:
S.A.C.T. - Samba Automated Configuration Tool - Version 1.07
Open the above Link in a new Tab. Select the Download option in the top right and then select Open With Kwrite or other text editor and then save the bash script text file as ~/bin/sact. It is possible to directly download sact using the following terminal command (You must delete or remove the old version first):
Code:rm ~/bin/sactThis script must be marked executable to be used. Please run the following Terminal command:Code:wget -nc http://paste.opensuse.org/view/download/32414090 -O ~/bin/sact
It is even possible to string all three of these commands together as one which is Highly Recommended for you to use! Copy the following command, open up a terminal session, paste it in and press enter:Code:chmod +x ~/bin/sact
To use sact, open up a terminal session and type in the command:Code:rm ~/bin/sact ; wget -nc http://paste.opensuse.org/view/download/32414090 -O ~/bin/sact ; chmod +x ~/bin/sact
When S.A.C.T. is first run, it creates both a Desktop and Program icon for you, used to run S.A.C.T.Code:sact
SMB and NMB Services:
The smbd (Server Message Block) daemon provides file sharing and printing services to Windows & Samba clients. In addition, it is responsible for user authentication, resource locking, and data sharing through the SMB protocol. The default ports on which the server listens for SMB traffic are TCP ports 139 and 445. If smb is not working, you will be unable to find any PC's, including your own PC, sharing resources on your local network.
The smbd daemon is controlled by the smb service.
The nmbd (NetBIOS Message Block) daemon understands and replies to NetBIOS name service requests such as those produced by SMB/CIFS in Windows-based systems. These systems include Windows 95/98/ME/7/8, Windows NT, Windows 2000, Windows XP, LanManager and Samba clients. It also participates in the browsing protocols that make up the Windows Network Neighborhood view. The default port that the server listens to for NMB traffic is UDP port 137. If nmb is not working and smb is working, you can find other PC's on the network, but no one can find your PC on the network. If smb and nmb are working, you should be able to find what your PC is sharing. Use the S.A.C.T. main menu option six to create a /home sharing icon for your PC on the same PC to see if it is sharing /home properly.
The nmbd daemon is controlled by the nmb and smb services.
To locate your PC on your network, you look for the hostname you have provided. For Samba, you can have a separate name, set in your /etc/samba/smb.conf file or, remark out that line there and use the original hostname as setup in your openSUSE installation, which is recommenced. To see what your actual Computer Name will be, as set by openSUSE during the installation, open up a terminal session and type in the command:
To Actually Change the PC name (For this Session Only), open up a terminal session and type the command:Code:hostname
Where you substitute the actual PC name you want to use in place of the name new_name. To make a permanent change to your hostname, that is persistent after you reboot, you can do this. Open up a terminal session and enter the following commands:Code:sudo hostname new_name
Your PC will now have a new hostname that will persist even after a restart of your PC. It is not recommended (or needed) that you set a hostname in your /etc/samba/smb.conf and use the same name in your openSUSE network configuration. You can use a different hostname for Samba and openSUSE, but I am not sure why you would want to do that. You can change the hostname in YaST as well:Code:su - echo "new_hostname" > /etc/HOSTNAME hostname -F /etc/HOSTNAME
Go to YaST (enter root password) / Network Devices / Network Settings / Hostname/DNS Tab / and enter Hostname, press OK when complete.
What Can You Find Using Samba?
The Samba Setup option then creates a SMB browser icon for you as well:
And When Selected, it will open up a File Browser showing the hostnames of your Samba Compatible Shares:
When you elect to setup Samba for the first time, S.A.C.T. creates a default Samba configuration file called smb.conf and located in the folder named /etc/samba as follows:
Folder Sharing Other than /home:Code:# smb.conf is the main Samba configuration file. # You find a full commented version at # /usr/share/doc/packages/samba/examples/smb.conf.SUSE # if the samba-doc package is installed. # Samba config file created using SWAT # from $netbios_name (127.0.0.1) # Date: $(date) [global] workgroup = $Workgroup # netbios name = $netbios_name passdb backend = tdbsam name resolve order = bcast host lmhosts wins server string = "" printing = cups printcap name = cups printcap cache time = 750 cups options = raw use client driver = yes map to guest = Bad User local master = yes os level = 33 usershare allow guests = Yes usershare max shares = 100 usershare owner only = False [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0700 browseable = No guest OK = Yes [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @ntadmin root force group = ntadmin create mask = 0664 directory mask = 0775
Your /home folder can not be browsed by default in a file manager. For two or more PC setups using S.A.C.T., see the S.A.C.T. main menu option two to create a /home browse icon you must enter a password to use. To Allow the sharing of a common folder(s) for all users, not requiring a password (from openSUSE as Windows will normally ask for a password), you might make the following addition at the end of your /etc/samba/smb.conf file as follows:
Make sure to use your actual folder name to share in place of my example folder named /windows/C. I might use the following chmod terminal command on the Windows folder shown here to allow full user access:Code:[Windows] path = /windows/C read only = No acl check permissions = No inherit acls = Yes guest ok = Yes profile acls = Yes use sendfile = Yes
Consider that the /etc/fstab file entry will allso effect the ability of any user to read and write to this folder. Have a look at the suggested mount options for a NTFS folder in my fstab file:Code:sudo chmod 777 /windows/C
Your partition or device name name will likely not be the same as mine, but note the mount options of defaults,noatime that I have used to allow all users to use this partition. When you modify the /etc/samba/smb.conf configuration file with the edit option from the main menu, make sure to restart the smb/nmb services for the changes to take effect. In general do not modify the fstab entry for anything mounted inside your /home partition. For fstab changes to take effect, you can restart openSUSE or open up terminal and run this command:Code:/dev/disk/by-id/ata-Hitachi_HDS5C3020ALA632_ML0220F30MGP7D-part2 /windows/C ntfs-3g defaults,noatime 0 0
-- CONTINUED --Code:sudo mount --all