Как я могу рекурсивно изменить разрешения для файлов и каталогов в подсистеме Windows для Linux?

245
Max Candocia

Каждый раз, когда я использую sudo chmod -R +755 *или sudo chmod -R +755 ., он сбрасывает все права доступа к файлам 000в каталогах и подкаталогах.

Если я запускаю sudo chmod +755 *, он будет правильно добавлять разрешения для всего в папке, но не подпапки.

Другие варианты, такие как

sudo find foldername -type d -exec chmod 755 {} ";" 

также, кажется, сбросить разрешения таким образом.

Также кажется, что игнорируются начинающиеся файлы и папки ., что также является нежелательным поведением.

Кроме того, когда я пытаюсь использовать sudo chmod 0000 filename, он только удаляет разрешения на запись. Разрешения на чтение и выполнение остаются там. Это также верно, когда я использую os.chmod()в Python3 (интерпретатор в оболочке bash).

Сборка ОС Windows 10 - 17134,165

0
Вы заметили, что вы не используете `-R` в своей команде sudo? Ahmed Masud 5 лет назад 0
Измените свой вопрос, чтобы включить версию Windows, которую вы используете, версию WSL, как можно точнее Ramhound 5 лет назад 0
@AhmedMasud в первых двух командах я использую -R. В третьей команде она все еще работает рекурсивно, хотя она удаляет разрешения, а не добавляет их. Max Candocia 5 лет назад 0
Так какой экземпляр WSL у вас установлен? Ramhound 5 лет назад 0
Есть ли способ проверить версию? Когда я искал его, казалось, что он напрямую связан с версией Windows. Это было явно здесь: https://www.reddit.com/r/bashonubuntuonwindows/comments/5q341a/how_to_know_which_version_of_wls_is_installed/. И это подразумевалось в других ответах, которые я видел на сайтах stackexchange. Max Candocia 5 лет назад 0
... где находятся эти файлы? Это файлы Windows? muru 5 лет назад 0
Если какая-либо программа Windows изменяет какой-либо файл, то WSL показывает разрешение этого файла на `000`. Biswapriyo 5 лет назад 0

0 ответов на вопрос