Skill/기반기술
linux] /etc/sudoers 파일 pip, python 권한 주기
진열사랑
2025. 5. 21. 16:58
/etc/sudoers 파일은 루트 권한 명령 실행을 허용할 사용자나 명령을 지정하는 민감한 설정입니다. 여기에서 pip, python 명령에 대해 특정 사용자에게 비밀번호 없이 sudo 권한을 주는 방법을 안내드릴게요.
⚠️ 주의사항
- /etc/sudoers 직접 수정 금지: 실수 시 시스템 잠금 가능성 있음
- 반드시 visudo 명령어를 사용하세요:
- sudo visudo
✅ 특정 사용자에게 pip와 python 명령만 sudo 허용
예: 사용자 이름이 myuser라고 가정할 때
myuser ALL=(ALL) NOPASSWD: /usr/bin/pip, /usr/bin/python
경로는 which pip, which python 명령어로 확인하세요. 예:
which pip → /usr/bin/pip
which python → /usr/bin/python
✅ 예시: visudo에서 추가할 내용
# User privilege specification
root ALL=(ALL:ALL) ALL
myuser ALL=(ALL) NOPASSWD: /usr/bin/pip, /usr/bin/python
🔄 만약 여러 버전이 있다면?
예를 들어 Python 3.10, pip3.10을 쓰는 경우:
myuser ALL=(ALL) NOPASSWD: /usr/bin/python3.10, /usr/bin/pip3.10
🧪 테스트 방법
sudo /usr/bin/pip install requests # 비밀번호 없이 설치되어야 함
⛔ 제한된 sudo만 허용하고 싶다면
- sudo 전체 권한을 주는 것이 아니기 때문에, 사용자는 sudo apt나 다른 명령은 실행할 수 없습니다.
- 보안상 더 안전한 방법입니다.
추가로 virtualenv, pipx, 또는 conda 사용을 고려하면 sudo 없이도 Python 패키지 관리를 더 안전하게 할 수 있습니다. 원하시면 안내드릴게요!