Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

Wie shares am besten mounten?

Forum für alle Nichtmöger von Gates und Konsorten. Für Fragen zu Appleprodukten und -programmen.
Antworten
huensohn
Keel
Keel
Beiträge: 2611
Registriert: Mär 2005
Wohnort: München

Wie shares am besten mounten?

Beitrag von huensohn »

Folgendes:

Hab paar shares auf nem NAS die ich dauerhaft in 10.6 mounten möchte.
Gibt hier afaik jetz zwei Möglichkeiten:

1. Über den Finder als Startobjekt.
Problem: Is die Verbindung futsch wird nicht automatisch reconnected. Sehr ätzend wenn z.B. die iTunes lib da drauf liegt weil dann das default iTunes Verzeichnis auf /User/asdf/music/iTunes (glaub ich) resettet wird wo natürlich nix gefunden wird. Und leider ist SMB auch so beschissen implementiert dass genau das fast ständig passiert wenn man die Verbindung mal bissl beansprucht. Nervt.
Außerdem poppen beim Starten für jeden(!) mount Finder Fenster auf, auch wenn man "ausblenden" markiert hat. Ätzend! Und man kann auch vorm Login nix mounten, fänd ich aber in Einzelfällen(!) schon praktisch.

2. Via automount.
Scheint mir theoretisch die stabilere Lösung zu sein.
Dazu in /etc/ eine auto_smb (bzw. auto_afp, ich benutze eigentlich kein afp, smb scheint mir sowohl performanter als auch stabiler zu sein, ersteres sagt zumindest auch xbench bei mir.) anlegen und mit den notwendigen Rechten versehen (touch, passt schon).
In diese die gewünschten Mountpfade reinknallen, z.B.:
music -fstype=smbfs ://Benutzer:Passwort@192.168.0.1/music
videos -fstype=smbfs ://Benutzer:Passwort@192.168.0.1/videos

Diese Datei dann noch in /etc/auto_master mit
/Shares auto_smb
eintragen.

Fänd Variante zwei ja super - die Verbindung wird automatisch wieder hergestellt wenn sie mal weg ist und es kommen keine nervigen Finderfenster.
ABER: Das Passwort steht im Klartext in auto_smb bzw. auto_afp drinnen. Was ganz besonders kacke ist weil FileVault auch nur das Benutzerverzeichnis verschlüsselt und nicht auf rootebene (was ein harter fail ist imho). Außerdem wird schon vorm Login gemounted, heisst: Jeder der irgend nen Zugang zu der Kiste hat kann nicht nur auf alle Shares zugreifen sondern auch die Passwörter dafür auslesen, will ich nich!
Bei Variante eins wird das Passwort einfach ausm Keyring gezogen, geht hier natürlich schlecht weil man noch nicht eingelogt ist.

Frage 1: Gibt's nicht nen Weg dass das Passwort da nicht im Klartext drinnen steht?
Dann könnte man öffentliche shares vorm Login mounten so dass die für alle Benutzer verfügbar sind ohne dass jemand dass Passwort auslesen kann.
Hab mal was von "Keyfiles" munkeln gehört, find da aber für OS X nix zu, bzw. ich stell mich zu blöd an...

Frage 2: Gibt's ne Möglichkeit genau dass Selbe auch vom Benutzerverzeichnis aus nachm Login anzuschubsen und nicht von /etc/?
Dann könnte man "private" shares eben nach dem Login mounten ohne dass dauernd die Verbindung verloren geht oder nervige Finderfenster aufgehen. Ob das PW dann im Klartext da steht oder nicht is mir dann wurscht wenn eh das ganze Benutzerverzeichnis verschlüselt ist.

Oder gibt's noch irgend ne Möglichkeit die ich übersehn hab?
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Bin jetzt nicht so der Samba Experte, aber kannst du nicht einfach ohne Passwort exportieren (sprich fuer alle User), aber nur an eine bestimmte IP Adresse.
RDX hat geschrieben:Halt einfach mal deine verfickte Fresse du Spast, OK? Wenn es dir Spass macht nach dem Essen einen grummelnden Magen zu haben (noch dazu nachdem du etwas gegessen hast was dir absolut nicht schmeckt) um dann irgendwann furzend auf's Klo zu spazieren und richtig ordentlichen Weichschiss zu hinterlassen wonach du deinen Arsch etwa 12 mal abwischen musst, dann viel Spass damit.
Wenn nicht, dann halt's Maul und lass mich in Ruhe.
huensohn
Keel
Keel
Beiträge: 2611
Registriert: Mär 2005
Wohnort: München

