개발자에게 PC에 대한 관리자 권한이 있어야합니다


135

개발자가 자신의 PC에 대한 관리자 권한을 가지고 있어야합니까?

일부 의견 :

  • 설치가 필요한 새로운 응용 프로그램을 시험해보고 싶다면 가상 컴퓨터에서 시도한 다음 네트워크 관리자가 설치하도록 할 수 있습니다. 그게 효과가 있다고 생각합니까?
  • 관리자 권한이 필요한 개발자가 PC에서 수행해야 할 작업이 있습니까?

우리는 5 명의 개발자로 구성된 팀이며 웹 애플리케이션을 구축합니다.


116
직장에 들어가서 내 컴퓨터에 대한 관리자 권한이 없다는 것을 알게되면 다음날 다시 오지 않을 것입니다. 개발자가 힘들지 않고 더 쉽게 생활 할 수 있도록하십시오.
annakata

29
이 질문은 선택 편견으로 인해 어려움을 겪을 것입니다. 개발자의 컴퓨터가 잠겨 있어야 할 때가 있지만 개발자를 대상으로하는 사이트에서는 이러한 종류의 응답이 절대로 투표되지 않습니다.
romandas

5
생각보다 덜 일반적입니다. 대부분의 경우 근본적인 문제는 민감한 데이터입니다. 예를 들어 스위스 은행의 기밀 유지법은 개발자가 실제 고객 데이터를 보지 못하게하는 경향이 있습니다 (계정 조정은 독자의 연습으로 남습니다). 이 경우 문제는 머신을 잠그지 않고 개발 작업을 위해 위생 화 된 데이터 세트를 제공하는 것입니다. 대부분의 다른 상황은 규제 요구 사항 (예 : 분류 된 데이터 작업) 또는 자체 서비스 CYA입니다.
ConcernedOfTunbridgeWells

12
같은 질문이 ServerFault에서 어떻게 전개 될지 궁금합니다 ... (@ romandas)
Ben Mosher

4
@ BenMosher : 귀하의 답변입니다 : serverfault.com/questions/232416/…
kmote

답변:


228

대답은 '예'입니다. 개발자는 시스템 구성을 사용하여 항목을 테스트하고, 소프트웨어를 설치하고 (아무것도 개발중인 설치 프로세스를 테스트하기 위해) 레지스트리를 찌르고 관리자 권한없이 제대로 작동하지 않는 소프트웨어를 실행해야합니다 (단지 몇 가지 항목을 나열). 관리 작업을 수행해야하는 개발 작업에 필수적인 다른 작업이 많이 있습니다.

개발 직원이 프로덕션 시스템에 대한 루트 액세스 권한을 반드시 가질 필요는 없으며 로컬 PC의 관리자 권한이 프로덕션 시스템의 보안을 크게 손상 시키지는 않습니다. 업무 수행에 필요한 직원을 위해 로컬 PC에 대한 관리자 액세스를 제한하는 합법적 인 운영 이유는 거의 없습니다.

그러나 관리 액세스 권한을 제공하는 가장 중요한 이유는 손상되거나 2 차 개발 환경을 설정하면 개발 직원에게 메시지를 보내기 때문입니다.

'우리는 정당한 이유없이 귀하의 업무 수행 능력을 크게 손상시킬 준비가되어 있기 때문에 귀하의 작업을 소중하게 생각합니다. 사실, 우리는 우리 자신의 주장을 다루기 위해 아주 기쁘고 사소한 관료주의의 변덕에 빠지거나 단순히 귀찮게 할 수 없기 때문에 매우 기쁩니다. 그게 가장 좋은 경우입니다. 최악의 경우는 우리가 실제로 일을 수행하는 방법과 수행 할 필요가 있거나하지 않아도되는 것을 알려주는 일종의 통제 괴물이라는 것입니다. 당신이받은 것을 처리하고 직업을 갖은 것에 감사하십시오. '

일반적으로 개발 직원을위한 2 차 (기본적으로 결함이있는 작업 환경)를 제공하는 것은 직원을 화나게 한 결과, 유능한 직원을 보유 할 수 없거나 직원의 이직률이 떨어지며 사기가 나쁘고 품질이 좋지 않은 결과를 초래하는 레시피입니다. 특히 관료 주의적 변덕에 대한 패 더닝이 많은 경우에는 그렇게하지 않는 것이 무책임하다.

