Difference between revisions of "File shares"

From LUG
Jump to navigation Jump to search
(Services no longer exist.)
Line 1: Line 1:
== Using the department fileserver ==
+
=== Mounting Home Directories - CIFS ===
 +
As WUR has moved to a new home directory storage method, the path to finding it is much simpler:
  
=== Finding the location of a share ===
+
Write yourself an /etc/fstab entry that looks like this:
  
In order to use the guides below, you'll have to know on which servers the windows shares reside.
+
* //WURNET.NL/Homes/username /mnt/mdrive cifs noauto,user,username=username,domain=wur,uid=localuser,gid=localuser 0 0
The easiest way is to use a Windows PC, start up Explorer, got to the share and look at the Properties.
 
  
Alternatively, you can use smbclient to find all shares on a server:
+
(Replace username with your own WUR account name, and localuser with the account you have locally)
  
* smbclient -I <server>.wurnet.nl -W wurnet.nl -U yourname001 -L <server>
+
Now you can simply:
  
Where <server> is scomp0300 for PSG and scomp0291 for ESG.
+
mount /mnt/mdrive
  
 +
And after entering your password, you have access to your M drive share.
  
=== Using smbmount (normal user) ===
+
==== Caveats ====
  
Suppose the server your personal share is located on is called sdep001 and your username is annie001, your password is annie, and you want to mount this share on ~/mnt If you do not know this information you can get it out of the ActiveDirectoryServer or from the "My Computer" screen of a windows machine.
+
This may occasionally not work on the first try, as the hostname WURNET.NL points to multiple machines. You may need to do this repeatedly to get a stable connection.
  
* smbmount '//sdep001/annie001$' ~/mnt/ -o username=annie001,password=annie,workgroup=WUR
+
=== Other Shares ===
  
if you leave out the password, the program will ask you for your password during the mounting:
+
The easiest way to gather information about available CIFS shares is using smbclient. On Ubuntu, you need the pacakge 'smbclient' to provide this.
  
* smbmount '//sdep001/annie001$' ~/mnt/ -o username=annie001,workgroup=WUR
+
Usage:
  
=== Using mount (as root) ====
+
* smbclient -L <server> -U username
  
you can also do this using regular mount, as Stephan Verrips writes:
+
This will show you all the mounts available to you on that machine.
 +
 +
To test the mount:
  
* mount -t smbfs -o username=verri001,workgroup=wurnet.nl //sdpw0001.wurnet.nl/verri001$ ~/mnt
+
* sudo mount //server/share -ousername=username,domain=wur /tmp/smb
  
Alternatively, the (newer) CIFS protocol can be used instead of SMB. The following example connects to the 'webdocs' share where web related files can be stored.
+
This will hold until you unmount it.  
 
 
* mkdir /mnt/webdocs
 
* mount -t cifs -o username=annie001,workgroup=wurnet.nl //skgr0004.wurnet.nl/webdocs$ /mnt/webdocs
 
  
 
=== Automatically mounting at boot (/etc/fstab) ===
 
=== Automatically mounting at boot (/etc/fstab) ===
  
Add the following line to the file <b>/etc/fstab</b>
+
The above example will only mount when called. You want it to mount on boot. However, a simple issue is present - you must authenticate to mount. Thus, you need to have some credential stash. Modify the options to this:
 
 
  //sdep001/annie001$ /mnt/wur smbfs username=annie001,password=annie,workgroup=WUR,uid=502 0 0
 
 
 
or a really working example for a shared network drive (for DPW - note the odd spaces in the name using \040):
 
 
 
//scomp0300/PSG~DPW\040Laboratory\040of\040Nematology$ /mnt/wur smbfs username=annie001,password=annie,workgroup=WUR,uid=501 0 0
 
 
 
or try
 
 
 
//scomp0300/PSG~DPW\040Laboratory\040of\040Nematology$ /mnt/wur smbfs //username=annie001,password=annie,workgroup=WUR,uid=501 0 0
 
 
 
The uid represents the user id you use - check your id with the id command:
 
 
 
  id
 
  
it is also possible to use a gid (group id) to share the mounted drive with multiple users on one system.
+
* //WURNET.NL/Homes/username /mnt/mdrive cifs credentials=/home/localuser/.smbpassword,user,username=username,domain=wur,uid=localuser,gid=localuser 0 0
  
Note: since it contains your password this option is not so secure!
+
Then you can make the credential file. Set it 600 so that only you or root may read or write.
  
  Safer is to use a separate password file:
 
 
 
 
* cd ~
 
* cd ~
* echo username=annie001 > .smbpassword
+
* echo username=username > .smbpassword
* echo password=annie >> .smbpassword   
+
* echo password=password >> .smbpassword   
 
* chmod 600 .smbpassword  
 
* chmod 600 .smbpassword  
  
  This created a hidden password file that can only be read by you or the root
 
 
Change the line in the <b>/etc/fstab</b> into
 
 
* //sdep001/annie001$ /mnt/wur smbfs credentials=/home/annie/.smbpassword,workgroup=WUR,uid=502 0 0
 
 
Note: you set the uid to your user id (see 'man id') so you can write/read from your normal account.
 
 
Another example, again using the CIFS protocol instead of SMB, to automatically connect to the 'webdocs' share:
 
 
* //skgr0004.wurnet.nl/webdocs$ /mnt/webdocs cifs credentials=/home/annie/.smbpassword,workgroup=wurnet.nl,uid=502 0 0
 
 
=== Using Konqueror ===
 
 
Windows shares can also be accessed, without any mounting, with the SMB kio slave (KDE).
 