Beitrag von huensohn »

Meinst du quasi des Passwort einfach weglassen und Serverseitig ne IP-Whitelist anlegen oder wie? Keine Ahnung ob das NAS das kann und wenn nich hätte ja jeder Zugriff der im Netz hängt, fänd ich nu auch nich so toll. Und IP/MAC Adressen kann man ja auch faken. Würd da nur ungern drauf verzichten, bin da ziemlich paranoid. :ugly:
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Ich weiss nicht wie dein Netz aufgebaut ist. Falls du sowas wie LDAP laufen hast kann nicht jeder im Netz darauf zugraufen, sondern nur User die auch die noetigen Rechte dazu haben. Wenn es natuerlich alles nur lokale Accounts sind ist das bloed.

Zur 2. Frage: Afaik geht das nicht, jedenfalls nicht ueber den Automounter. Ich verstehe das verschluesselt Argument allerdings nicht: Wenn dein Rechner an ist ist dein Benutzerverzeichnis ja entschluesselt. Wenn dann also jemand durch einen Exploit oder aehnliches die noetigen Rechte hat um dein Benutzervereichniz auszulesen dann kann er auch das Passwort lesen.
Wenn du das ganze per Passwort machen willst musst du es entweder jedesmal eingeben oder es im Klartext speichern.

Was vielleicht noch eine Moeglichkeit waere: Das ganze per sshfs zu mounten. Dann koenntest du die Authentifizierung per ssh-key machen (denke sshfs muesste das koennen). Allerdings ist sshfs nicht gerade die performanteste Variante, da das Ganze halt verschluesselt wird und daher nicht sonderlich schnell. Fuer Musikhoeren sollte es aber locker reichen. Backups waeren dann aber wohl doch deutlich langsamer.
RDX hat geschrieben:Halt einfach mal deine verfickte Fresse du Spast, OK? Wenn es dir Spass macht nach dem Essen einen grummelnden Magen zu haben (noch dazu nachdem du etwas gegessen hast was dir absolut nicht schmeckt) um dann irgendwann furzend auf's Klo zu spazieren und richtig ordentlichen Weichschiss zu hinterlassen wonach du deinen Arsch etwa 12 mal abwischen musst, dann viel Spass damit.
Wenn nicht, dann halt's Maul und lass mich in Ruhe.
huensohn
Keel
Keel
Beiträge: 2611
Registriert: Mär 2005
Wohnort: München

Beitrag von huensohn »

Aaach stimmt, da hast du natürlich recht. Is das ne Scheisse...
LDAP läuft hier nicht, würde auch glaub kaum wer gebacken bekommen sich da mal zu authentifizieren. :ugly:
Jetz hatte ich grade noch den Geistesblitz dass ich ein Script zur Bootzeit von ner SD Karte oder nem USB Stick laufen lasse. Hätte ich die Vorteile von mount/automount aber die Passwörter sind ausgelagert auf die Karte/Stick (kann man ja dann nachm booten/Ausführen des scriptes rausnehmen) und wenn wer anderes am Rechner dran hockt wird auch nix gemountet weil keine Karte.
Leider kann OS X kein udev. Ich guck mich mal um und wenn ich da was raus hab schreib ichs hier rein.
huensohn
Keel
Keel
Beiträge: 2611
Registriert: Mär 2005
Wohnort: München

Beitrag von huensohn »

Bin nen Schritt weiter, aber meine grep skills stinken irgendwie.
Es gibt seit Version irgendwas ein CLI tool mit dem man Daten aus dem Keyring auslesen kann. Schimpft sich "security".
Das funktioniert auch irgendwie, auch wenn man leider nicht einfach den Namen des Schlüssels eingeben kann sondern nur nach Attributen suchen kann.
Hier der Einfacheit halber nach dem Account. Purzelt dann sowas bei raus, am Ende das Passwort (hier "passwort" :ugly: ).

$ security find-internet-password -g -a `whoami`
keychain: "/Users/User/Library/Keychains/login.keychain"
class: "inet"
attributes:
0x00000007 <blob>="192.168.x.x"
0x00000008 <blob>=<NULL>
"acct"<blob>="User"
"atyp"<blob>=<NULL>
"cdat"<timedate>=0x32303131304356876580313734375A00 "20110129201747Z\000"
"crtr"<uint32>=<NULL>
"cusi"<sint32>=<NULL>
"desc"<blob>="Netzwerkkennwort"
"icmt"<blob>=<NULL>
"invi"<sint32>=<NULL>
"mdat"<timedate>=0x32303131308970393230123430305A00 "20110209203400Z\000"
"nega"<sint32>=<NULL>
"path"<blob>="User"
"port"<uint32>=0x00000000
"prot"<blob>=<NULL>
"ptcl"<uint32>="smb "
"scrp"<sint32>=<NULL>
"sdmn"<blob>=<NULL>
"srvr"<blob>="192.168.x.x"
"type"<uint32>=<NULL>
password: "passwort"

Ich wollt jetz dann versuchen per Grep das PW dort rauszupfriemeln (regexp muss ich noch rumfrickeln weil die Formatierung noch nicht passt, aber so vom Prinzip her) und das beim mounten zu übergeben:

mkdir /Volumes/shared
mount_smbfs //User:`security find-internet-password -g -a $(whoami) | grep -A 1 Password: `@nas.local/shared /Volumes/shared

Klappt aber nich. :(
Das Passwort bekomm ich zwar rausgezogen, aber irgendwie bekomm ich da nur ne leere Zeile zurückgeliefert wenn ichs irgendwie weiter verwenden will:

$ PW=`security find-internet-password -g -a User | grep -A 1 Password:`; echo ----; echo $PW
password: "passwort"
----

$

Eigentlich müsste er nach "----" ja nochmal das PW raushaun, macht er aber nicht, obwohl das pipen in grep anscheinend funktioniert wie man die Zeile weiter oben sieht. Nu sind leider weder meine CLI noch meine grep skills besonders imba, jemand ne Idee was ich da falsch mache?
Wie gesagt, nur mit grep klappt's ja:

$ security find-internet-password -g -a User | grep -A 1 Password:
password: "passwort"
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Aehm, also, nunja:

Grep ist Case sensitive :) In deiner Beispielausgabe steht "password:", du greppst aber nach "Password:". Also entweder du machst ein "grep -i" und laesst es so, oder du greppst nach "password:". Was mir noch nicht klar ist: Wieso funktioniert es in deinem letzten Aufruf? Also irgendwas stimmt hier nicht. Sicher dass die Beispielausgabe so aussieht oder hast du die Befehle nur ausm Kopf hier reingepackt?! Oder hast du in der .bashrc oder aehnlichem grep mit Optionen hinterlegt?

Was mir noch nicht ganz klar ist: Man kann ueber diesen Keychain ohne Eingabe eines Passworts die Passwoerter auslesen? Wo genau ist dann der Vorteil? Ob nun in /etc/auto_smb das Passwort im Klartext steht oder in deinem Keychain, macht nicht so den grossen Unterschied, oder?!
RDX hat geschrieben:Halt einfach mal deine verfickte Fresse du Spast, OK? Wenn es dir Spass macht nach dem Essen einen grummelnden Magen zu haben (noch dazu nachdem du etwas gegessen hast was dir absolut nicht schmeckt) um dann irgendwann furzend auf's Klo zu spazieren und richtig ordentlichen Weichschiss zu hinterlassen wonach du deinen Arsch etwa 12 mal abwischen musst, dann viel Spass damit.
Wenn nicht, dann halt's Maul und lass mich in Ruhe.
huensohn
Keel
Keel
Beiträge: 2611
Registriert: Mär 2005
Wohnort: München

Beitrag von huensohn »

Oh, Tatsache. :ugly:
Nee, das ist schon dass was mir die Konsole zurückgibt, einzige was ich geändert hab is der Username/Passwort. ;) Keine Ahnung wieso dass dann funktioniert, .bashrc hab ich zumindest nix gemacht.

Also für den Keychain braucht man schon auch ein Passwort um diesen zu entsperren, man kann aber auch explizit Programmen/Skripten einmalig oder dauerhaft Zugriff darauf gewähren. Das muss man dann eben (einmalig) machen.
Hab grade keinen SSH Zugriff um das zu testen, aber nachdem ich jetz dran gescheitert bin nen regulären Ausdruck für grep zu basteln hab ichs geschafft mit dieser hässlichen Lösung das Passwort zurechtzuschnippeln, mit echo (testweise statt security, aber den output kenn ich ja schon) funktionierts zumindest in cygwin:

