Ubuntu에 비활성화 된 루트 계정이있는 이유는 무엇입니까?


57

우분투는 "보안상의 이유로"루트 로그인을 비활성화합니다. 그러나 그것은 보안에 전혀 도움이되지 않는 것 같습니다.

침입자가 Ubuntu의 로그인 비밀번호를 얻을 수있는 경우 로그인 비밀번호와 동일하므로 수퍼 유저 비밀번호도 갖습니다.

그러나 루트 암호가 필요한 경우 로그인 만해도 침입자에게 큰 도움이되지 않습니다. 그렇지 않습니까?

그래서 기본적으로 알고 싶은 것은 : Ubuntu가 루트 암호를 비활성화하기로 선택한 이유는 무엇입니까? 보안 이유는 무엇입니까?

당신이 "생각"했던 이유에 따라 대답하지 마십시오. 나는 공식 출처에서 답변을 찾고 있거나 그들과 연결되어 있습니다.


6
이것이 도움 되는지 확인하십시오 .
Mitch

5
sudo를 사용하는 이유는 sudo가 처음 작성된 이유와 동일합니다.
Thorbjørn Ravn Andersen

2
Canonical은 시스템 관리에 대한 배경 지식이없는 Windows와 OSX 사용자의 사용 성과 보안 사이에서 가장 가까운 균형이라고 생각합니다. 데스크탑 배포판을 갖는 요점은 사람들에게 호소하는 것입니다 하지 않으려는 자체 리눅스에 대해 배우고, 그러나, 실행을 클릭합니다 것들을 찾을 수 있도록하려면, 그 실행해야합니다. "정상적인"사용자가 단순히 웹 / 메일 / pr0n / 게임 이상을하는 것에 대해 궁금해하는 순간 우분투는 (유효한 루트를 포함하여) 항상 들어 본 멋진 Unixy에 대한 관문이 될 수 있습니다. 시도하십시오 sudo su).
zxq9

1
누군가 귀하의 계정을 소유하고 있다면, 귀하는 귀하의 계정에서 루트로 루트 비밀번호를 입력 할 때 루트 비밀번호를 입력 할 su수 있습니다. 권한 에스컬레이션에 대한 요점은 별도의 콘솔에서 루트로 로그인 한 경우에만 적용되며 일반 계정이 쓰기 액세스 권한을 가진 파일을 신뢰하는 루트는 수행하지 마십시오. 기존 답변에서 알 수 있듯이 주요 이유 중 하나는 초보자가 로그인 및 사용 계정으로 루트를 생각하지 못하도록하는 것입니다.
Peter Cordes

답변:


81

Mitch는 다음과 같이 주석을 달았습니다 : 루트로 로그인하는 것이 왜 좋지 않습니까? 데비안 사이트는 위키에 다음과 같은 주요 이점이 있습니다 .

sudo?

다음을 포함하여 sudo여러 가지 이유로 세션을 루트로 여는 것보다 사용 이 더 좋습니다.

  • 아무도 루트 비밀번호를 알 필요가 없습니다 ( sudo현재 사용자의 비밀번호를 묻는 프롬프트). 개별 사용자에게 추가 권한을 임시로 부여한 다음 암호를 변경하지 않고도 제거 할 수 있습니다.

  • sudo; 를 통해 특별한 권한이 필요한 명령 만 쉽게 실행할 수 있습니다 . 나머지 시간에는 권한이없는 사용자로 작업하여 실수로 인해 발생할 수있는 피해를 줄입니다.

  • 감사 / 로깅 : sudo명령이 실행될 때 원래 사용자 이름과 명령이 기록됩니다.

위의 이유로 sudo -i(또는 sudo su)를 사용하여 루트로 전환 하면 위의 기능이 취소되므로 일반적으로 더 이상 사용되지 않습니다.

우분투에 관한 장점과 단점은 위키에 있습니다 :

sudo 사용의 이점

우분투에는 루트 로그인이 기본적으로 비활성화 된 상태로 다음과 같은 여러 가지 이점이 있습니다.

  • 설치 프로그램은 질문 할 것이 적습니다. 사용자는 가끔 사용하기 위해 추가 암호 (예 : 루트 암호)를 기억할 필요가 없습니다. 만일 그렇게한다면 잊어 버릴 수 있습니다 (또는 안전하지 않게 기록하여 누구나 쉽게 시스템에 침입 할 수있게합니다).

  • 기본적으로 "나는 무엇이든 할 수 있습니다"대화 형 로그인을 피합니다. 주요 변경 사항이 발생하기 전에 암호를 묻는 메시지가 표시되므로 수행중인 작업의 결과에 대해 생각해야합니다.

  • sudo는 명령 실행 (에서 /var/log/auth.log) 의 로그 항목을 추가합니다 . 엉망인 경우 돌아가서 어떤 명령이 실행되었는지 확인할 수 있습니다.

  • 서버에서 모든 크래커는 자신의 방식으로 무차별 대입하려고하면 root라는 계정이 있고 먼저 시도합니다. 그들이 모르는 것은 다른 사용자의 사용자 이름입니다. 루트 계정 암호가 잠겨 있기 때문에이 공격은 본질적으로 의미가 없어집니다. 처음에는 암호를 해독하거나 추측 할 수 없기 때문입니다.

  • 그룹에서 사용자를 추가 및 제거하여 관리자 권한을 쉽게 이전 할 수 있습니다. 단일 루트 비밀번호를 사용하는 경우 사용자를 인증 해제하는 유일한 방법은 루트 비밀번호를 변경하는 것입니다.
  • sudo는 훨씬 더 세분화 된 보안 정책으로 설정할 수 있습니다. 루트 계정 암호는 시스템에서 특정 유형의 관리 작업을 수행해야하는 모든 사람과 공유 할 필요가 없습니다 (이전 글 머리표 참조).

  • 인증은 짧은 시간 후에 자동으로 만료됩니다 (원하는대로 또는 0으로 설정할 수 있음). 따라서 sudo를 사용하여 루트로 명령을 실행 한 후 터미널에서 멀어지면 루트 터미널을 무한정 열린 상태로 두지 않습니다.

sudo 사용의 단점

데스크탑의 경우 sudo 사용의 이점이 크지 만 주목해야 할 문제가 있습니다.

  • sudo로 실행되는 명령의 출력을 재 지정하려면 다른 접근 방식이 필요합니다. 예를 들어 sudo ls > /root/somefile 셸이 해당 파일에 쓰려고하므로 고려할 수 없습니다. 내용 ls | sudo tee -a /root/somefile을 추가하거나 ls | sudo tee /root/somefile덮어 쓰는 데 사용할 수 있습니다 . sudo에서 실행되는 쉘 프로세스에 전체 명령을 전달하여 파일을 루트 권한으로 작성하도록 할 수도 있습니다 (예 :) sudo sh -c "ls > /root/somefile".

  • 많은 사무실 환경에서 시스템의 로컬 사용자 만 루트입니다. 다른 모든 사용자는 nss-ldap과 같은 NSS 기술을 사용하여 가져옵니다. nss-ldap이 손상된 네트워크 오류가 발생한 경우 워크 스테이션을 설치하거나 수정하려면 root가 필요합니다. 이것은 크랙되지 않는 한 시스템을 사용할 수 없게 만드는 경향이 있습니다. 여기에는 추가 로컬 사용자 또는 활성화 된 루트 비밀번호가 필요합니다. 로컬 사용자 계정, 로컬 디스크에 자사의 $ HOME을해야 하지NFS (또는 다른 네트워크 파일 시스템) 및 NFS 마운트의 파일을 참조하지 않는 .profile / .bashrc 이는 일반적으로 루트의 경우이지만 루트가 아닌 구조 계정을 추가하는 경우 이러한 예방 조치를 수동으로 수행해야합니다. 그러나 sudo와 함께 로컬 사용자를 사용하면 위의 이점에서 언급 한 것처럼 명령을 쉽게 추적 할 수 있다는 이점이 있습니다.

그리고 우리는 항상 (첫번째 릴리스부터) 가지고있었습니다.


내가 찾은 가장 오래된 참조 는 "sudo"가있는 4.10에 대해 말합니다.

SHUTTLEWORTH, 데비안 기반 우분투 리눅스 출시

... 데비안 기반 Ubuntu Linux에는 Gnome 2.8, 커널 2.6.8.1, OpenOffice.org 1.1.2가 포함되어 있으며 텍스트 기반이지만 쉬운 설치 절차가 제공됩니다. 우분투는 Mac OSX처럼 sudo를 선호하는 루트 사용자를 비활성화했습니다 ...


에서 보안 기능의 몇 가지 누락 혜택 (ⅰ.) 아무도 '상승 특권'을 얻을 수 없다 (GUI 용) 없이 대화 형 로컬 액세스 (키보드에서 암호를 입력) (II.) 부여 된 '상승 특권'는 sudo'd 명령 (들) 만하지위한 어떠한 사용자 (또는 루트)에 대한 작업 / 스레드.
david6

이것은 원래의 질문에서 제기 된 요점을 무시하고 왜 좋은지 다른 많은 정보로 모호하게하는 것 같습니다.
paul23

6

도움말 페이지에 작성된 내용이 명확하고 충분히 객관적 이라고 생각합니다 .

우분투는 "모두를위한 것"입니다. 비록 충분하다면 컴퓨터를 손상시키기 위해 루트 액세스가 필요하지는 않지만, 거의 필요하지 않습니다 (그리고 쉽게 사용하는 방법을 알고 있습니다).
따라서 문제는 "충분히 좋은"사람들이 아니라 다른 모든 컴퓨팅 세계에서 리눅스에 올 수있는 사람들에게는 문제가되지 않으며 첫 번째 영향은 우분투에 영향을 미칩니다.

전문가가 아니고 정확히 무엇이 무엇 root이며 어떻게 올바르게 처리 해야하는지 모른다 면,이를 활성화하거나 활성화하지 않아도됩니다 (예를 들어 그래픽 로그인을하는 위험).
안전한 방법으로 일을하고 더 힘들고 위험한 길로 나아가는 방법을 배우는 것이 훨씬 낫습니다. 어려운 방법으로 직접 시작한 다음 설치 / 워크 스테이션을 손상시키고 좌절하고 완전히 작동하지 않을 수 있습니다. 체계.
일반적으로 예방하는 것이 치료하는 것보다 훨씬 낫습니다.

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