Open In App

Python | os.geteuid() and seteuid() method

Last Updated : 24 Jan, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

All functions in the OS Module raise OSError in the case of invalid or inaccessible file names and paths, or other arguments that have the correct type, but are not accepted by the operating system.

os.geteuid() method in Python is used to get the current process’s effective user ID while os.seteuid() method is used to set the current process’s effective user ID.

Effective User ID

It is normally the same as a real user ID but it is changed to enable a non-privileged user to access files that can only be accessed by root. Effective user ID is used for most access checks. It is also used as the owner of the files created by the process.

Note: os.seteuid() and os.geteuid() methods are available only on UNIX platforms and the functionality of os.seteuid() method is typically available only to the superuser as only the superuser can change the user ID.
A superuser is a root user or an administrative user who has all the permissions to run or execute any program in the Operating System.

os.geteuid() Syntax in Python

Syntax: os.geteuid()

Parameter: No parameter is required

Return Type: This method returns an integer value which represents the current process’s effective user id.

Python os.geteuid() Method Example

Below are the examples of geteuid() method in Python those are following.

Use of Python os.geteuid() Method

In this example , below Python code utilizes the Python OS Module to fetch the effective user ID of the current process using `os.geteuid()`. The obtained ID is then printed along with a descriptive message.

Python3
# importing os module  
import os 
  
# Get the effective user ID 
# of the current process 
# using os.geteuid() method 
euid = os.geteuid() 

# Print the effective user ID 
# of the current process 
print("Effective user ID of the current process:", euid) 

Output
Effective user ID of the current process: 1000
Geteuid-terminal-output

os.seteuid() Syntax in Python

Syntax: os.seteuid(euid)

Parameter:

  • euid: An integer value representing new effective user ID for the current process.

Return Type: This method does not return any value.

Python os.seteuid() Method Example

Below are the example of seteuid() method in Python those are following.

Use of Python os.seteuid() Method

In this example , below Python code first retrieves and prints the effective user ID of the current process using os.geteuid(). Then, it changes the effective user ID to 100 using os.seteuid() and prints a message indicating the change.

Python3
# importing os module  
import os 
  
# Get the effective user ID 
# of the current process 
# using os.geteuid() method 
euid = os.geteuid() 
  
# Print the effective user ID 
# of the current process 
print("Effective user ID of the current process:", euid) 
  
# Change effective user ID 
# of the current process 
# using os.seteuid() method 
euid = 100
os.seteuid(euid) 
print("Effective user ID changed") 
  
# Print the effective user ID 
# of the current process 
euid = os.geteuid() 
print("Effective user ID of the current process:", euid)

Output
Effective user ID of the current process: 0
Effective user ID changed
Effective user ID of the current process: 1000
Setuid terminal output

Next Article
Article Tags :
Practice Tags :

Similar Reads