Cygwin mkdir делает каталог, на который у меня нет прав

использование последней версии cygwin64 в Windows 10. Мне удалось получить каталог foo что-то странное в его разрешения. Я не совсем уверен, как это произошло, но вот проблема:

$ cd /f/temp/foo
$ ls -lad .
drwxrwx---+ 1 Mm None 0 Jun 16 14:03 .
$ mkdir bar
$ ls -lad bar
d---rwx---+ 1 Mm None 0 Jun 16 14:17 .
$ cd bar
Permission denied
$ umask
0022

это не происходит для других каталогах, например,/f/temp/ok. Использование ls переключатели я не вижу никакой разницы между f/temp/ok и /f/temp/foo.

если я делаю chmod 775 bar тогда я могу ввести bar, но затем создание каталога в bar есть такая же проблема. Так что эта проблема мешает мне делать git init in /f/temp/foo. Делаем chown -R Mm * в родителе не имеет значения.

мой вопрос: Что вызывает эту проблему и что такое правильное исправление?

есть некоторые различия, видимые с icacls но я не знаю, как их интерпретировать:

$ cd /f/temp
$ icacls ok  >ok.txt
$ icacls foo >foo.txt
$ diff -b ok.txt foo.txt
1c1
< ok NULL SID:(DENY)(Rc,S,REA,WEA,X,DC)
---
> foo NULL SID:(DENY)(Rc,S,REA,WEA,X,DC)
3c3
<   DESKTOP-AO2AIECNone:(RX)
---
>    DESKTOP-AO2AIECNone:(Rc,S,RA)
8c8
<   Everyone:(RX)
---
>    Everyone:(Rc,S,RA)
10,11c10,12
<   CREATOR OWNER:(OI)(CI)(IO)(F)
<   CREATOR GROUP:(OI)(CI)(IO)(RX)
---
>    CREATOR OWNER:(OI)(CI)(IO)(DENY)(S,RD,WD,AD,REA,WEA,X,DC)
>    CREATOR OWNER:(OI)(CI)(IO)(D,Rc,WDAC,WO,RA,WA)
>    CREATOR GROUP:(OI)(CI)(IO)(Rc,S,RA)
16c17
<   Everyone:(OI)(CI)(IO)(RX)
---
>    Everyone:(OI)(CI)(IO)(Rc,S,RA)

на данный момент у меня есть обходной путь: сделайте еще один каталог под /f/temp, а затем использовать cp -r скопировать все файлы из foo в новый каталог, затем удалить foo и переименуйте новый каталог. Если я использую cp -a вместо cp -r проблема сохраняется.

14
задан M.M
31.03.2023 9:36 Количество просмотров материала 3665
Распечатать страницу

1 ответ

избыток DENY, показанный icacls, может быть вызван недавними изменениями в Cygwin dll (между 2.3 и 2.5) . Потребовался некоторый раунд, чтобы быть правым и, возможно, оставил файлы или каталог с озадачивающим ACL.

для очистки ACL, a -b переключатель был добавлен в setfacl

setfacl -b foo

Для справки https://cygwin.com/cygwin-ug-net/ov-new.html#ov-new2.4s

7
отвечен matzeri 2023-04-01 17:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх