관리자가 아닌 일반 사용자 계정에 서비스 제어권한을 부여하는 방법
2011/12/22 23:55
|
윈도우 일반
그 여러가지 제한점 중 하나가 바로 서비스 구동 문제입니다. 예를 들어 DBA가 MSSQL을 내렸다 올렸다 자유롭게 하려면 MSSQLSERVER 라는 서비스를 내리고 올릴 수 있어야겠지요. 그런데 만약 그 DBA가 Administrators 그룹에 속해있는 계정이 아니라면, 권한이 없기 때문에 MSSQL을 올렸다 내렸다 할 수 없습니다.
이 문제를 해결할 수 있는 방법이... 있기는 있더군요. MS에 기술지원 받아서 알아낸 내용입니다.
SubInACL
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23510
다운로드
일단 SubInACL을 설치합니다. 기본 경로로 설치하셨다면 C:\Program Files\Windows Resource Kits\Tools 폴더에 설치될 것인데, 커맨드 창을 띄워서 해당 경로로 이동하셔도 되고, 서버 2008 이상의 경우 Shift + 우클릭 하시면 해당 폴더 위치에 바로 관리자 권한으로 커맨드 창을 띄울 수 있습니다.
아 사용법을 보여드리기 전에 먼저 테스트 환경을 보여드리겠습니다. 제가 관리자 권한이 없는 일반 Test 계정을 생성하였고, 현재 상태에서는 Test 계정이 윈도우에 설치한 아파치 서비스를 제어할 수 없는 상황입니다.
아파치 서비스 모니터 툴에서 Stop 버튼을 눌러도 당연히 오류가 발생합니다. 권한이 없기 때문이죠.
이제 이 Test 계정에 아파치 서비스만 제어할 수 있는 권한을 부여해 보겠습니다. 일단 서비스 명을 알아야 하는데, services.msc에서 각 서비스의 속성을 보시면 서비스 이름이 나오죠. 그 이름을 사용하시면 됩니다.
예제) subinacl /SERVICE Apache2.2 /GRANT=test=F
잘 된 것 같죠? 이제 Test 계정으로 로그인해서 확인을 해보겠습니다.
아까전과는 달리 아파치 서비스를 제어할 수 있도록 버튼이 활성화된 모습입니다.
또한 아파치 서비스 모니터 툴에서 Stop 버튼을 눌러봤는데, 정상적으로 잘 멈추더군요.
이처럼 관리자 권한이 없는 일반 유저 계정에 특정 서비스만 제어할 수 있는 권한을 부여하고 싶다면 SubInACL 툴을 사용해보시기 바랍니다. 일일이 설정하는게 조금 귀찮기는 하겠지만, 무턱대고 Admin 권한을 주는 것 보다는 보안상 훨씬 좋은 방법이라고 생각합니다.
subinacl.msi
2011/12/23 17:44
유익한 글 보고 갑니다.
2011/12/23 21:19
이런 것도 있군요.. 친척 동생 올때 게임 만 하게 할때 이런거 필수 적이것네요 ㅋㅋ;;
2011/12/30 05:49
지금 이 방법을 print server delegation 문제로 찾고 있었는데 너무 감사하네요 ^^
서버 관리자 권한 대신에 delegation group 만 spooler 서비스에만 권한을 주려고 했었거든요. 1월 3일에 회사에 돌아가면 테스트 해보렵니다. 감사합니다.
2012/01/04 04:22
snpbox님, 위 방법으로 권한부여후 서버에 직접 non admin 계정으로 RDC 를 통해 remote access 해서 spooler 서비스는 제어가 되는것은 확인했는데요 remote access 권한을 없애고 mmc 를 통해서만 권한부여하려고 하니까 mmc 를 통해서는 access 가 안되는군요. 혹시 mmc로 접근해 보셨나요?
2012/01/13 01:34
자문 자답하게 되네요.
결과적으로 클라이언트 에서 배치로
sc \\server name stop "spooler"
ping -n 5 localhost >NUL
sc \\server name start "spooler"
로 해결 했습니다. 아무튼 좋은 팁 너무 감사합니다.