일반적으로 Windows와 같은 운영체제에서는 시스템의 안정성과 보안을 유지하고 제어하기 위해 관리자 권한 수준이 존재합니다. 그래서 컴퓨터의 시스템 설정, 소프트웨어 설치 및 제거, 파일 및 폴더 권한 관리, 보안 정책 설정 등을 제어하고 싶은 경우 기본 권한 수준으로는 제약이 많거나 아예 수정할 수 없게 됩니다.
이 때 현재 사용 중인 일반 계정을 관리자 수준으로 권한을 높이면 일반 계정의 권한 수준에서 처리할 수 없는 것들이 가능해집니다. Windows에서는 관리자 권한을 사용하기 위해서는 관리자 계정으로 로그인하거나, 관리자 권한을 득하는 별도의 과정 등 여러가지 방식을 사용할 수 있습니다.
하지만 Windows의 기본적인 권한 상향 방식이 때로는 불편하게 느껴질 수 있는데 다음 과정으로 리눅스 및 UNIX 기반 시스템에서 다른 사용자(특히 관리자)의 권한으로 명령어를 실행하기 위한 프로그램인 sudo
를 Windows에서도 사용할 수 있습니다.
튜토리얼 환경: 윈도우 11 Pro (빌드: 22621.2134), Chrome, sudo, gsudo
Windows의 관리자 권한 사용의 불편함
일반적인 사용자 수준에서는 Windows에서 관리자 권한을 얻고 사용하는 것이 크게 문제될 것이 없지만 관리자 수준을 자주 전환해야 하는 패턴이라면 꽤나 불편합니다.
- Windows에서는 관리자 권한을 얻기 위해 별도의 대화 상자나 오른쪽 클릭 메뉴를 사용해야 할 수도 있습니다.
- Windows에서는 다양한 방법으로 관리자 권한을 얻어야 하므로 작업마다 절차가 달라질 수 있고 이로인해 사용자에게 혼란을 줄 수 있습니다. 예를 들어
runas /noprofile /user:Administrator
와 같이 길게 명령하면 됩니다. 명령어의 길이는 별칭으로 등록해서 사용하면 되지만 비밀번호를 요구하고 이는 우회가 되지 않아 상당히 번거롭습니다. - 권한의 세밀한 제어가 제한적이며 특정 사용자나 그룹에 대해 특정 명령어만 실행할 수 있도록 설정하는 것이 꽤나 번거롭습니다.
- Windows에서는 복잡한 보안 정책과 UAC 설정을 통해 동일한 제어를 해야 할 수 있으며, 이는 관리가 어려울 수 있습니다.
위 내용들을 종합해 보면 윈도우에서 관리자 권한을 얻는 방법은 UNIX/Linux의 sudo 명령어보다 복잡하거나 직관적이지 않을 수 있으며, 상황에 따라 다르게 적용되어야 할 수도 있습니다.
sudo란
sudo
는 superuser do의 약자로, 리눅스 및 UNIX 기반 시스템에서 다른 사용자(특히 관리자)의 권한으로 명령어를 실행하기 위한 프로그램입니다. 시스템 설정 변경, 보안 관련 작업, 관리자 권한이 필요한 소프트웨어 설치 및 제거 등에 사용됩니다. sudo
를 사용하면 일반 사용자가 일시적으로 높은 권한을 얻어 행동할 수 있으므로, 전체 시스템을 관리자 권한으로 사용하는 것보다 보안성이 높아집니다. sudo 자세하게 알아보기
Windows에서 sudo
설치하기
Windows에서 sudo
를 사용하기 위해서는 대표적으로 sudo
와 gsudo
이렇게 두 가지 패키지가 존재합니다. sudo와 gsudo는 둘 다 관리자 권한으로 명령을 실행하는 기능을 제공하지만, gsudo
는 Windows 환경에 특화되어 있으며, 일부 사용자 경험과 호환성 측면에서 차이가 있을 수 있습니다.
참고: 다음에 안내하는sudo
와gsudo
모두 UNIX나 Linux에서 사용하는 공식 sudo 도구와는 다릅니다. 개인적으로는gsudo
가 조금 더 기능이 풍부하다고 생각해 이를 사용하고 있습니다.
sudo 패키지
sudo
패키지는 일반적으로 UNIX/Linux에서 사용되는 명령행 권한 상승 도구의 Windows 버전입니다. sudo
를 사용하면 특정 명령을 관리자 또는 다른 사용자로 실행할 수 있습니다.
Windows PowerShell을 관리자 권한으로 실행 후 다음 명령을 실행합니다. Chocolatey가 설치되어 있어야 실행되기 때문에 설치되지 않았다면 Chocolatey 패키지 관리 도구를 설치합니다.
choco install sudo
환경 변수는 시스템 또는 사용자 수준에서 설정할 수 있습니다. 관리자 권한이 필요한 환경 변수를 변경하려면 sudo
를 사용합니다. 위와 같이 기본 수준으로 Windows PowerShell을 실행한 상태에서 sudo
를 추가하는 것만으로도 시스템 환경 변수 중 하나인 Path 환경 변수에 디렉토리를 추가할 수 있습니다. 권장하지는 않지만 사용자 계정 컨트롤이 보이는 것도 번거롭다면 사용자 계정 컨트롤 UAC를 비활성화하는 방법을 확인하세요.
gsudo 패키지
gsudo
는 Windows 전용으로 만들어진 도구로, sudo
와 유사한 기능을 제공합니다. GUI 프롬프트를 통해 권한 상승을 요청하고, 새로운 터미널 창을 열지 않고 현재 터미널 내에서 권한 상승 명령을 실행할 수 있습니다. gsudo
는 Windows 터미널과 PowerShell에서 잘 동작하도록 최적화되어 있고 지속적으로 업데이트가 되고 있습니다.
- 구글, 네이버와 같이 본인이 자주 사용하는 검색엔진을 통해서
gsudo
라고 검색 합니다. - 검색 결과 중 상단에 노출 중인Download Hide From Uninstall List v1.0 등으로 링크를 찾아 클릭하면 해당 사이트로 접속 할 수 있습니다. 아래 바로가기를 이용하면 좀 더 빠르게 이동 할 수 있습니다.
- GitHub 저장소로 이동하면 오른쪽 사이드바의 Releases에서 최신 버전을 확인할 수 있습니다.
gsudo
또한 Chocolatey를 통해서 간편하게 설치할 수 있으며 개인적으로는 이 방식을 권장합니다.
choco install gsudo
일반 사용자 권한으로 Windows PowerShell을 실행한 상태에서 gsudo
명령으로 간단하게 관리자 권한으로 전환되는 것을 확인할 수 있습니다.
UNIX Linux 환경에서의 sudo
와의 차이
앞선 방식으로 Windows에서 sudo
와 유사한 기능을 제공하는 패키지들을 설치하고 사용할 수 있습니다. 이러한 윈도우용 sudo
도구를 사용하면 UNIX/Linux의 sudo 명령어와 유사한 경험을 얻을 수 있습니다. 그러나 Windows 환경에서 사용되는 sudo
와 UNIX/Linux 환경에서 사용되는 sudo
는 몇 가지 차이들이 있으니 사용 전 이 부분에 대해 이해할 필요가 있습니다.
- 사용할 수 있는 기본 명령어에 차이가 있습니다. Windows와 UNIX/Linux의 기본 명령어는 다르기 때문에 Windows에서
sudo
를 사용할 때에도, 해당 환경에 맞는 명령어를 사용해야 합니다. 예를 들어, 폴더의 내용을 보는 경우 Windows에서는dir
, UNIX/Linux에서는ls
를 사용합니다. - UNIX/Linux 환경에서
sudo
는 기본적으로 포함된 도구이고, 권한 설정이 사용자별로 구체적으로 가능합니다. 반면, Windows에서sudo
는 기본 제공되지 않으며, Chocolatey를 통해 설치해야 합니다. Windows의 권한 관리 체계는 UNIX/Linux와 다르기 때문에,sudo
를 사용할 때에도 특정 옵션이나 설정이 UNIX/Linux와 다를 수 있습니다. - Windows에서
sudo
는 UNIX/Linux에서 만큼 강력하지는 않습니다. Windows에서sudo
를 사용하면 관리자 권한을 얻을 수 있지만, 일부 권한 제어가 UNIX/Linux처럼 세밀하지 않을 수 있습니다. - Windows와 UNIX/Linux 환경에서 동작하는
sudo
패키지의 성능과 호환성이 다를 수 있습니다. 이러한 차이가 발생하는 이유는 실행되는 명령어와 사용되는 API, 기본 시스템 구조 등에 따라 구현이 다르기 때문입니다. - UNIX/Linux에서는 그래픽 인터페이스에서도
sudo
를 사용할 수 있으나, Windows에서의sudo
사용은 환경과 설정에 따라 다를 수 있으므로, 일반적으로 명령줄 인터페이스에서만 사용할 수 있습니다.
마치며
Windows 환경에서 sudo
를 설치해서 관리자 권한으로 편하게 사용하는 방법에 대해 알아보았습니다. Windows에서 sudo
를 사용하는 것은 많은 이점을 제공할 수 있지만, 적절히 사용하지 않으면 시스템에 문제가 발생할 수 있습니다. 다만 마지막 섹션에서 안내한 대로 Windows에서 sudo를 사용하면 리눅스와 유닉스에서 sudo를 사용하는 것만큼 강력한 기능을 사용할 수 없습니다.
그래도 이런 부분들에 대해 이해했다면 앞서 안내한 방식으로 Windows에서 sudo
를 통해 시스템 관리를 더욱 효과적이고 효율적으로 수행할 수 있고 관리자 권한으로 명령을 실행할 수 있기 때문에 편리하게 사용할 수 있으니 활용해 보시길 바랍니다.