Open In App

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

Last Updated : 24 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
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

FAQ’s

Q. What is difference between os.getuid() and os.geteuid()?

os.getuid() returns the real user ID of the current process, while os.geteuid() returns the effective user ID. The real user ID represents the user who launched the process, while the effective user ID is used for permission checking during process execution.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads