2015-02-18 10 views
13

Ich habe kürzlich cygwin installiert und konnte meine Datei passwd/etc nicht in der Reihenfolge HOME finden. Gibt es eine Möglichkeit, Cygwin zu zwingen, die Datei zu generieren?Ich kann die Datei etc/passwd in cygwin nicht finden

+0

Meinten Sie/etc/passwd? Ich überprüfte sein Erstellungsdatum auf meinem PC, das war fast das gleiche wie Cygwin.ico./etc/passwd wurde 3 Minuten vor der Symboldatei erstellt. Was bedeutet, dass es während der Installation erstellt wurde (2013.09.19). – szkj

Antwort

25

Die Dateien /etc/passwd und group werden standardmäßig nicht mehr generiert, beginnend mit Cygwin 1.7.34.

Sie können noch generate them. Cygwin wird diese Dateien bevorzugt verwenden, wenn sie vorhanden sind, aber nur um bestehende Installationen und spezielle Situationen zu berücksichtigen. Wenn diese Dateien nicht vorhanden sind, verwendet Cygwin nun die nativen Windows-Benutzerverwaltungsmechanismen: Active Directory wo vorhanden, oder SAM wo nicht.

Es wird daher empfohlen, dass Sie dieses new mechanism verwenden, um Ihr Home-Verzeichnis zu ändern. Der einfachste Weg, den ich kenne, dies zu tun, ist eine Zeile wie diese auf Ihre /etc/nsswitch.conf Datei hinzuzufügen:

db_home: /%H 

Das Ihr Cygwin Home-Verzeichnis ändern, um gleich Ihr Windows-Benutzerprofilverzeichnis. Es gibt viele andere legale % Token, die Sie hier verwenden können, um unterschiedliche Ergebnisse zu erzielen. Siehe den vorherigen Link für Details.

+0

Also, wo sind sie im Win dir, wenn sie erstellt wurden? –

+0

@square_eyes: Sie sind überhaupt nicht im Windows-Verzeichnis. '/ etc/passwd' und'/etc/group' sind POSIX-Pfade, keine Windows-Pfade. Standardmäßig ist '/ etc' Teil des Cygwin-Stammverzeichnisses und erscheint daher als' c: \ cygwin \ etc' oder 'c: \ cygwin64 \ etc', wenn Sie das standardmäßige Cygwin-Installationsverzeichnis verwendet haben. Der Mechanismus, der Windows-Pfade den POSIX-Pfaden zuordnet, ist [konfigurierbar] (https://cygwin.com/cygwin-ug-net/using.html#mount-table), diese Dateien könnten jedoch auch anderswo sein. –

+0

OK danke. Ich verstehe jetzt :) –

3

In meinem Fall, ich setze db_home: /%H inDatei, und ändere die Erlaubnis meiner .ssh Dirctory zu "Vollzugriff".

Verwandte Themen