Franske ITC-2480 Lab 7

From ITCwiki
Revision as of 05:16, 20 February 2018 by BenFranske (talk | contribs)
Jump to navigation Jump to search

Introduction

Lab Procedure

Prerequisites

  1. Open an SSH console to your Linux system using the PuTTY software, login with your standard user account
  2. Make sure that Webmin is installed on your system.
  3. Make sure you have an up-to-date list of packages on your system using the apt update system
  4. Make sure you have all the latest software upgrades on your system using the apt upgrade method

Install Samba

  1. With your favorite package manager, install the samba package.
  2. After Samba is installed, login into Webmin on your local computers web browser.
  3. Under the servers tab, notice how Samba does not show up. This is because we just installed the package.
  4. On the bottom of the left toolbar, click refresh modules. After a minute, it should refresh the page. Now look under the servers tab again. Does samba now show up?

Setup a Guest Share

  1. The first thing we are going to do is we are going to create a guest share. This share will allow for all users, even those who have not authenticated, to read files.
  2. To help you better understand samba, this first share will be configured from PuTTY and command line. First, change into the /etc/samba/ directory and view a directory listing. In here we have one main file, smb.conf, which holds all of the Samba share and authentication settings. There may also be a few other files and directories which can be used for more advanced Samba features such as TLS certificate based authentication.
  3. Now with your favorite text editor, open up smb.conf with administrative permission.
  4. Scroll to the bottom of the file, and notice how shares are defined. They all have a similar format such as:
    [Share Name]
            comment = Share Comment
            options....
  5. Where options are the different configuration settings. Lets try creating the guest share folder from the config file manually.
  6. Exit out of nano, and create the folder /srv/Guest-Files as root. This will be the folder we are sharing.
  7. Now open up /etc/samba/smb.conf in a text editor again as root, and go to the bottom of the file.
  8. Enter the following:
    [Guest Share]
            comment = Public File Share
            public = yes
            path = /srv/Guest-Files
  9. You have now created the public share. In order to make the share take effect you need to restart the Samba service on your machine with the service smbd restart command. Note, restarting services requires administrative permission.
  10. To test this share, go into /srv/Guest-Files and create a text file and enter some information. We will use this file to test the read-only settings of the share.
  11. At this point, we should be ready to test out our configuration. On your Local Computer, open up the run dialog box, and enter \\172.17.50.xx (The IP you setup for the static address of your VM), and press enter. You should see a share folder called Guest Share. Open it up, and see if your text file is in the share. Open up the file, and try to edit and save the file. What error do you get?

Share Home Directories

  1. Now we are going to setup Home Folders. By default they are enabled, but write access is not. Notice what other folders are enabled in Samba by default.
  2. First it must be noted that Samba requires separate user accounts from the system, just like MySQL. So first, we are going to add your user account.
  3. To do this, we are now going to use Webmin to configure the shares.
  4. On the Webmin Samba configuration page, click Samba Users. Notice how none are currently defined. Go back, and then click Convert Users. This is the tool we will use to convert/copy the local Unix user accounts to Samba accounts.
  5. Leave the Unix users to convert option set to all except listed users and UID ranges with the option of -499. This will add all user accounts with a UID of 500 or more to Samba. Lower UID values are typically used on Debian systems as service accounts (like www-data) who should not have Samba permissions.
  6. Now on the bottom, select "No password". We are doing this as we will define unique passwords for each user. Then click Convert Users when ready.
  7. When you are done, go to the Samba Users page again. Notice how your user account is now listed. From here you can now add passwords to the different user accounts you added in the last step. Be sure to set the passwords for each user you intend to connect with.
  8. Lastly we are going to setup write access to home folders, so you will be able to add files to your home directory over samba.
  9. On the Samba config page, under Shares, click the home share. Next click Security and Access Control. Now set the Writable option to Yes, and then click save.
  10. Now go back to the Samba config page, and click the Restart Samba Servers option at the bottom. We do this to force samba to load the new configuration. You can also wait a minute or two if you don't want to disconnect any connected users.
  11. At this point, we should be ready to test out our configuration. On your Local Computer, open up run dialog box, and enter \\172.17.50.xx (Your IP you setup for the static address), and press enter. Notice how you do not see a home directory share because you are connected without any authentication. Now, in the top URL window, add \username to the path, e.g. \\172.17.50.xx\user. You should now get a login popup. Login as your user, and you should be greeted with your home folder.
    • NOTE: If your user is unable to login you may have forgotten to set a Samba password for the user as directed above. You need to set a password for each user within Samba.
  12. Test creating and deleting a file to verify write access is working.
  13. Now try to access a home share of another user that was added to samba. Notice how you do not have permissions. Try logging in with another user account to access a different home share.
    • Note: To use another user account in a samba share, you may have to logout and then back in on your local machine.

Setup a Group Share

  1. Now we are going to setup a group folder share that will allow for all samba users to read and write to the folder.
  2. Now back in the Webmin Samba configuration panel, we are going to create a new share. Under shares, select the Create a new file share link. Use the following base configuration:
    Share Name: Share-Files
    Directory to share: /srv/Group-Share
    Automatically Create Directory: Yes
    Create with owner: root
    Create with permissions: 775
    Create with group: users
    Available: yes
    Browsable: yes
    Share Comment: group share folder
    
  3. Once the share is setup, click it to edit it. Once you are at the Edit File Share page, click File Permissions. Notice how the New Unix file and New Unix directory are set to 755 by default, even though we set the share to use 775 to create the directory. This is done for security purposes.
  4. Now set the New Unix file and New Unix directory mode to 775, and set Force Unix group to users. You can now press save. We do this to allow authenticated users to modify and edit files that may have been added by other users.
  5. Now we will need to enable write access to the folder. On the Edit file share page again, click Security and Access Control. Now set the Writable option to Yes, and press save.
  6. At this point, you can test the share exactly the same way we did with the home folder share. Notice though how this share is set to browsable, so it shows up in the root share folder. Go ahead and create a file through your host computer. Then use PuTTY to look at the user and group assigned to the files you created.
  7. It is important to note that even if a user has read or write permission in Samba they must also have permission to read or write the file/directory on the underlying Linux filesystem. Many problems with making Samba work can be traced to permissions errors where a user does not have correct permission to work with a file or directory either by the Samba software or by the filesystem.
  8. Finally, take a look at your smb.conf file and see what changes Webmin made in order to setup your group share.