The following instructions were developed and tested on Ubuntu 14.04 and Fedora 21 Linux distributions.  They are known to work on Ubuntu 12.04 as well as RHEL 6.5.  Older versions of Linux might include a Samba/CIFS package that is too old to support DFS, but could still directly map particular file servers- contact IT Service Desk at helpcenter@qatar.cmu.edu to ask for these alternate mappings.

Throughout the document, you will see $USER – replace this variable with your actual Andrew ID.

 

Prerequisites

cifs-utils, samba-client, keyutils

Install the above packages with apt-get (Ubuntu) or yum (Fedora).  Some may already be installed.

If you will connect from off-campus, it is required to connect to the VPN prior to mapping the network drives.  Cisco AnyConnect VPN software installs from the site if you are visiting for the 1st time:  https://vpnconnect.qatar.cmu.edu

 

Configuration files

It’s recommended to make a backup of each file before you edit it.  Each are plain text and you can use your favorite editor (vi, nano, emacs, gedit, etc).  You must become root or use sudo to edit files under the /etc directory.  Reboot after you have completed all the changes in this section.

/etc/nsswitch.conf

change the “hosts:” line to use “dns” before (or instead of mdns_responder)

example:

hosts:    files dns

/etc/samba/smb.conf

change the domain to be QATAR (all caps)

example:

workgroup = QATAR

 

The following 3 files are needed for key forwarding, make sure they contain the corresponding lines.

/etc/request-key.d/cifs.idmap.conf

create  cifs.idmap    * * /usr/sbin/cifs.idmap %k

/etc/request-key.d/cifs.spnego.conf

create  cifs.spnego   * * /usr/sbin/cifs.upcall %

/etc/request-key.d/dns_resolver.conf

(create this file if it doesn’t exist)

create  dns_resolver  * * /usr/sbin/cifs.upcall -t %k

 

It’s also necessary to add “qatar.win.cmu.edu” to your list of DNS search domains.  On older Linux distributions, you can edit /etc/resolv.conf directly, however recent Linux distros will overwrite this file automatically.

For Ubuntu 14, you can edit the network connection in Settings à Network à Wired (or wireless) à Options… à IPv4 Settings à Additional search domains:

Mapping_Network_Drives_Linux_1

After the change, turn the network connection off and on again, or reboot.

Alternatively, or if you want to make the change for all network connections, you can edit the file /etc/resolvconf/resolv.conf.d/base to include the following line:

dns-search qatar.win.cmu.edu

After the change, run

sudo resolvconf -u

, or reboot.

 

For Fedora 21, there is no GUI method.  Run the ifconfig command to find the name of your active interface, such as eth0, eno1, wlan0, etc.  Consider $iface as the name you found.  Edit the file

/etc/sysconfig/network-scripts/ifcfg-$iface

and append the following line:

SEARCH="qatar.win.cmu.edu"

After the change, turn the network connection off and on again, or reboot.

To verify the change has taken place for either distribution, run

cat /etc/resolv.conf

and see if the output contains qatar.win.cmu.edu.

 

Using Nautilus “Files” browser

Nautilus is the file browser which is part of Gnome and found in the default installation of both Ubuntu and Fedora.

 

1.     From the Files window, click Connect to Server in the left sidebar, or choose it from the menu.

2.     enter

smb://qatar.win.cmu.edu/files/

into the Address field

alternative URIs:

U: Drive (Personal)

smb://qatar.win.cmu.edu/files/User/$USER

S: Drive (Shared)

smb://qatar.win.cmu.edu/files/Shared/

3.     click Connect

4.     Enter your Andrew ID, QATAR for the domain, and Password

5.     Choose how long to remember your password

6.     click Connect

Mapping_Network_Drives_Linux_2

Mapping_Network_Drives_Linux_3

While browsing, some subdirectories may take several seconds before they display (usually the first time after you connect)- please wait, do not close the window.

 

After you have finished, you can press the “Eject” icon to disconnect the network drive.

 

Nautilus uses GVFS to mount Windows (SMB) shares, among other protocols.  If you are interested in CLI equivalents of the above GUI process, check the man pages for the commands beginning with gvfs-*

Note 1: You’ll first have to use gvfs-mount before the other commands will work.

Note 2: If you are remotely connected to a Linux host through SSH without a GUI, you’ll have to use a dbus-launch bash shell before using any gvfs commands.

 

Mounting from the command line using CIFS

Note the following commands could each be on 1 long line, and are truncated to fit in this document.

First time only:

cd $HOME ; mkdir NetworkDrives

 

For each time you want to mount:

sudo mount -t cifs \ -o username=$USER,domain=qatar,actimeo=0,uid=$UID,gid=$GROUPS \ //qatar.win.cmu.edu/files $HOME/NetworkDrives

 

First enter your Linux user’s password for sudo, then enter your Andrew password when prompted.

 

alternative server mounts:

U: Drive (Personal)

//qatar.win.cmu.edu/files/User/$USER

S: Drive (Shared)

//qatar.win.cmu.edu/files/Shared

 

Note 1: The local mount point “NetworkDrives” is arbitrary – you can name it whatever you like and mount anywhere in the hierarchy, just be sure to create the directory before running the mount command.

 

To un-mount (disconnect) the drive:

sudo umount $HOME/NetworkDrives

 

Note 2: While it is possible to create a CIFS entry in /etc/fstab file, it is NOT recommended to store your Andrew password in a plaintext credentials file.