직원 이직률은 직원 교체 비용 만 발생하지 않습니다. 직원 이직의 가장 심각한 비용은 주변에 붙어있는 대부분의 직원이 더 나은 일자리를 얻을 수없는 데드 우드가 될 것입니다. 시간이 지남에 따라 영향을받는 부서의 기능이 저하됩니다. 업종이 충분히 가까워지면 명성을 얻을 수도 있습니다.

주목할 점은 관리 권한은 Windows보다 Uniix-oid 또는 메인 프레임 시스템에서 개발하는 데 훨씬 덜 중요하다는 것입니다. 이러한 플랫폼에서 사용자는 시스템 전체 권한 없이도 자신의 도메인에서 훨씬 더 많은 작업을 수행 할 수 있습니다. 개발자는 여전히 루트 또는 sudo 액세스를 원할 것입니다. 그러나이를 사용하지 않으면 발자국이 훨씬 줄어 듭니다. 이 유연성은 컴퓨터 과학 학교에서 유닉스 파생 운영 체제의 지속적인 인기에 대한 중요하지만 덜 알려진 이유입니다.


3
관리자 권한과 관리자 권한으로 모든 것을 실행하는 것에는 차이가 있습니다. :) 많은 개발자들은 물론 관리자 권한이 필요합니다. 그러나 로컬 시스템에서 관리자 권한으로 모든 것을 대화식으로 실행하는 것은 특권이 아닙니다. 개발자가 액세스 할 수있는 프로덕션 시스템에 대한 공격을 시작하고 손상된 로컬 PC는 공격자에게 동일한 액세스 권한을 부여합니다. 생각보다 쉽습니다. 보안은 계층 간 문제이며 프로세스 당 최소 권한 및 사용자 교육 문제입니다. : 모든 장치의 존중 보안이 유일한 방법입니다 vimeo.com/155683357
오스카 Duveborn

저는 개발자에게 로컬 관리자 권한을 부여하는 것을지지하지만 "로컬 PC에 대한 관리자 권한은 프로덕션 시스템의 보안을 크게 손상시키지 않습니다"라고 말하면 환경에 따라 다릅니다. 대부분의 IT 담당자는 회사 전체에 퍼질 수 있거나 누군가 로컬 시스템을 손상시키고 로컬 또는 로컬 데이터베이스에 중요한 데이터 파일이 저장된 경우 맬웨어 / 바이러스가 포함 된 소프트웨어를 설치해야합니다. 완벽한 세상에서, 개발자는 HIPAA / PCI 데이터 파일에 액세스 할 수 없으며 모든 개발 데이터베이스는 깨끗하게 제거됩니다. 그러나 우리는 이것이 사실이 아니라는 것을 알고 있습니다.
L_7337

87

개발자는 사용중인 머신을 완전히 제어 할 수 있어야합니다. 대부분의 디버깅 도구는 빌드중인 응용 프로그램의 런타임에 연결하기 위해 관리자 권한이 필요합니다.

또한 개발자는 자주 새로운 것을 다운로드하여 시도합니다. 네트워크 관리자가 와서 무언가를 설치 해야하는 등의 추가 단계를 추가하면 개발자를 좌절시키고 네트워크 운영 담당자에게 생명을 위협 할 수 있습니다.

즉, 네트워크가 아니라 THEIR 상자의 관리자 여야합니다.


5
관리자 권한을 가진 개발자들에게 가장 큰 문제는 로컬 컴퓨터 리소스에 대한 권한을 당연히 받아들이는 것입니다. 너무 많은 엉터리 소프트웨어 결과-C : \ Program Files에 쓰기, HKLM에 쓰기 등 워크 스테이션에서는 가능하지만 그렇지 않은 경우 테스트가 필요합니다.
SqlRyan 2016 년

4
@rwmnau : 웹 개발에는 적용되지 않습니다. 또한 일반 권한 하에서 품질 관리를 수행 할 때 문제가 매우 빨리 나타납니다.
NotMe

2
관리자 권한없이 VM을 사용 가능하고 개발자 테스트로 로그인하면 일반적인 사용자 권한으로 소프트웨어가 실행되는지 쉽게 테스트 할 수 있습니다.
ConcernedOfTunbridgeWells

이러한 관리자 전용 권한으로 출시 된 소프트웨어는 매우 열악한 (또는 없음) QA 프로세스를 거쳤습니다. 소프트웨어는 실제 환경에서 테스트해야하므로 QA는 소프트웨어를 조기에 잡아야하며 그렇지 않으면 개발자가 간과하는 문제가 해결됩니다. 권리?

