2015-02-18 11 views
13

Ho installato cygwin di recente e non sono riuscito a trovare il file passwd/etc nell'ordine impostato su HOME. C'è un modo per forzare cygwin a generare il file?Impossibile trovare il file etc/passwd in cygwin

+0

Intendevi/etc/passwd? Ho controllato la data di creazione sul mio PC, che era quasi la stessa di Cygwin.ico./etc/passwd è stato creato 3 minuti prima del file dell'icona. Il che significa che è stato creato durante l'installazione (2013.09.19). – szkj

risposta

25

I file /etc/passwd e group non vengono più generati per impostazione predefinita, a partire da Cygwin 1.7.34.

È possibile ancora generate them. Cygwin userà questi file preferibilmente se presenti, per impostazione predefinita, ma solo per soddisfare installazioni esistenti e situazioni speciali.

Quando questi file non sono presenti, Cygwin ora utilizza i meccanismi nativi di gestione utenti di Windows: Active Directory dove presente o SAM dove non.

Si consiglia pertanto di utilizzare questo new mechanism per modificare la directory principale. Il modo più semplice che conosco per farlo è quello di aggiungere una linea come questa al file /etc/nsswitch.conf:

db_home: /%H 

che cambierà la vostra directory home Cygwin per essere uguale alla vostra directory del profilo utente di Windows. Esistono molti altri token legali % che puoi utilizzare qui per ottenere risultati diversi. Vedi il link precedente per i dettagli.

+0

Quindi, dove sono nella cartella Win se sono stati creati? –

+0

@square_eyes: non sono affatto nella directory di Windows. '/ etc/passwd' e'/etc/group' sono percorsi POSIX, non percorsi Windows. Di default, '/ etc' fa parte della radice di Cygwin, quindi appare come' c: \ cygwin \ etc' o 'c: \ cygwin64 \ etc', se hai usato la directory di installazione di Cygwin predefinita. Il meccanismo che associa i percorsi Windows ai percorsi POSIX è [configurabile] (https://cygwin.com/cygwin-ug-net/using.html#mount-table), tuttavia, questi file potrebbero essere altrove. –

+0

OK, grazie. Capisco ora :) –

3

Nel mio caso, ho impostato db_home: /%H nel file /etc/nsswitch.conf e ho modificato il permesso del mio .ssh dirctory in "controllo completo".

Problemi correlati