The SMB kio slave can be used in Konqueror but also in other KDE applications.
 
 
The format of the url is:
 
 
  smb://<username>@<hostname>/<sharename>
 
 
where e.g.:
 
 
* username: wur\annie001
 
* hostname: sdep001.wur.nl
 
* sharename: annie001$
 
 
=== Troubleshooting ===
 
 
If you get the error "Connection to .... failed" and you are sure you typed the server name correctly, you have to manually set the wins server in /etc/samba/smb.conf. Find the line that reads like:
 
* ; wins server = <something>
 
Remove the ; and change the <something>:
 
* wins server = 10.110.10.3
 
 
== Accessing files on the DFS-Root ==
 
  
 
=== What is the DFS-Root ===
 
=== What is the DFS-Root ===
Line 103: Line 52:
 
DFS is Microsoft's Distributed File System. The purpose of a distributed file system is that the user can access files without knowing on which server the files are locates. The root of a distributed files system is called the DFS-Root. In the DFS-Root are virtual directories which are actual 'links' to shares on some servers.
 
DFS is Microsoft's Distributed File System. The purpose of a distributed file system is that the user can access files without knowing on which server the files are locates. The root of a distributed files system is called the DFS-Root. In the DFS-Root are virtual directories which are actual 'links' to shares on some servers.
  
In WURNET there is one wur-wide DFS-Root \\wur\dfs-root usually mapped to the W:-drive in windows.
+
Most modern CIFS implementations are able to handle DFS properly, thus a config like:
 
 
The samba client is unable to directly access files in the DFS-Root, instead you have to connect to the actual underlying shares.
 
 
 
=== DFS-Root directory mappings ===
 
 
 
If you have access a file or directory in the format:
 
 
 
\\wur\dfs-root\dir\rest\of\path or W:\dir\rest\of\path
 
 
 
then you must substitute \\wur\dfs-root\dir or W:\dir according the following table
 
(Dir -> share):
 
 
 
  
* AFSG  =  //ATO0001C/AFSG$
+
* //scomp0863/DFS-Root /mnt/wdrive cifs noauto,user,username=username,domain=wur 0 0
* APPS  =  //SCOMP0025/apps
 
* ASG  =  //LD010s/ASG$
 
* ATV  =  //SATVF0001/shares
 
* BC    =  //SCOMP0064/BC
 
* DPT-DIER  =    //SCOMP0064/DIER
 
* DPT-MAATSCHAPPIJ    =    //SCOMP0063/MAATSCHAPPIJ
 
* FB    = //SCOMP0064/FB
 
* LEI  = //LEIDH017S/SHARES
 
* PLANT PROJECTS = //SPRI0010/PLANTPROJECTS$
 
* RIKILT = //SCOMP0063/RIKILT
 
* STUDENT = //SCOMP0064/STUDENT
 
  
The spaces in the names have to be escaped, using \040.
+
Should work.

Revision as of 17:11, 24 February 2017

Mounting Home Directories - CIFS

As WUR has moved to a new home directory storage method, the path to finding it is much simpler:

Write yourself an /etc/fstab entry that looks like this:

  • //WURNET.NL/Homes/username /mnt/mdrive cifs noauto,user,username=username,domain=wur,uid=localuser,gid=localuser 0 0

(Replace username with your own WUR account name, and localuser with the account you have locally)

Now you can simply:

mount /mnt/mdrive

And after entering your password, you have access to your M drive share.

Caveats

This may occasionally not work on the first try, as the hostname WURNET.NL points to multiple machines. You may need to do this repeatedly to get a stable connection.

Other Shares

The easiest way to gather information about available CIFS shares is using smbclient. On Ubuntu, you need the pacakge 'smbclient' to provide this.

Usage:

  • smbclient -L <server> -U username

This will show you all the mounts available to you on that machine.

To test the mount:

  • sudo mount //server/share -ousername=username,domain=wur /tmp/smb

This will hold until you unmount it.

Automatically mounting at boot (/etc/fstab)

The above example will only mount when called. You want it to mount on boot. However, a simple issue is present - you must authenticate to mount. Thus, you need to have some credential stash. Modify the options to this:

  • //WURNET.NL/Homes/username /mnt/mdrive cifs credentials=/home/localuser/.smbpassword,user,username=username,domain=wur,uid=localuser,gid=localuser 0 0

Then you can make the credential file. Set it 600 so that only you or root may read or write.

  • cd ~
  • echo username=username > .smbpassword
  • echo password=password >> .smbpassword
  • chmod 600 .smbpassword


What is the DFS-Root

DFS is Microsoft's Distributed File System. The purpose of a distributed file system is that the user can access files without knowing on which server the files are locates. The root of a distributed files system is called the DFS-Root. In the DFS-Root are virtual directories which are actual 'links' to shares on some servers.

Most modern CIFS implementations are able to handle DFS properly, thus a config like:

  • //scomp0863/DFS-Root /mnt/wdrive cifs noauto,user,username=username,domain=wur 0 0

Should work.