Ubuntu 15.04 pam_mount

Onder Ubuntu 15.04 merkte ik dat de snelheden die ik haalde met lezen / schrijven naar mijn netwerk shares echt enorm laag waren (30 MB/s). Na van alles getest te hebben kwam ik er achter dat het waarschijnlijk ligt aan gvfs waarmee Ubuntu standaard de shares mount. Zoekende naar een oplossing kwam ik op pam_mount terecht. Nu haal ik snelheden van +/-80 MB/s.

Met behulp van pam_mount kun je tijdens het inloggen andere schijven / netwerk shares mounten met de zelfde gebruikersnaam / wachtwoord combinatie waarmee je inlogt. Het installeren van pam_mount gaat als volgt:

Installer pam_mount en cifs-utils. Die laatste is nodig als je een netwerk share wil mounten.

sudo apt-get install libpam-mount cifs-utils

Nu moeten we in het onderstaande bestand enkele wijzigingen doorvoeren.

sudo nano /etc/security/pam_mount.conf.xml

Haal de commentaar regels om de volgende regel weg.

<luserconf name=".pam_mount.conf.xml" />

Hiermee zorg je dat elke gebruiker zijn eigen configuratie bestand voor pam_mount kan maken. Indien je voor iedereen dezelfde configuratie wilt gebruiken kun je de betreffende regels ook onder aan in dit bestand kwijt.

Voor extra beveiliging kun je de opties file_mode en dir_mode toevoegen aan mntoptions

<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,dir_mode,file_mode" />

Optioneel
Indien je home-dir encrypted is moeten we nog een extra aanpassing doen. Standaard word pam_mount namelijk uitgevoerd voordat je home-dir gedecrypt is. Hierdoor kan het configuratie bestand niet gelezen worden en word er dus ook niets gemount.

Wijzig de volgende twee bestanden.

/etc/pam.d/common-auth
/etc/pam.d/common-session

Zorg er in deze bestanden voor dat de pam_moun.so regel onder de pam_encryptfs.so regel staat.

auth    optional       pam_ecryptfs.so unwrap
auth    optional       pam_mount.so

Als laatste moeten we pam_mount vertellen wat hij precies moet gaan mounten en waar. Dit doen we met een bestandje in je home-dir. Zet hier de onderstaande xml code in en wijzig deze naar jouw eigen voorkeuren. Indien je dir_mode en file_mode in de eerdere stap toegevoegd hebt dien je die hier ook weer te gebruiken. De mode 0700 zorgt er voor dat jij de enige bent die in de gemounte share kan lezen / schrijven.

nano ~/.pam_mount.conf.xml
<?xml version="1.0" encoding="utf-8" ?>
<pam_mount>
    <volume
        options="nodev,nosuid,file_mode=0700,dir_mode=0700"
        user="*"
        mountpoint="/media/%(USER)/websites"
        server="nas"
        path="websites"
        fstype="cifs" />
</pam_mount>
  • user=”*” Geeft aan welke gebruikers de share mogen mounten. * is een wildcard voor alle gebruikers.
  • mountpoint=”” is het pad waar je schijf / share gemount wordt. Ik heb hier de variabele %(USER) gebruikt. Deze wordt gevuld met je ingevulde gebruikersnaam. In mijn geval wordt het dus /media/roy/websites
  • server=”” nas is het adres van mijn server. Hier kan ook een ip adres staan.
  • fstype=”cifs” cifs geeft aan dat het om een netwerk share gaat.

Reboot je PC en als het goed is zijn je schijven direct gemount na het inloggen. Mocht het niet zo zijn kun je de debug functie inschakelen in /etc/security/pam_mount.conf.xml . De logs worden dan geschreven naar /var/log/auth.log .

Leave a Reply