This portion will walk you through mounting SMB shares. I do some things differently for a more complex layout. But in the end it's worth it. I also use a credentials file to protect my share user accounts. Again, get to your server as Root.
Install smbfs so you can mount these network shares:
apt-get install smbfs
Go to the /mnt folder. Some may prefer media, but I like to reserve that for less permanent shares.
cd /mnt
create a folder for each network share
mkdir music
mkdir video
mkdir work
Give ownership of your share folders to the ftpgroup. This shouldn't matter because these folders will end up with the permissions given by the mount settings.
chown -R nobody:ftpgroup .
---Note: The period at the end is intentional
Create credential files to protect mounted accounts. The credential files are sensitive to spaces and line feeds. Just fill it in exactly as below.
nano music.cred
username=shareuser
password=thisisapassword
Save and exit.
nano video.cred
username=videouser
password=morepasswords
etc.
restrict credential files. You need to make it so only the root account can read these files.
chmod 600 *.cred
Now lets permanently mount some of these shares:
nano /etc/fstab
Add the following to the bottom of the file, noperm (no permission checking) on the first line is recommended for any share which the user will upload/write into. ro shares (read only) shouldn't need this.
//worldbook-work/work /mnt/work cifs credentials=/etc/work.cred,rw,uid=65534,gid=2001,noperm 0 0
//worldbook-media/music /mnt/music cifs credentials=/etc/music.cred,ro,uid=65534,gid=2001 0 0
//worldbook-media/video /mnt/video cifs credentials=/etc/video.cred,ro,uid=65534,gid=2001 0 0
# These following lines bind the mounts to our FTP folders.
/mnt/music /var/ftp/media/music none bind 0 0
/mnt/video /var/ftp/media/video none bind 0 0
/mnt/work /var/ftp/work none bind 0 0
/var/ftp/work /var/ftp/workmedia/work none bind 0 0
/var/ftp/media /var/ftp/workmedia/media none rbind,_netdev,noauto 0 0
Because /var/ftp/workmedia/media relies on another nested mount the timing of the mounts prevents the mount from working right away. To solve this I added some lines to rc.local to force mounting again at login.
nano /etc/rc.local
before exit 0 add these lines.
sleep 10
/bin/mount -a -t cifs
sleep 5
/bin/mount /var/ftp/workmedia/media
Exit and Save.
Reboot and go to your var/ftp (or other mount folder) and see if it worked.
You may notice that I bind my shares into the FTP folders instead of mounting them right there. This is done because my FTP folder is for FTP, but the mount folder is for any purpose. If I decide my FTP server will also serve as a DLNA media server then I have nothing else to do but point the dlna server to my mount folder.
Sunday, February 7, 2010
Creatively using mount to handle SMB shares for Pure-FTP
Labels:
9.10,
Free Software,
FTP,
Open Source,
Server,
Ubuntu
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment