Well, I have been able to figure this out with some quite extensive searching.
New Hard Disk Setup
I'll first start off with creating a second hard drive to use as the "shared" drive:
Next we will format the new partition with a file system. In this case, I used the ext4 file system on the new drive labeled sdb1 located in /dev
- option n
- option p
- option 1
- select defaults for the next 2 prompts
- option w
Create a mount point for the sdb1 partition
Now we will edit fstab to auto mount /dev/sdb1 upon boot. I used the nano text editor for this part. You can use which ever text editor you are comfortable with.
Add the following line to the bottom of the fstab config file
Save the fstab config and reboot the server
/dev/sdb1 /media/data ext4 defaults 0 0
Start off by creating a directory to share using Samba.
Now to install Samba!
mkdir -p /media/data/share
Make a backup for the Samba configuration file just in case something happens.
apt-get install samba
Remove the default smb.conf file
cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Create a new blank smb.conf file
Edit the blank smb.conf file
I have used the following config for the test environment and unfortunately I do not know all of the options that can be used inside of the smb.conf file
Once you have saved the new smb.conf file, reboot the services smbd & nmbd
workgroup = workgroup
server string = Ubuntu File Server
netbios name = $servername
security = user
map to guest = bad user
dns proxy = no
path = /media/data/share
valid users = @$groupname
browsable = yes
writable = yes
guest ok = no
read only = no
create mask = 0644
directory mask = 0755
Create a new group for the Samba share
Change group access to the share
Change permissions to the root of the share
chgrp -R $groupname /media/data/share
Add a user account of the share group
chmod 777 /media/data/share
Finally, create a share password for the user account
adduser $username $groupname
You now will be able to access the network share from Windows.
smbpasswd -a $username
Add a virtual user to the ftp server and point it to the directory you want the virtual user to have access to when uploading files to the Samba share
apt-get install pure-ftpd
Make the pure-ftpd database
pure-pw useradd $username -u $username -g $groupname -d /path/to/samba/share
Run this command (still trying to figure out what that does)
Restart the pure-ftpd service
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
service pure-ftpd restart
Now you have an FTP server that can drop files to a Samba share that can be accessed by those who use Windows desktops.