2012-03-05 16 views
35

Non riesco a chmod il permesso del gruppo in cygwin su Windows 8 in modo che non possa connettersi a un server usando una chiave ssh.
Avviso prompt Bash: "I permessi 0660 per '/home/KeepZero/.ssh/id_rsa' sono troppo aperti E 'richiesto che i tuoi file di chiavi privati ​​NON siano accessibili da altri."Perché non posso chmod in cygwin su Windows 8 CP?

[email protected] ~ 
$ ls 
test 

[email protected] ~ 
$ ls -l 
total 0 
-rwxrwx--- 1 KeepZero KeepZero 0 Mar 4 15:07 test 

[email protected] ~ 
$ chmod 700 test 

[email protected] ~ 
$ ls -l test 
-rwxrwx--- 1 KeepZero KeepZero 0 Mar 4 15:07 test 

[email protected] ~ 
$ chmod 777 test 

[email protected] ~ 
$ ls -l test 
-rwxrwxrwx 1 KeepZero KeepZero 0 Mar 4 15:07 test 
+0

Opere per me. Che tipo di filesystem stai usando lì? – ak2

+0

Ah, ho trascurato che è su Windows 8, quindi dimentica il mio commento. Meglio segnalarlo alla mailing list di Cygwin, credo. – ak2

risposta

69

fare un ls -al e vedrete che i vostri file non appartiene ad alcun gruppo (nessuno). Basta fare un chgrp Users * sui tuoi file e stai di nuovo bene.

+0

Grazie, per me è stato risolto! –

+0

Questo lo ha risolto anche per me! Grazie mille! –

+2

Sì e ricordati di fare il tuo 'chmod 600 ' successivamente –

48

La soluzione sopra funziona, tuttavia non risolve la causa principale e il problema si ripresenterà con qualsiasi file creato dall'utente su cui si desidera modificare le autorizzazioni. Per risolvere il problema in modo permanente:

  1. cercare il gruppo ID del gruppo "Utenti" in/etc/group (o il nome del gruppo equivalente a quelle locali).
    Nella mia installazione questo era 545, YMMV cat /etc/group|egrep '^Users:' otterrà la linea corretta. il terzo campo sulla linea è l'id del gruppo. (cat /etc/group|egrep '^Users:'|cut -f3 -d':' per ottenere l'id).

  2. Modifica il file/etc/passwd. Trova il record per il tuo utente. Il 4 ° campo è il "gruppo principale" per l'utente. Non è impostato correttamente su un gruppo inesistente. Cambia quel numero al numero che hai trovato nel passaggio 1 sopra. Salva il file di password ecc.

  3. Chiudere eventuali finestre/terminali cygwin aperti e aprirne uno nuovo. Crea un nuovo file. Dovrebbe avere un gruppo di "Utenti" e dovresti essere in grado di cambiarne le autorizzazioni come desiderato.

+5

Lei, signore, meriti una medaglia. E molti altri upvotes. Questa tua risposta mi ha salvato un paio di volte e l'ho segnalibro come riferimento, sono sicuro che avrò bisogno di seguire questi passaggi anche in futuro. –

+3

Questa risposta dovrebbe essere accettata in quanto risolve il problema iniziale e non è una piccola correzione. Si noti che il nome del gruppo dipende dal lang del computer dell'utente. Nel mio caso, era "Utilisateurs" (in francese). – orion78fr

+2

$ cat/etc/group | egrep '^ Usuarios:' | cut -f3 -d ':' per utenti spagnoli. – JorgeGT

1

Una possibile ragione di questo problema è, di aver copiato la cartella .ssh sul pc reale .. creare la propria cartella, quindi si ottiene il gruppo di utenti a destra. Non copiare cartelle .. sono assegnate a gruppi di utenti che non corrispondono.

0

Ho avuto lo stesso problema su Windows Server 2012 R2. Dopo aver provato a cambiare il proprietario o il gruppo o anche i permessi di un file, mostrava ancora i valori originali e ignorava le mie impostazioni. Dopo aver letto https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-files

I permessi dei file

Su NTFS e se i noacl montaggio opzione non è specificata per un monte punto, Cygwin imposta i permessi dei file su sistemi POSIX.

ho capito che l'opzione noacl è stato fissato per le mountpoins:

$ mount 
C:/cygwin/bin on /usr/bin type ntfs (binary,noacl) 
C:/cygwin/lib on /usr/lib type ntfs (binary,noacl) 
C:/cygwin on/type ntfs (binary,noacl) 
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,noacl,auto) 

Così ho tolto il noacl opzione dai punti di mount in/etc/fstab e chiuso tutte le finestre Cygwin. Dopo aver riaperto la console, l'impostazione delle autorizzazioni con chown, chgrp e chmod ha funzionato come previsto.

Problemi correlati