2
@rwmnau-소금에 걸 맞는 개발자라면 이것을 완벽하게 알고 있지만 그 대답은 개발자 기계를 잠그는 것이 아닙니다. 이러한 문제를 해결하기 위해 편리하게 프로젝트를 배포 할 수있는 테스트 환경을 제공해야합니다.
스펜서 루 포트

48

예, 아니오

예, 시스템 지원을 방해하는 많은 시간을 절약합니다.

아니요, 사용자에게는 보유하지 않으므로 의지하지 마십시오.

우리는 관리자 권한으로 개발하고없이 테스트합니다. 어느 것이 잘 작동합니까?


11
아내는 자신의 컴퓨터에서 관리자가 아닌 계정을 주장해야했기 때문에 사용자가 자신이 할 수있는 일을 할 수 있는지 확인할 수있었습니다. 귀하의 정책은 정확히 맞습니다 (따라서 상향 조정).
David Thornley

1
정확하게 개발자는 관리자, 테스트 및 QA가 사용자를 보유해야합니다.
Dr. Watson

나는 당신에게 더 동의 할 수 없습니다! 관리자 액세스는 개발에는 유용하지만 대부분의 사용자에게는 해당 소프트웨어가 없습니다 (기업 소프트웨어를 개발하는 경우 IT는 일반적으로 문제를 해결합니다).
Pulsehead

18

위에 언급 된 모든 이유로 로컬 관리자 예. 네트워크 관리자 아니요. "그들이 할 수 있기 때문에"네트워크 관리 작업에 빠질 수 없기 때문입니다. 개발자는 개발 중이어야합니다. 네트워크 관리는 완전히 다른 작업입니다.


15

개발자는 일반적으로 평범하지 않은 일을해야하므로 일반적으로 관리자 계정이 있어야합니다. 어색한 후프를 뛰어 넘으면 시간이 낭비되고 사기가 줄어 듭니다. 보안 수준이 높은 상황에서는 예외가있을 수 있지만 관리자 계정으로 누군가를 신뢰할 수 없으면 해당 코드를 신뢰할 수 없습니다.

또한 사용자와 동일한 권한을 가진 사용 가능한 계정이 있어야합니다 (사용자 풀의 권한 상태가 다른 경우 둘 이상의 계정). 그렇지 않으면 멋진 것을 개발하고 배포 한 다음 사용자에게 적합하지 않을 수 있습니다.

관리자 계정으로 컴퓨터를 망칠 수있는 방법이 너무 많습니다 (예, 완료했습니다). IT 부서는 개발자의 컴퓨터를 신속하게 수정할 수없는 경우 이미지를 다시 작성하는 정책이 필요합니다. 계약 한 곳에서 관리자 계정을 얻기 위해 해당 정책의 사본에 서명해야했습니다.

이것은 Windows 고유의 답변입니다. Linux 및 기타 Unix-y 시스템에서 개발자는 사용자 계정만으로 더 자주 접근 할 수 있으며 테스트를 위해 다른 계정이 필요하지 않은 경우가 있습니다 (수행 할 수있는 계정이있는 경우 사용시기를 알고 있음) sudo는 동일하지만 그룹 권한이 동일한 그룹이 필요할 수 있으며 OS에 매우 많은 양의 손상을 줄 수 있으므로 동일한 IT 정책이 필요합니다.


4
"보안 수준이 높은 상황에서는 예외가있을 수 있지만 관리자 계정으로 누군가를 신뢰할 수 없으면 코드를 신뢰할 수 없습니다." -좋은 생각입니다, 감사합니다!
사용자

어느 쪽이든 코드를 신뢰할 수 없습니다 : 모든 것을 위해 피어 리뷰 코드를 수행해야합니다. 그리고 나는 그것이 설치에도 의미가 있다고 생각합니다. 누군가가 설치하려고하는 소프트웨어를 "동료 검토"하도록하십시오.

10

예, Half-Life 1 (및 모든 관련 모드 : 카운터 스트라이크, 패배 일 등)는 Windows NT, 2000, XP 등에서 제대로 작동하려면 관리자 권한이 필요합니다 (적어도 첫 번째 실행에 대해서는 생각합니다). .

그리고 점심 시간에 어떤 종류의 개발자가 카운터 스트라이크를하지 않습니까? (확실히 확실한 것)


10

기계에 대한 관리자 권한없이 개발해야하는 고통을 견뎌냈지만 내 대답은 그렇습니다.


8

물론! 밤에 영화를 다운로드하기 위해 다운로드 관리자를 어떻게 설치합니까?

