Ich möchte ein CIFS-Netzwerkdateisystem mit Samba auf meinem Arch Linux-System bereitstellen. Ich möchte dieses Dateisystem bei jeder Anmeldung bereitstellen (entweder über ssh, ein TTY oder über KDM).
Ich kann dem, was ich will, ziemlich nahe kommen, indem ich die Netzwerkfreigabe hinzufüge /etc/fstab
. Das größte "Problem" besteht darin, dass entweder mein Passwort hart codiert /etc/fstab
oder eine Anmeldeinformationsdatei mit meinem Benutzernamen und Passwort erstellt werden muss. Es erscheint mir unsicher, meinen Benutzernamen und mein Passwort in einer Nur-Text-Datei zu behalten, selbst wenn ich die Berechtigungen auf 600 setze.
Gibt es eine "richtige" Möglichkeit, eine Netzwerkfreigabe sicher automatisch bereitzustellen? Kann ich dies mit PAM tun (mein Benutzername und mein Passwort sind auf beiden Computern gleich) und wenn ja, wie?
Antworten:
Methode 1 -
/etc/fstab
Mir ist klar, dass Sie nach Alternativen suchen, aber hier erfahren Sie, wie Sie Ihre Anmeldeinformationen aus der
/etc/fstab
Datei entfernen können:Dann in der Datei
/etc/cifsauth
:Machen Sie die Berechtigungen dieser Datei
600
, dhchmod 600 /etc/cifsauth
.Methode 2 - pam_mount
Sie können pam_mount installieren und dann einen generischen Mount für alle Benutzer einrichten, die sich wie folgt anmelden:
Diese Methode hat immer noch das gleiche Problem wie Methode 1, bei der die Anmeldeinformationen in einer Datei gespeichert sind
/home/%(USER)/.Music.cred
. Dies ist derselbe Typ von Anmeldeinformationsdatei wie bei der ersten Methode. Stellen Sie daher sicher, dass die Berechtigungen ebenfalls 600 sind.Methode 3 - Verwenden Sie gvfs-mount
Diese U & L-Fragen und Antworten mit dem Titel: Kann ich das Mounten einer CIFS-Freigabe automatisieren, ohne mein Kennwort im Klartext zu speichern? enthält eine Antwort von @Gilles, in der die Verwendung des GNOME-Schlüsselbunds zum Speichern Ihrer CIFS-Anmeldeinformationen beschrieben wird.
Sie können dann mit GVFS - GNOME Virtual File System wie folgt auf die CIFS-Freigaben zugreifen :
Dadurch wird die Freigabe vom Hostnamen mit dem Namen "Benutzername" zugeordnet und unter bereitgestellt
$HOME/.vfs/sharename on hostname
. Sie können dies in keiner Weise kontrollieren. Es ist fest codiert, immer hier montiert zu sein, ich habe geschaut!Sie können jedoch Links zu diesen Bereitstellungen erstellen, damit ich auf von mir bereitgestellte Freigaben zugreifen kann. Die Verwendung von
.gvfs
war unglücklich, da einige Tools die Punktverzeichnisse beim Durchsuchen von Dateien nicht so oft auflisten, dass der von mir erstellte Link der einzige Weg ist, auf diese Freigaben zuzugreifen.quelle
.cifsauth
zu entfernenusername=
, oder dass dieusername=
einfach nicht alle zusammen erforderlich sind?Es stellt sich heraus, dass dies
pam_mount
der richtige Weg ist. Sie fügen die Netzwerkfreigabe hinzu/etc/security/pam_mount.conf.xml
Es sollte theoretisch möglich sein , die verwendet werden
%(USER)
,%(USERUID)
und%(USERGID)
Variablen es eine allgemeine montieren zu machen, aber ich konnte nicht , dass ein Teil an die Arbeit auf Arch Linux bekommen. Sie müssen auch Ihr System für die Verwendung konfigurierenpam_mount
. Sie müssen beide/etc/pam.d/system-auth
und Ihren entsprechenden Login-Manager ändern . Für KDM ist es/etc/pam.d/kde
. Die Änderungen umfassen grundsätzlich das Hinzufügenoptional pam_mount.so
zu jedem Abschnitt beider Dateien, aber die genauen Details sind schwierig, da die Reihenfolge wichtig ist. Ich folgte dem Arch Wiki .Mit diesem Setup und demselben Benutzernamen / Passwort auf dem Server und meinem Computer kann ich automatisch mounten, ohne irgendwo eine Anmeldeinformationsdatei zu speichern.
quelle
pam
und den Rest persönlich nicht, und ich habe bemerkt, dass sie dazu neigen, sich immer weiter in die Systemkonfiguration einzuschleichen - aber dies beantwortet definitiv die Frage. Kann ich fragen, warum Sie so gegen das Speichern von Anmeldeinformationen sind? Benutzerberechtigungen und / oder Besitz / Verschlüsselung von Dateien sollten dort mehr als ausreichend sein. Auf einigen Systemen können Sie solche Informationen sogar in Firmware-Variablen speichern, auf die erst nach der Authentifizierung zugegriffen werden kann.ssh
speichert Anmeldeinformationen zum Beispiel basierend auf fs-Berechtigungen, nicht wahr?