Основная проблема заключалась в том, что я еще не перезагрузил компьютер, после перезагрузки os.chown
, shutil.chown
и другие команды работали нормально, пока я передал разрешения группе, членом которой я также являюсь
Я загрузил zip-файл из API и сохранил его, используя:
with urllib.request.urlopen(req) as response, \
open(out_folder, 'wb') as out_file:
shutil.copyfileobj(response, out_file)
Я хотел бы разрешить другому пользователю доступ к этому файлу. Однако я не смог этого сделать. Я пытался:
process = subprocess.Popen(['chown', '-R', f"{user}:{user}", out_folder],
stdout=subprocess.PIPE)
process.communicate()
Что терпит неудачу для каждого утверждения, говорящего мне, что операция не разрешена.
Затем я попытался добавить sudo
в список команд, но это привело только к тому, что строка process.communicate()
зависла навсегда.
Далее я попробовал:
shutil.chown(out_folder, user=user)
Что тоже не сработало. Я подумал, что, возможно, это сработает, если я напишу это в общую группу, частью которой являемся я и другой пользователь:
shutil.chown(out_folder, group=shared_group)
Это также не удалось, опять же с ошибкой разрешения.
У меня закончились идеи, и я не знаю, что делать. Возможно ли сразу записывать файлы правильному пользователю?