때때로 개발자는 실제로 아이디어를 테스트하기 위해 시스템에 설치하거나 무언가를 변경해야합니다. 무언가를 변경해야 할 때마다 관리자에게 연락해야 할 경우 불가능합니다.

또한 일부 관리자는 매일 일에 의존하지 않는 작은 일을하기 위해 가능한 모든 것을 조이는 경향이 있다는 개인적인 견해를 가지고 있습니다. 다른 사용자를 화나게? 대답이 없습니다. 그러나 여기서 상식은 보이지 않습니다.

지난번에 내 PC에 문제가 있었을 때 시스템 복원에 적극적으로 참여하여 관리자와 팀에서 일하는 제안을 했으므로 관리자는 매우 화를 내고 가르치려고한다고 비난했습니다. 그 또는 규칙을 재정의하십시오. 나는 그가 다른 동료들 사이에서 우리 방에서 그렇게 시원하지 않은 것처럼 그의 자존심이라고 생각합니다.


더 동의 할 수 없습니다. 6 년 동안 시스템 엔진을 사용하고 나면 헬프 데스크에 연락하여 문제를 해결해야합니다.
Matthew Whited

8

정답은 개발자에게 2 대의 머신이 있어야한다는 것입니다.

  • 관리자 권한과 충분한 전원, 메모리, 화면 크기 및 이식성 및 ADMIN 권한이 있고 회사 안티 바이러스 소프트웨어가로드되었지만 자동 재설정 정책이 필요한 경우 개발자가 구성 할 수있는 하나의 개발.

  • 회사 부하, 정책, 관리자가 아닌 사용자 권한 등이있는 하나의 회사 하나 ... 개발자는 일부 개발자가 관리자 권한으로 모든 단위 테스트를 수행해야하는 불쾌한 습관을 가지므로 단위 테스트 릴리스 모드 응용 프로그램에이를 사용할 수 있습니다.


9
좋은 생각이지만 ... 대부분의 회사는 두 대의 "좋은"기계를 제공하지도 않습니다.
Matthew Whited

1
'표준'빌드로 VM에서 두 번째 머신을 수행 할 수 있습니다. 이는 개발 네트워크가 자체 도메인으로 분리 된 경우 특히 유용합니다. 기본 도메인에 별도의 프로덕션 VM이 있으면 개발자는 네트워크 리소스에 액세스 할 수 있습니다.
ConcernedOfTunbridgeWells

5

질문을 뒤집 으면 대답하기가 더 쉬워 진다고 생각합니다. 개발자로부터 관리자 권한을 제거해야합니까? 이득은 무엇입니까?

그러나 실제로 답은 상황과 환경에 달려 있다고 생각합니다. 소규모 신생 기업은 ISO 인증 정부 기관에 다른 답변을 제공합니다.


5

예, 그러나보다 제한된 환경에서 소프트웨어를 실행할 때 사용자가 직면 할 수있는 제한 사항을 알고 있어야합니다. 개발자는 제한된 리소스 및 권한으로 "일반적인"환경에 쉽게 액세스 할 수 있어야합니다. 과거에는 빌드 프로세스의 일부로 이러한 "일반적인"시스템 중 하나 (종종 내 워크 스테이션의 VM)에 빌드 배포를 통합하여 소프트웨어가 최종적으로 어떻게 작동하는지 항상 빠르게 파악할 수있었습니다. 사용자의 기계.

또한 프로그래머는 관리자가 아닌 사용자를위한 소프트웨어 작성의 빠르고 규칙을 알아야 할 책임이 있습니다. 그들은 항상 어떤 시스템 리소스에 액세스 할 수 있는지 정확히 알고 있어야합니다. 이러한 리소스를 얻는 데 사용되는 API를 알고 있어야합니다.

"내 기계에서 작동한다"는 변명이 결코 아닙니다!


5

시스템 관리자로서 저는 워크 스테이션에서 로컬 관리자 권한을 가진 개발자를위한 것입니다. 가능하면 표준 '사용자'수준 계정으로 대부분의 작업을 수행 한 다음 다른 '관리자'계정을 사용하여 변경, 앱 설치 등을하는 것은 나쁜 생각이 아닙니다. 종종 로깅하지 않고도 원하는 작업을 수행하기 위해 sudo 또는 runas를 수행 할 수 있습니다. 밖. 또한 프로덕션으로 출시 할 때 최종 사용자가 어떤 보안 문제를 극복해야하는지 알려주는 것도 도움이됩니다.