Code: Alles auswählen

echo 'password: "passwort"' | grep -o password: | cut -c 12- | rev | cut -c 2- | rev
Werd dann nacher mal gucken ob das hier dann auch funktioniert:

Code: Alles auswählen

mount_smbfs //User:`security find-internet-password -g -a $(whoami) | grep -o password: | cut -c 12- | rev | cut -c 2- | rev`@nas.local/shared /Volumes/shared
Wenn mir jemand ne elegantere Lösung basteln kann oder mich in die richtige Richtung schubst wär ich natürlich dankbar, grep, 2x cut und 2x rev is schon irgendwie echt nicht schön. :ugly:
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Liegt das an cygwin oder wieso verhalten sich deine Kommandozeilentools so komisch?!

grep -o heisst:
"Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line."

An deinem Beispiel:

Code: Alles auswählen

$ echo 'password: "passwort"' | grep -o password:
password:
Du schneidest also genau das Passwort hinten ab, was du eigentlich haben willst?! Oder verstehe ich dich malwieder falsch? Dein Kommando erzeugt jedenfalls bei mir eine leere Ausgabe.

Wenn du wirklich "passwort" haben willst ist das recht einfach:

Code: Alles auswählen

echo 'password: "passwort"' | grep password: | cut -d ' ' -f 2
Das grep filtert alle Zeilen in denen "password:" vorkommt. Das cut nimmt diese Zeilen, trennt sie an dem Leerzeichen und gibt das zweite Feld aus, siehe auch die Manpages der Kommandos. Das grep macht bei dem echo natuerlich keinen Sinn, aber du hast ja spaeter eine andere Ausgabe anstatt dem echo.
RDX hat geschrieben:Halt einfach mal deine verfickte Fresse du Spast, OK? Wenn es dir Spass macht nach dem Essen einen grummelnden Magen zu haben (noch dazu nachdem du etwas gegessen hast was dir absolut nicht schmeckt) um dann irgendwann furzend auf's Klo zu spazieren und richtig ordentlichen Weichschiss zu hinterlassen wonach du deinen Arsch etwa 12 mal abwischen musst, dann viel Spass damit.
Wenn nicht, dann halt's Maul und lass mich in Ruhe.
huensohn
Keel
Keel
Beiträge: 2611
Registriert: Mär 2005
Wohnort: München

Beitrag von huensohn »

Keine Ahnung, kann gut sein. Was recht blöd ist wenn man einen auf trial & error macht. :ugly:

Also, hab nun folgendes gebastelt und für funktionstüchtig befunden:

Code: Alles auswählen

pw=$(security find-internet-password -a `whoami` -r "smb " -s nas.local -g 2>&1 | grep password: | cut -d '"' -f 2)
mkdir /Volumes/shared
mount_smbfs -o automounted //`whoami`:$pw@nas.local/shared /Volumes/shared
Problematisch war noch dass security nicht wirklich in die Konsole ausgibt und man den output davon nicht direkt abgreifen kann sondern erst "umleiten" muss. Wasn Kack. :ugly:

Was mir aufgefallen ist: Is zwar alles ganz toll gemounted jetz, aber der Finder kommt (natürlich :grumble: ) nicht so wirklich klar damit weil er nach wie vor ein hässlicher Haufen ausgeschissener Code ist:
1. Kannste keine Verknüpfungen zum Mountpfad in der Seitenleiste/Favoriten speichern. Warum auch immer. Alles was dem mountpunkt rekursiv liegt geht aber. Bei andern Netzlaufwerken geht das problemlos, die werden dann auch aufm Desktop angezeigt, diese hier aber nicht.

2. Als Workaround hab ich nen symlink zum mountpfad aufm Desktop abgelegt. Hab ich jetz irgend n Finder Fenster offen in dem ich mich auf dem lokalem Dateisystem bewege, und mach jetz den symlink aufm Desktop auf, dann wird der in dem bereits offenem Fenster geöffnet statt ein neues aufzumachen (wie es eigentlich ja sein sollte). Außerdem funktioniert der "back" button vom Finder ab da dann nicht mehr. Superätzend wenn man sich mühsam durch -zig Folder gewühlt hat und dann alles nochmal neu suchen darf.

3. Symlinks lassen sich ebenfalls nicht in die Seitenleiste ziehen. Bah.
Antworten