When desired and permitted by the computer filesystem, it’s possible to change file ownership. This may be necessary when a file was inadvertently created with root / admin ownership by mistake, and it’s necessary for a general user to edit or access the file. Changing file ownership can have unexpected consequences, like removing the ability of others to access the file or run a program depending on the file. Therefore, file ownership changes should be done only when necessary and with consideration for others who may depend on the file.
As long as the user has filesystem permission, Python can easily change file ownership across operating systems.
import shutil import getpass shutil.chown("my.txt", user=getpass.getuser())
On Windows check ownership of the file by Command Prompt:
dir /q my.txt
Windows uses the takeown command to change file ownership. For simplicity we assume the desired user is logged in and executing the command.
takeown /f my.txt
On macOS / Linux check ownership of the file by
ls -l my.txt
For simplicity we assume the desired user is logged in and executing the command chown:
chown $whoami:$whoami my.txt