To enable the ID-Mapping for NFSv4 mounts change the file /etc/idmapd.conf with the following lines:
in /etc/idmapd.conf:
[General]
Domain = urz.uni-heidelberg.de
Local-Realms = BWSERVICES.UNI-HEIDELBERG.DE
mount a nfs share
The usual restrictions for mounting drives under Linux apply. Usually this can only be done by the superuser "root". For detailed information, please contact the system administrator of your system.
After successfull configuration (s. 2.1) you can mount your SDS@hd share with the following commands:
> mkdir <mountpoint>
> mount -t nfs4 -o sec=krb5,vers=4.0 lsdf02.urz.uni-heidelberg.de:/gpfs/lsdf02/ <mountpoint>
To enable the mounting after a restart, you have to add the following line to the file "/etc/fstab"
lsdf02.urz.uni-heidelberg.de:/gpfs/lsdf02/ <mountpoint> nfs4 sec=krb5,vers=4.0 0 0
AutoFS Setup
Instead of the fstab-entry you can also use the automounter "autofs".
$ yum install autofs
$ systemctl enable autofs
$ systemctl start autofs
$ apt install autofs
$ systemctl enable autofs
$ systemctl start autofs
Afterwards you configure the SDS@hd Speichervorhaben in a new map file:
$ cat /etc/auto.sds-hd
sds-hd -fstype=nfs4,rw,sec=krb5,vers=4.0,nosuid,nodev lsdf02.urz.uni-heidelberg.de:/gpfs/lsdf02
....
You have to include the new map into the auto.master file, e.g.:
$ cat /etc/auto.master
[...]
/mnt /etc/auto.sds-hd
[...]
To display all available SDS@hd shares on this machine to the users, you should enable "browser_mode":
$ cat /etc/autofs.conf
[...]
# to display all available SDS-hd shares on this to the users
browse_mode=yes
[...]
otherwise each share-folder will only be visible after a user has mounted.
After changing the configuration, you should restart the autofs daemon, e.g.:
$ systemctl restart autofs
Of course you can adopt all other autofs options, like timeouts, etc. to the specific needs of your environment or use any other method for dynamically mounting the shares.
access your data
Attention! The access can not be done as root user, because root uses the Kerberosticket of the machine, which does not have data access!
To access your data on SDS@hd you have to fetch a valid kerberos ticket with your SDS@hd user and Servicepassword:
> kinit hd_xy123
Password for hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE:
You can check afterwards your kerberos ticket with:
> klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE
Valid starting Expires Service principal
20.09.2017 04:00:01 21.09.2017 04:00:01 krbtgt/BWSERVICES.UNI-HEIDELBERG.DE@BWSERVICES.UNI-HEIDELBERG.DE
renew until 29.09.2017 13:38:49
Afterwards you should be able to access the mountpoint, which contain all Speichervorhaben exported to your machine:
> ls <mountpoint>
sd16j007 sd17c010 sd17d005
renew a kerberos ticket
Because a kerberos ticket has a limited lifetime (default: 10 hours, maximum 24 hours) for security reasons, you have to renew your ticket before it expires to prevent access loss.
> kinit -R
This renewal could only be done for maximum time of 10 Days and as long as the current kerberos ticket is still valid. For renewal of an expired ticket, you have to use again your Servicepassword.
destroy kerberos ticket
Even if kerberos tickets are only valid for a limited period of time, a ticket should be destroyed as soon as access is no longer needed to prevent misuse on multi-user systems:
kdestroy
automated kerberos tickets
Attention! Keep this generated Keytab safe and use it only in trusted environments!
If your workflow needs a permanent access to SDS@hd for longer than 10 Days, you can use ktutil to encrypt your Service Password into a keytab file:
interactive way:
ktutil
ktutil: addent -password -p hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE -k 1 -e rc4-hmac
Password for hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE:
ktutil: addent -password -p hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE -k 1 -e aes256-cts
Password for hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE:
ktutil: wkt xy123.keytab
ktuitl: quit
non-interactive way:
echo -e "addent -password -p hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE -k 1 -e rc4-hmac\n<your_servicepasword>\n
addent -password -p hd_xy123@BWSERVICES.UNI-HEIDELBERG.DE -k 1 -e aes256-cts\n<your_servicepasword>\nwkt xy123.keytab" | ktutil
With this keytab, you can fetch a kerberos ticket without an interactive password:
kinit -k -t xy123.keytab hd_xy123
|