To replace one symlink with another atomically is possible by using rename() or 
renameat()
something like:

        os.symlink( src, tmp_symlink )
        os.rename( tmp_symlink, dst )

Use dir_fd's to taste.

I'm sure there is a lot more to cover all the corner cases and attack vectors.

I'm not sure how immutable file will help with this.

Barry


_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to