참고로, 시스템을 조정하여 "내 시스템에서 잘 보임 / 작동"시나리오에 빠지지 않도록 [클린] 시스템 또는 VM을 사용하는 것이 좋습니다.


3

파워 유저 없음

우선, Power User는 기본적으로 관리자이므로 사용자를 "Power User"로 " 제한 "하면 시스템의 보안이 향상되지 않습니다.

일반 사용자로 대화식으로 로그온

둘째, 물론 개발자는 개발자 컴퓨터 (및 서버 및 두 번째 상자 등)에 대한 관리 액세스 권한이 필요하지만 정상적인 개발 또는 테스트 중에는 아무도 관리자로 대화 형으로 로그온하지 않아야합니다. 이 응용 프로그램과 대부분의 응용 프로그램에는 일반 사용자 계정을 사용하십시오.

관리자로 [브라우저, 플러그인, IM, 전자 메일 클라이언트 등 삽입]을 심각하게 실행하고 싶지 않습니다.

필요할 때 루트 액세스 권한이 있더라도 일반적으로 Linux 상자에 루트로 로그온하지 않습니다.

별도의 개인 관리자 계정을 사용하십시오.

개발자에게 관리자의 액세스 권한이 필요한 다른 개발 / 테스트 서버 및 상자의 유효한 관리자 인 자신의 컴퓨터 (도메인 계정)에 별도의 개인 관리자 계정을 제공하십시오.

"다음 계정으로 실행"및 Vista + UAC를 사용하여 프롬프트를 프롬프트하거나 요청하고 필요한 경우에만 작업 및 프로세스에 대한 관리 자격 증명을 입력하십시오. 스마트 카드 또는 이와 유사한 PKI는 자격 증명을 자주 입력하는 부담을 크게 줄일 수 있습니다.

모두가 행복하다 (또는?)

그런 다음 액세스를 감사하십시오. 이런 식으로 추적 기능이 있으며 현재 액세스해야하는 특정 dev / test 서버에서 누가 터미널 서비스 세션을 사용하는지 쉽게 찾을 수 있습니다 ...

물론, 별도의 서버 나 가상 머신에 대해 배포가 테스트되고 로컬 디버깅에 사용되는 cassini 또는 기타 항목이 일반 사용자처럼 실제로 실행되는 대부분의 웹 개발과 같이 로컬 관리자 권한이 필요하지 않은 개발 작업이 있습니다.


2
당신이 말하고 있습니다 : 관리자로 로그온 할 수는 없지만 필요한 작업을 수행해야 할 경우를 대비하여 키를 제공하십시오. 나는 UAC에 관해 MS의 사이트 에서이 같은 쓰레기를 읽었으며, 개발자가 하루에 수행하는 백 가지 일에 대해 실제로 고려해야 할 사항이 전혀 없음을 보여줍니다.
NotMe 2009

2
UAC는 일반 사람들이 발에 총을 쏘는 것을 막기 위해 투입되었습니다. 개발자가이 일을하면 부끄러운 일입니다. 그가 계속 그렇게한다면, 다른 작업 라인을 찾아야합니다.
NotMe 2009

관리자에게 로그인하기 위해 실제로 "허용"하는 키를 제공하면됩니다. 일상적인 작업에 그렇게하는 것은 결코 좋은 생각이 아닙니다. 사람들이 여전히 괴짜, 코더 또는 관리자이기 때문에 이것이 정상이거나 필요하다고 생각하는 이유는 저를 벗어났습니다.
Oskar Duveborn

현대의 시스템 관리자가 하루에하는 일을 본 적이 있다면 관리 액세스 및 대체 자격 증명 입력이 하드 코어 시스템 레벨 코더보다 훨씬 높다는 것을 알게 될 것입니다. 그들은 여전히 ​​일상적인 작업에 대한 관리자로 로그온하지 않으며 잘 작동합니다.
Oskar Duveborn

관리 할 때에도 일반적으로 유닉스 시스템에 루트로 로그온하지 않으므로 개발자 인 경우에도 Windows 시스템에서 왜 그렇게합니까? 말이되지 않습니다. Skype와 같은 모든 임의의 응용 프로그램이나 높은 시스템 권한을 가진 응용 프로그램을 실행하는 것은 아무리 말할 필요도 없습니다. 필요한 응용 프로그램 만 높이면됩니다.
Oskar Duveborn 12

3

나는 주로 * nix 세계에서 일하고 개발자가 표준 sudo또는 권한이없는 일반 사용자 계정으로 작업하여 su필요에 따라 / 또는 필요한 경우 관리자 권한으로 에스컬레이션 할 수있는 표준 모델을 사용합니다 .

