Mount Network Shares
This Howto assumes:
- You will be mounting your shares into the info ibay
- You will be using cifs (smbfs or nfs should be similar)
- Your cifs server is named nas01
- You want to access two shares on nas01: share1 and share2
- You can successfully open \\nas01\share1 and \\nas01\share2 from windows using
- username: joe
- password: theplumber
Create the local mount points
First create the directories that will be used to host the mounted data. These directories should remain empty at all times.
cd /home/e-smith/files/ibays/info/html mkdir share1 mkdir share2
Create a password file
In order for your SME server to mount a network share, it needs to know a valid username and password on the intended network server.
The most secure way to allow your SME server to login to a Windows (or other network) server is to place the required username and password information into a file on the disk, then set the permissions on that file so no one can read it who should not be able to.
I prefer to keep all such files in a folder under /root, as shown here:
mkdir /root/.passwd echo "username=joe password=theplumber " > /root/.passwd/nas01 chmod 400 /root/.passwd/nas01
Modify the SME local event
You can schedule a program to run whenever your system boots by adding it to the e-smith local event. This event is executed by SME after all other boot processes have run, so the network, USB subsystem, etc should all be initialized and available.
The following commands will add a command to the local event that will mount a network share:
cd /etc/e-smith/events/local echo "#! /bin/sh /etc/rc.d/init.d/netfs start mount -t cifs -o _netdev,credentials=/root/.passwd/nas01 //nas01/share1 /home/e-smith/files/ibays/info/html/share1 mount -t cifs -o _netdev,credentials=/root/.passwd/nas01 //nas01/share2 /home/e-smith/files/ibays/info/html/share2 " > S95netshares chmod 755 S95netshares
You can test your new mount script by running it:
Or by executing the SME local event:
Or by rebooting
You can un-mount your network shares using
Or by shutting down or rebooting
If all goes well, you should now be able to verify that your new script works as expected using one of these commands:
|df -h||output should include lines beginning with //nas01/share1 and //nas01/share2|
|mount||output should include lines beginning with //nas01/share1 and //nas01/share2|
|/etc/rc.d/init.d/netfs status||Should return:|
Active CIFS mountpoints:
Accessing your Data
Finally, you should be able to access your data in any of the following ways:
|ls /home/e-smith/files/ibays/info/html/share1||should show the contents of //nas01/share1|
|ls /home/e-smith/files/ibays/info/html/share2||should show the contents of //nas01/share2|
|http://your-sme-server/info/share1||should show the contents of //nas01/share1|
|http://your-sme-server/info/share2||should show the contents of //nas01/share2|
Notes and Warnings
- The method described gives access to //nas01/share1 and //nas01/share2 using the username and password placed into /root/.passwd/nas01. Once successfully mounted, this means that anyone who can browse to the info ibay will be able to access your data. Make sure this is what you want!
- If you don't include /etc/rc.d/init.d/netfs start in your script (S95netshares), your system will lock up every time you shutdown. This is a bug in CentOS (and hence will not be addressed by the SME developers). See Bug 4086 for more information.
- Combined with DAV this procedure would allow remote read-write access using WebDAV to network shares on internal servers behind your SME server.