Основная проблема заключалась в том, что я еще не перезагружал свой компьютер, после перезагрузки 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)
Это также не удалось, снова с ошибкой разрешения.
Я свежая из идей и не знаю, что делать. Возможно ли сразу записать файлы нужному пользователю?