Ich habe ein CIFS-Laufwerk, das ich regelmäßig mounte und für das ein Passwort erforderlich ist. Da es nervig ist, jedes Mal mein Passwort einzugeben, habe ich ein Skript geschrieben, das die Umgebungsvariable PASSWD festlegt, das Laufwerk mountet und ich es dann lösche (CIFS überprüft die Umgebungsvariable PASSWD, bevor es danach fragt).
Es funktioniert und das Skript mit meinem Passwort befindet sich auf einer verschlüsselten Partition, aber es gefällt mir nicht.
Was ich stattdessen tun möchte, ist, dass der Anmeldemanager, da meine Box und das Remote-Laufwerk dasselbe Klartextkennwort haben, das von mir eingegebene Kennwort verwendet, um zu versuchen, das Laufwerk ebenfalls zu mounten. Auf diese Weise wird mein Kennwort nicht im Klartext auf meinem Computer geschrieben, aber ich vermeide es, noch ein weiteres Kennwort eingeben zu müssen.
Andere Vorschläge zur Verbesserung der CIFS-Mount-Anmeldung sind willkommen, wobei zu beachten ist, dass ich keinen Root-Zugriff auf den Server habe, auf dem das Laufwerk gehostet wird.
BEARBEITEN:
Ich muss ein paar Dinge klarstellen:
Ich habe Root-Zugriff auf den Client (meine Box), aber keinen Zugriff auf den Server. Alle Lösungen müssen also clientseitig sein.
Ich möchte, dass jeder, der physischen Zugriff auf meinen Laptop erhält, eine Kopie meines Passworts im Klartext hat. Derzeit ist meine /home-Partition verschlüsselt, sodass mein Skript relativ sicher ist, wenn der Laptop ausgeschaltet ist.
Aus diesem Grund hätte ich, wenn möglich, gerne eine Lösung, die die Tatsache nutzt, dass ich genau diese Anmeldeinformationen eingebe, um mich bei meinem Benutzerkonto anzumelden.
Antwort1
Ich verwende den automount
Dienst im Allgemeinen für Freigaben wie diese, die ich regelmäßig bereitstellen und verwenden möchte. Wenn Sie erst einmal verstanden haben, wie das geht, ist die Einrichtung ziemlich einfach.
Schritt 1 – Automounting einrichten
Sie müssen sicherstellen, dass Pakete installiert sind. Unter CentOS 6 wäre das autofs
. Höchstwahrscheinlich verwenden andere Distributionen einen ähnlichen Namen. Sie müssen dann die folgenden Dateien erstellen:
# /etc/auto.master
/mymountpt /etc/auto.mymountpt --timeout=600 --ghost
# /etc/auto.mymountpt
someshare -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/credentials.txt ://cifsserver/sharename
# /etc/credentials.txt
username=mydom\myuser
password=somepassword
Sie müssen die Berechtigungen für diese letzte Datei wie folgt festlegen:
$ sudo chmod 600 /etc/credentials.txt
Sie müssen außerdem sicherstellen, dass NSS (Name Service Switch) dieses Setup kennt:
# /etc/nsswitch.conf
automount: files nisplus
Wenn diese Dateien vorhanden sind, sollten Sie nun in der Lage sein, den autofs
Dienst zu starten.
$ sudo service autofs start
Schritt 2 – Ausprobieren
Sobald der Dienst gestartet wurde, können Sie nach Belieben auf diesen Pfad zugreifen:
$ cd /mymountpt/someshare
Die Bereitstellung dieser Freigabe wird nun dadurch gesteuert, autofs
dass 600 Sekunden Inaktivität überwacht werden und die Freigabe dann getrennt wird.
Dieser Ansatz mag etwas überzogen erscheinen, aber durch diese Vorgehensweise ist Ihr System nicht mehr von der Verfügbarkeit einer bestimmten CIFS-Freigabe beim Booten abhängig. Sie haben sie so verschoben, dass sie jetzt bei Bedarf verfügbar ist, wenn sie tatsächlich verwendet wird.
Was tun, wenn Sie keinen Root-Login haben?
Wenn Sie feststellen, dass diese Pakete bei Ihnen nicht installiert sind und Sie sie nicht installieren können, stehen Ihnen deutlich weniger Optionen zur Verfügung.
Ich würde mir dieSamba-Artikel im ArchLinux Wiki, es werden auch andere Methoden behandelt. Sie können FUSE auch verwenden, um verschiedene Medientypen als lokale Verzeichnisse zu mounten, einschließlich SMB/CIFS. Dies wird imFUSESmb-Artikel im Ubuntu-Wiki.