Python | shutil.chown() method

Shutil module in Python provides many functions of high-level operations on files and collections of files. It comes under Python’s standard utility modules. This module helps in automating process of chowning and removal of files and directories.

shutil.chown() method in Python is used to change the owner and /or group of the specified path.

Syntax: shutil.chown(path, user = None, group = None)



Parameters:
path: A string value representing a valid path.
user: A string value representing a system user
group: A string value representing a group
user and group can be also given by user id (uid) and group id (gid) respectively.

Return Type: This method does not return any value.

Code #1: Use of shutil.chown() method to change owner and group of the specified path

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to explain shutil.chown() method 
    
# importing shutil module 
import shutil
  
# importing Path class of pathlib module 
from pathlib import Path 
  
  
# Path
path = '/home/ihritik/Desktop/file.txt'
  
  
# Get the owner and group
# of the specified path
# using Path.owner() and
# Path.group() method
info = Path(path)
user = info.owner()
group = info.group()
  
# Print owner and group
# of the specified path
print("Current owner and group of the specified path"
print("Owner:", user)
print("Group:", group)
  
  
# Now, change the owner and group
# of the specified path
user = 'ihritik'
group = 'ihritik'
shutil.chown(path, user, group) 
  
print("\nOwner and group changed")
  
  
# Print the owner and group
# of the specified path
info = Path(path)
user = info.owner()
group = info.group()
print("Current owner:", user)
print("Current group:", group)
  
  
# Change only group 
# of the specified path
# and let owner as it is
group = 'root'
  
shutil.chown(path, group = group) 
  
print("\nOnly group changed")
  
# Print the owner and
# group of the speicifed path
info = Path(path)
user = info.owner()
group = info.group()
print("Current owner:", user)
print("Current group:", group)
  
  
# Similarly, we can change
# only owner of the
# specified path and let
# group as it is

chevron_right


Output:

Current owner and group of the specified path
Owner: root
Group: root

Owner and group changed
Current owner: ihritik
Current group: ihritik

Only group changed
Current owner: ihritik
Current group: root
Code #2: Use of shutil.chown() method

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to explain shutil.chown() method 
    
# We can also change owner
# and group of the specified path
# by passing owner id (uid) and
# group id (gid) as parameter
# instead of passing name of 
# owner and / or group 
  
  
# importing shutil module 
import shutil
  
# importing Path class of pathlib module 
from pathlib import Path 
  
  
# Path
path = '/home/ihritik/Desktop/file.txt'
  
  
# Get the owner user and
# group of the speicifed path
# using Path.owner() and
# Path.group() method
info = Path(path)
user = info.owner()
group = info.group()
print("Current owner and group of the specified path"
print("Current owner:", user)
print("Current group:", group)
  
  
# Now, change the owner user
# and group of the
# specified path
  
uid = 0
gid = 0
shutil.chown(path, uid, gid) 
  
print("\nOwner and group changed")
  
  
# Print the owner user and
# group of the speicifed path
info = Path(path)
user = info.owner()
group = info.group()
print("Current owner:", user)
print("Current group:", group)

chevron_right


Output:

Current owner and group of the specified path
Owner: ihritik
Group: ihritik

Owner and group changed
Current owner: root
Current group: root

Reference: https://docs.python.org/3/library/shutil.html



My Personal Notes arrow_drop_up

self motivated and passionate programmer

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.