Mój system operacyjny to Windows XP, Cygwin 2.5.2. Po zainstalowaniu nowej wersji musiałem ponownie zainstalować starą, która działa w systemie Windows XP. Ale teraz w moim folderze .ssh nie mogę zmienić uprawnień do plików dla żadnego użytkownika w systemie operacyjnym:
$ ls -la
total 17
drwxr-xr-x+ 1 my_user None 0 Jun 25 16:34 ./
drwxr-xr-x+ 1 my_user None 0 Jun 25 16:40 ../
-rwxr-xr-x+ 1 my_user None 493 Jun 19 02:32 config*
-rwxr-xr-x+ 1 my_user None 668 Mar 19 2011 id_dsa*
-rwxr-xr-x+ 1 my_user None 612 Feb 19 2011 id_dsa.pub*
-rwxr-xr-x+ 1 my_user None 1675 Mar 24 2011 id_rsa*
-rwxr-xr-x+ 1 my_user None 404 Mar 24 2011 id_rsa.pub*
-rwxr-xr-x+ 1 my_user None 3788 Jun 16 01:57 known_hosts*
-rwxr-xr-x+ 1 my_user None 1464 Jul 7 2016 rsa_putty.ppk*
Jestem zalogowany jako my_user
i próbowałem uruchomić:
$ chmod 200 ./id_rsa
chmod: changing permissions of './id_rsa': Permission denied
Próbowałem zrobić to samo co Administrator - ten sam wynik. Wygląda na to, że coś się zepsuło podczas ponownej instalacji Cygwin. Czy można to naprawić?
Aktualizacja
$ cacls ./id_rsa
d:\bin\cygwin\home\my_user\.ssh\id_rsa ORGANIZA-R2ODEV\my_user:F
CREATOR OWNER:(OI)(CI)(IO)F
ORGANIZA-R2ODEV\None:R
CREATOR GROUP:(OI)(CI)(IO)R
Everyone:(OI)(CI)R
$ getfacl ./id_rsa
# file: ./id_rsa
# owner: my_user
# group: None
user::rwx
group::r-x
other:r-x
default:user::rwx
default:group::r-x
default:other:r-x
id
i systemu Windows cacls id_rsa
?
+
wprowadzanie jest mylące, ponieważ wydaje się, że nie ma ACL. Ale tryb 0200 jest dziwny: bardzo rzadko są pliki tylko do zapisu, a systemy plików Windows nie obsługują go, chociaż CygWin
mogą mieć własne uprawnienia nakładające się na uprawnienia systemu Windows. Czy możesz ustawić inne uprawnienia, np. 0700 lub 0750?
+
uprawnienia oznaczają, że istnieją rozszerzone uprawnienia do pliku, który próbujesz zmienić. Zobacz tutaj . Będziesz potrzebowałgetfacl
ichacl
aby to rozwiązać. (Jest to oparte na standardowym systemie Linux: założyłem, żeCygWin
jest podobnie.)