현재 유저의 이름에 따라 다르게 실행하는 함수 구현
Python에서 현재 실행 중인 시스템의 사용자를 가져오고, 사용자 이름에 따라 다른 동작을 수행하려면 getpass
모듈의 getuser()
메서드를 사용할 수 있습니다.
기본 예제
getpass.getuser()
를 사용하여 현재 시스템 사용자의 이름을 가져올 수 있습니다.
코드 예시
import getpass
# 현재 사용자 이름 가져오기
current_user = getpass.getuser()
print(f"Current user: {current_user}")
출력
Current user: ethan
사용자에 따라 다른 작업 실행
아래는 사용자 이름에 따라 특정 동작을 실행하는 함수의 예제입니다.
코드 예시
import getpass
def execute_based_on_user():
# 현재 사용자 이름 가져오기
current_user = getpass.getuser()
# 사용자 이름에 따라 다르게 동작
if current_user == "ethan":
print("Hello Ethan! You have admin privileges.")
# Ethan 전용 동작
elif current_user == "alice":
print("Hi Alice! Limited access granted.")
# Alice 전용 동작
else:
print(f"Hello {current_user}! Default access granted.")
# 기본 동작
# 함수 실행
execute_based_on_user()
출력 (사용자에 따라 다름)
Hello Ethan! You have admin privileges.
또는
Hi Alice! Limited access granted.
참고사항
getpass.getuser()
는 환경변수LOGNAME
,USER
,LNAME
,USERNAME
중 첫 번째로 유효한 값을 반환합니다.- 보안 주의사항: 사용자 이름은 신뢰할 수 없는 환경에서는 보안적으로 민감하지 않은 작업에만 사용하는 것이 좋습니다.
추가 기능: 사용자 이름 기반 권한 시스템
아래는 사용자 이름에 따라 권한을 설정하는 간단한 예제입니다.
코드 예시
import getpass
def get_user_permissions():
# 사용자별 권한 설정
permissions = {
"ethan": "admin",
"alice": "read-only",
"bob": "editor"
}
# 현재 사용자 가져오기
current_user = getpass.getuser()
# 권한 가져오기
user_permission = permissions.get(current_user, "guest")
return user_permission
# 권한 확인
permission = get_user_permissions()
print(f"Current user permission: {permission}")
출력
Current user permission: admin
참고 자료
'Python' 카테고리의 다른 글
Python으로 쉘 명령어 장기간 실행 행현상시 타임아웃 걸어 프로세스 강제 종료 (0) | 2016.07.25 |
---|---|
Python Logging (파이썬 로깅) (0) | 2016.07.23 |
Python 에서 시스템 명령어 사용하기 (0) | 2016.04.21 |
Python 학습 참조 사이트 (0) | 2015.11.05 |
Python 실습을 위한 필수품 virtualenvwrapper (0) | 2015.03.12 |