동등한 Windows 배열이 무엇인지 확실하지 않지만 경험상 이상적인 설정입니다.

  • 한편, 필요할 때 관리자 권한을 사용할 수있게되면 개발자는 필요할 때 자신의 워크 스테이션을 완전히 활용할 수 있습니다.

  • 다른 한편으로, Windows 소프트웨어는 관리자가 아닌 사용자에게는 많은 프로그램이 실행되지 않을 정도로 모든 사용자에게 관리자 권한이 있다고 가정 한 오랜 역사를 가지고 있습니다. 많은 Windows 보안 문제는 컴퓨터를 안정적으로 사용하려면 모든 사용자가 관리자 여야한다는 암시 적 요구 사항에서 직접 발생합니다. 이 반드시 변화에 가장 효과적인 방법은 관리자가 아닌 사용자를위한 실행 소프트웨어는 개발자가 관리자가 아닌 사용자로 스스로를 실행하는 것을 확인합니다.


지난 5-10 년 동안 일반 사용자로 실행할 수없는 비즈니스 응용 프로그램을 경험했다고 생각하지 않습니다. 일단 BOFH가되었고 그 장소의 모든 사용자는 ~ 2001 년부터 실제로 일반 사용자로 모든 것을 실행해야했습니다. 실제로 관리자 권한이 위임되지 않았으며 그 당시에는 많은 맬웨어를 막았습니다. 레거시 응용 프로그램이 실행되면 (샌드 박스에 속이는 경우) 최신 Windows 버전에 자동 shim이 적용되며 일상적인 개발 작업에서 첨부해야 할 때 상승하는 Visual Studio 만 있습니다. 디버깅을 위해 다른 프로세스에.
Oskar Duveborn

3

[사과는 영어가 모국어가 아니며 최선을 다하고 있습니다 :)] 글쎄,

개인적인 경험 (나는 c ++ / SQL 개발자입니다) :

이전 작업에서 Windows 컴퓨터의 관리자였습니다. 또한 프로덕션 환경 데이터베이스를 포함하여 데이터베이스에 대한 dbo (dba 아님) 권한이있었습니다. 2 년 반 동안 8 명의 사람들이이 미친 높은 권리를 가졌는데 ... 우리는 아무런 문제가 없었습니다. 실제로 우리는 db를 수동으로 업데이트하여 많은 문제를 해결했습니다. 우리는 핫픽스와 개발자를 위해 많은 것들을 정말 빠르게 할 수있었습니다.

이제 나는 직업을 바꿨다. 나는 내 Windows 컴퓨터의 관리자로 많은 것을 울었습니다. 그러나 dev 서버는 ssh를 사용하여 연결하는 Red Hat 서버입니다. Qt 설치는 고문, 할당량 제한, 공간 제한, 실행 및 쓰기 권한이었습니다. 우리는 마침내 포기하고 관리자에게 요청했습니다. 2 주 후에도 아무것도 설치되지 않습니다. 신문 읽기와 Alt + Tab 타격이 정말 빨라지고 있습니다.

내 소프트의 개발자만이 기계를 사용하기 때문에 관리자 권한을 요청했습니다.

-> 답변 : "만약 당신이 원하는 것을하지 않기 위해 프로세스가 있다면, 그것은 한 번에 잘 운영되어야합니다."

-> 기술이 아닌 관리자에게 설명하려고합니다. "제작 환경이나 UAT 환경에서 관리자 권한이 없어야합니다.하지만 내 개발 컴퓨터는 다릅니다. 소프트웨어 대신 의자를 만들려면 할 수 있다고 말씀해 주시겠습니까? 작업장에 의자가 사용될 장소처럼 보이게해야하므로 작업장에 원하는 도구를 넣지 않아도됩니다 .. uat에 실행 패키지를 제공합니다. 도구를 만드는 데 사용 된 라이브러리와 도구는 최종 사용자 나 "패키지를 설치하는 친구."

나는 아직도 오늘 기다리고 있습니다. 나는 해결책을 찾고 개발 환경을 열고 좋아하는 온라인 판사에게 가서 자신에게 도전한다. 누군가 당신의 화면을 볼 때, 그는 당신을 프로그래밍하게 될 것입니다. ;)


2

두 가지 방법으로이 질문에 대답 할 수 있습니다. 예, 아니오, 또는 다릅니다. -더 애매 모호 할 수 있습니까? ...

그들이 일을해야하는지에 따라 다릅니다. 그렇다면 컴퓨터에 대한 관리 권한을 부여하십시오. 그렇지 않다면 그렇지 않습니다. 모든 소프트웨어 개발에 엔지니어에게 관리자 권한이 필요한 것은 아닙니다.

예, 아니오는 귀하의 관점에 달려 있습니다. 일부 엔지니어는 컴퓨터를 도메인으로보고 도메인의 규칙입니다. 다른 사람들은 책임을 원하지 않습니다.

관리자 권한이없는 한 회사에서 근무했으며 관리자 권한이 필요한 작업을 수행해야 할 때마다 헬프 데스크에 연락해야했으며 재부팅 할 때까지 임시 관리자 권한을 부여했습니다. 이것은 때때로 고통이었다. 그러나 그것이 내가 그것과 함께 살았던 방법이었다. 또한 컴퓨터에 대한 모든 관리자 권한이있는 곳에서 근무했습니다. OS에 호스를 설치하고 컴퓨터를 헬프 데스크로 가져 와서 하드 드라이브를 다시 이미지화해야하는 소프트웨어를 설치 한 시간을 제외하고는 훌륭했습니다 ....

나는 개인적으로 엔지니어가 자신의 컴퓨터에 대한 관리자 권한을 가져야한다고 생각하지만,이를 망치면 새로운 기준선 이미지를 다시로드 할 수 있으며 원래 기준선 이후 수행 된 모든 내용을 잃게된다는 것을 이해합니다. 그러나 회사의 모든 사람이 자신의 컴퓨터에 대한 관리자 권한을 가지고 있어야한다고 생각하지 않습니다. 회계, 관리 보조 및 기타 부서는 실제로 이러한 권한을 가질 필요가 없으므로 부여되지 않아야합니다.


관리자 권한을 얻기 위해 IT 직원이 내 컴퓨터를 수정하는 데 10 분 또는 15 분을 넘지 않고 완전한 삭제 및 다시 수행 할 것이라는 승인에 서명해야하는 회사의 계약자였습니다. -영상. 나에게 공평 해 보였다.
David Thornley

동의했다. 큰 힘에는 큰 책임이 따른다.
CraigTP

2

ht tp : //msdn.microsoft.com/en-us/library/aa302367.aspx

내 경험상, 우리 (코더)와 그들 (보안) 사이의 타협은 항상 필요합니다. 나는 인정하지만 (내가 싫어하지만) 위의 Microsoft 기사에는 장점이 있습니다. 수년 동안 프로그래머로 일하면서 다른 디버거를 설치 해야하는 어려움을 겪었습니다. 작업을 수행하는 방법을 창의적으로 생각해야했습니다. 보안 팀 (및 여러 토론)과 수년간의 전투 끝에, 나는 데스크탑을 포함한 모든 영역을 보호해야한다는 그들의 업무를 이해합니다. 가장 간단한 Quicktime 앱에서도 매일 나타나는 취약점을 보여주었습니다. 빠른 유틸리티를 설치하거나 로컬 IIS를 조정하여 심각한 보안 문제를 일으킬 수있을 때마다 헛소리를 볼 수 있습니다. 다른 개발자가 통조림을 볼 때까지 이것을 완전히 이해하지 못했습니다. 그는 수백 명의 사람들에게 바이러스를 제공하기 위해 시만텍을 종료하고 종료했습니다. 엉망이었습니다. 무슨 일이 있었는지에 대한 "secheads"(보안 담당자) 중 한 사람과 이야기하면서, 나는 그가 단지 "너에게 그렇게 말했어"라고 말하고 싶었다.

나는 우리의 두목 (적어도 나의 것)이 단지 우리 회사를 보호하기를 원한다는 것을 배웠다. 좋은 소식은 우리가 타협을 찾았으며, 일을 끝낼 수 있고 보안 네트워크를 통해 secheads가 시원하다는 것입니다!

신조


1

예, 펜 테스터 나 숙련 된 악의적 인 사용자가 도메인을 손상시키는 발판을 마련하려는 경우 가능합니다.

즉, 하위 수준 계정 손상> 관리자-> Mimikatz-> 권한 상승-> 도메인 관리자를 찾습니다.

따라서 일반 사용자는 관리자가 아니어야합니다.

또한 Microsoft는 UAC가 보안 경계가 아니라고 말하면서 그렇게 사용하지 마십시오. UAC에는 다양한 실제 바이 패스가 있습니다.

업무 역할의 일부로 관리자가 필요한 경우 소프트웨어를 설치하는 데 사용되는 별도의 도메인 로컬 관리자 계정 (자체 컴퓨터에 대한 관리자 권한 만 있음)을 일반 용도 나 인터넷 액세스 용으로 제공하지 마십시오. 보다 엄격한 비밀번호 정책이 있어야합니다 (예 : 최소 15 자). 이를 위해 Runas 기능을 사용해야합니다.

일반 사용자 계정이 관리자 인 모든 환경은 보안 재해의 레시피입니다.


0

와우,이 질문은 확실히 흥미로운 답변을 제시 할 것입니다. 답장에서 자주 사용되는 인용문- 'It Depends':)

소규모 회사에서는 이것이 단순히 실용적 문제 일 수 있습니다. 개발자는 기술적으로 가장 능숙 할 것이므로 자신의 컴퓨터를 관리하는 것이 좋습니다.

개인적으로 필자는 필요할 때 사용할 수있는 "관리자 계정"의 팬입니다. 즉 "Run As."(이 접근 방식은 나중에 UAC와 매우 유사하다는 것을 알았습니다).

데스크톱 소프트웨어를 개발하는 경우 개발자가 최종 사용자의 경험, 즉 제한된 권한 또는 제한된 권한 내에서 작업하는 것은 나쁜 생각이 아닙니다. 제한된 권한으로 소프트웨어를 구축하는 경우 동일한 권한 집합이 주어지면 대상 사용자가 겪게 될 동일한 문제에 부딪 칠 가능성이 큽니다.

좋은 테스트 실험실 및 / 또는 적절한 품질 보증팀이 있다면, 특히 반 정도의 ALM 실습을 보유하고 있다면 이는 문제가 될 수 있습니다.

마지막으로 UAC없이 발전합니다. 주로 본인과 기술을 신뢰하기 때문입니다. 팀 환경에서는 투표에 넣었습니다. 더 큰 조직에서는이 자유가 없을 수도 있습니다. Enterprise Admins는 종종 마지막 말을합니다. :)


0

회사에서는 개발자, 엔지니어 및 상사 (회사의 소유자)에게 로컬 관리자 권한이 있습니다. 상사는 버스를 타거나 멈출 경우를 대비하여 네트워크 관리자 권한도 있습니다. 다른 사람들은 모두 갇히게됩니다.

sysadmin으로서이 설정은 특히 승인되지 않은 소프트웨어가 설치 될 때 때때로 약간의 슬픔을 유발했습니다. 그러나 개발자 배경에서 볼 때 고급 사용자가 환경을 더 잘 제어해야 할 필요성을 이해하므로 가끔 발생할 수있는 기발한 문제 나 문제를 기꺼이 감수 할 것입니다. 만일을 대비하여 워크 스테이션의 일상적인 백업을 수행합니다.

그건 그렇고, 보스는 다른 사람보다 사물을 다루는 데 더 많은 문제가있었습니다. "코끼리는 어디에 앉아 있습니까? 그가 원하는 곳은 어디입니까!" 그러나 기본적으로 "백업"sysadmin 인 소규모 회사에서는 선택의 여지가 없습니다.


-1

개발자의 기술과 컨설턴트인지 여부에 따라 다릅니다.

숙련되고 신뢰할 수있는 개발자가 자신의 생산성에 해를 끼치 지 않는 한 자신의 PC로 원하는 작업을 수행 할 수있는 권리를 갖는 것이 합리적이라고 생각합니다.


6
정규 직원이 아닌 컨설턴트의 손을 묶는 이유는 무엇입니까? 둘 다 같은 일을하지 않습니까? 더 많은 비용을 지불하더라도 컨설턴트에게 더 적은 비용을 기대하십니까? 정말 바보 같네요. 또한 개발자가 자신의 컴퓨터를 계속 실행할 수 없으면 새로운 작업이 필요합니다
NotMe

-1

Windows XP의 어느 누구도 일상적인 사용을 위해 관리자 계정을 사용해서는 안되며 Vista에서는 최소한 UAC를 사용하도록 설정 한 관리자 여야합니다. 특히 Internet Explorer를 사용하여 웹을 탐색하는 웹 개발자 및 기타 개발자.

할 수있는 일은 개발자가 일반 사용자 계정을 사용하도록하지만 PC 관리자 인 두 번째 계정을 부여하여 필요에 따라 사용할 수 있도록하는 것입니다 (Run As). 웹 개발이라고 말했지만 Windows 개발의 경우 소프트웨어가 아닌 관리자가 아닌 일반 사용자 계정을 사용하여 테스트해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.