Próbuję zmienić uprawnienia do mojego pliku klucza key.pem
w Cygwin 1.7.11. Ma flagi uprawnień:-rw-rw----
chmod -c 600 key.pem
Raporty:
tryb „key.pem” zmieniony z 0660 (rw-rw ----) na 0600 (rw -------)
Jednak:
ls -l key.pem
wciąż raporty
Flagi uprawnień key.pem są nadal: -rw-rw ----
Powodem dla którego pytam jest to, że ssh narzeka:
Uprawnienia 0660 dla pliku „key.pem” są zbyt otwarte.
kiedy próbuję ssh do mojej instancji Amazon EC2. Czy to problem z Cygwin i Windows 8 NTFS, czy coś mi brakuje?
windows
cygwin
windows-8-preview
chmod
Castaa
źródło
źródło
Odpowiedzi:
Używam Cygwin w Win8CP i miałem ten sam problem. To zdecydowanie błąd Cygwina, ale istnieje obejście: spróbuj uruchomić:
Dłuższe wyjaśnienie jest takie, że z jakiegoś powodu Cygwin
/etc/passwd
i/etc/group
generacja ustawiają domyślną / główną grupę użytkownika jakoNone
. I nie można zmienić uprawnieniaNone
, więcchmod
grupa for nie ma wpływu.Nie próbowałem naprawiać plików
passwd
/group
, ale zrobiłem tochgrp -R Users ~/.ssh
(lub, jeśli korzystasz z wersji wstępnej systemu Windows 8, z nazwą grupyHomeUsers
). Następnie możesz to zrobićchmod 0600
i będzie działać zgodnie z oczekiwaniami.chgrp
DoUsers
grupy mogą być wykonane w zależności od tego inne podobne przypadki można znaleźć. Działa nawet zgodnie z oczekiwaniami, ponieważ Cygwin umieszcza użytkowników wUsers
grupie jako grupę drugorzędną (zamiast podstawowej , co byłoby właściwym zachowaniem).źródło
Users
nie będzie działać. Służycat /etc/group
do sprawdzania, co należy wymienićUsers
. W języku polskim, na przykład trzeba by wymienićUsers
zGebruikers
.Począwszy od Cygwin 1.7.34 (2015-02-04) metoda, która zmienia grupę na
Users
już nie działa. Zamiast tego musisz użyćsetfacl
narzędzia Cygwin .Powiedz, jeśli chcesz ustawić tryb pliku, aby
644 (rw-r--r--)
to zrobić:lub użyj dłuższego formatu:
lub skopiuj jego tryb za pomocą
getfacl
z plikufoo
dobar
:Kompletny podręcznik znajduje się w sekcji „setfacl” w podręczniku użytkownika Cygwin . Zastanawiam się, dlaczego Cygwin nie zmienił jeszcze
chmod
użyteczności.źródło
Oto skrypt, który korzysta z sugestii Luke'a Lee, ale obsługuje ósemkowe argumenty, takie jak chmod. Zapewnia ramy, które można rozszerzyć. chociaż obecnie obsługuje tylko ósemkowe argumenty potrzebne do ustalenia uprawnień do katalogu key.pem i / lub ~ / .ssh.
Użyłem go w ten sposób, aby naprawić mój katalog i pliki .ssh:
źródło
setfacl
sam w sobie jest okropny.źródło
Jeśli masz zainstalowany git bash, uruchom to samo polecenie (
chmod -c 600 key.pem
) z git bash i unikaj Cygwina .źródło
Ten problem można rozwiązać, uruchamiając polecenie ssh-keygen z terminalu cygwin (nie jest to zwykły wiersz polecenia systemu Windows). Zrobiłem to na moim komputerze z systemem Windows 8.
źródło
Uruchom instalator Cygwin i zaktualizuj. Błąd powinien zostać naprawiony.
źródło