TL; DR : 필요한 경우에만 루트로 작업하십시오. sudo
이것을 꽤 쉽게 만듭니다. 루트 로그인을 활성화해도이 규칙을 따를 수 있으므로주의해야합니다. 루트 로그인을 사용하도록 설정해도 제대로 수행되지 않으면 실제로 안전하지 않지만 루트 로그인을 사용하도록 설정할 필요는 없습니다 sudo
.
실제로 두 가지 관련 질문이 있습니다.
- 일상적인 컴퓨터 사용 (웹 브라우징, 이메일, 워드 프로세싱, 게임 등)을 위해 루트로 로그인하는 것이 왜 나쁜가요?
- Ubuntu가 기본적으로 루트 로그인을 비활성화
sudo
하고 관리자가 특정 명령을 루트로 실행할 수 있도록 및 polkit 을 사용 하는 이유는 무엇 입니까?
왜 항상 모든 것을 루트로 실행하지 않습니까?
다른 답변들 대부분이 이것을 다룹니다. 그것은 다음과 같습니다.
- 필요하지 않은 작업에 루트 권한을 사용하고 원하지 않는 일을하게되면 원하지 않는 방식으로 시스템을 변경하거나 손상시킬 수 있습니다.
- 필요하지 않을 때 프로그램을 루트로 실행하고 결국 보안 취약점이나 기타 버그로 인해 의도하지 않은 작업을 수행하면 변경되거나 피해를 입을 수 있습니다 원하지 않는 방식으로 시스템.
근본으로 행동하지 않아도 해를 입을 수 있다는 것은 사실입니다. 예를 들어, 루트로 실행하지 않고 자신의 홈 디렉토리에서 모든 파일을 삭제할 수 있습니다 (일반적으로 모든 문서가 포함됨)! (다행히 백업이 있습니다.)
물론 루트로서 동일한 데이터를 실수로 파괴 할 수있는 추가 방법이 있습니다. 예를 들어, 명령에 잘못된 of=
인수를 지정하고 dd
파일에 원시 데이터를 쓸 수 있습니다 (파일을 삭제하는 것보다 복구하기가 더 어려운 방법).
귀하가 컴퓨터를 사용하는 유일한 사람인 경우, 루트 권한으로 만 할 수있는 피해는 일반 사용자 권한으로 할 수있는 피해보다 실제로 높지 않을 수 있습니다. 그러나 우분투 시스템을 망치 는 추가 방법 을 포함하도록 위험을 확장 할 이유는 없습니다 .
루트가 아닌 사용자 계정으로 실행하여 자신의 컴퓨터를 제어 할 수없는 경우 이는 물론 나쁜 트레이드 오프입니다. 그러나 실제로 루트로 작업을 수행 하고자 할 때 sudo
와 다른 방법으로 수행 할 수는 없습니다 .
루트로 로그인 할 수없는 이유는 무엇입니까?
루트로 로그인하는 능력이 본질적으로 안전하지 않다는 생각은 신화입니다. 일부 시스템에는 기본적으로 루트 계정이 활성화되어 있습니다. 다른 시스템 sudo
은 기본적으로 사용 되며 일부는 둘 다로 구성됩니다.
- 예를 들어, 세계에서 가장 안전한 범용 OS로 광범위하고 합리적으로 여겨지는 OpenBSD 는 로컬 암호 기반 로그인을 위해 활성화 된 루트 계정과 함께 제공됩니다.
- 이를 수행하는 다른 존경받는 OS로는 RHEL , CentOS 및 Fedora가 있습니다.
- 데비안 ( 우분투에서 파생 된 )은 사용자가 시스템을 설치하는 동안 어떤 접근 방식을 구성할지 결정합니다.
이 루트 계정을 사용하는 시스템, 가지고 객관적으로 잘못이 아니에요 제공을 그
- 실제로 필요할 때만 사용 하고
- 액세스를 적절하게 제한합니다.
초보자는 종종 우분투에서 루트 계정을 활성화하는 방법을 묻습니다. 우리는이 정보를 숨겨서는 안되지만, 일반적으로 사람들이이 정보를 요구할 때 루트 계정을 활성화 해야 한다는 잘못된 인상을 받고 있기 때문 입니다. 실제로 이것은 거의 필요하지 않으므로 그러한 질문에 대답 할 때이를 설명하는 것이 중요합니다. 루트 계정을 사용하면 루트 권한이 필요없는 루트로 쉽게 만족하고 조치를 수행 할 수 있습니다. 그러나 이것이 루트 계정을 사용 하는 것이 안전 하지 않다는 것을 의미하지는 않습니다 .
sudo
사용자가 필요할 때만 루트로 명령을 실행 하도록 권장하고 도와줍니다 . 명령을 루트로 실행하려면 sudo
, 공백을 입력 한 다음 명령을 입력하십시오. 이것은 매우 편리하며 모든 기술 수준의 많은 사용자가이 방법을 선호합니다.
요컨대, 루트 로그인을 활성화 할 필요가 없습니다 sudo
. 그러나 필요한 관리 작업에만 사용하는 한 다음과 같은 방법 으로 루트로 활성화하고 로그온하는 것이 안전합니다 .
- 비 그래픽 가상 콘솔 에서 로컬로 .
su
다른 계정으로 로그인 한 경우 명령을 사용 합니다.
그러나 다음과 같은 방법으로 루트로 로그온하면 실질적으로 추가 된 보안 위험이 발생합니다.
그래픽으로. 그래픽으로 로그인하면 그래픽 인터페이스를 제공하기 위해 많은 것들이 실행되고 더 많은 응용 프로그램을 루트로 사용하여 모든 인터페이스를 사용할 수 있습니다. 이것은 실제로 루트 권한이 필요한 루트로 프로그램을 실행한다는 원칙에 위배됩니다. 이러한 프로그램 중 일부에는 보안 버그를 포함한 버그가 포함되어있을 수 있습니다.
또한 이것을 피해야하는 비보안 이유가 있습니다. loevborg가 언급했듯이 데스크탑 환경 개발자 및 그래픽 앱 개발자는 루트로 테스트하지 않는 경우가 많으 므로 루트로 그래픽으로 로그인하는 것은 잘 지원 되지 않습니다. 그래도 루트로 그래픽 데스크탑 환경에 로그인해도 사용자가 실제 알파 및 베타 테스트를받지 못합니다 (위에서 설명한 보안상의 이유로).
특정 그래픽 응용 프로그램을 루트로 실행해야하는 경우 또는 을 사용할 수 있습니다gksudo
sudo -H
. 루트 계정으로 그래픽으로 로그온 한 경우보다 루트로 훨씬 적은 프로그램을 실행합니다.
떨어져서. 이 root
계정은 사실상 모든 작업을 수행 할 수 있으며 사실상 모든 유닉스 계열 시스템에서 동일한 이름을 갖습니다. 를 통해 루트로 로그인 ssh
또는 기타 원격 메커니즘, 또는에 의해 이를 허용하는 원격 서비스를 구성 , 당신은 자동화 된 스크립트 악성 코드 폭력, 사전 공격을 통해 접근하기 위해, 봇넷에서 실행을 포함하여, 침입자 훨씬 더 쉽게 (그리고 가능 일부 보안 버그).
암호 기반 루트 로그인이 아닌 키 기반 만 허용하면 위험이 그리 크지 않습니다 .
우분투에서는 기본적으로 root로 로그인을 활성화 하더라도 SSH를 통한 그래픽 루트 로그인이나 원격 로그인이 활성화되지 않습니다 . 즉, 루트 로그인을 활성화하더라도 합리적으로 안전한 방식으로 만 활성화됩니다.
- Ubuntu에서 ssh 서버를 실행하고 변경하지 않은
/etc/sshd/ssh_config
경우 해당 라인이 포함됩니다 PermitRootLogin without-password
. 암호 기반 루트 로그인은 비활성화되지만 키 기반 로그인은 허용됩니다. 그러나 기본적으로 키가 구성되어 있지 않으므로 설정하지 않으면 작동하지 않습니다. 또한 키 기반 원격 루트 로그인은 암호 기반 원격 루트 로그인보다 훨씬 덜 나쁩니다. 부분적으로 무차별 대입 및 사전 공격의 위험이 발생하지 않기 때문입니다.
- 기본값 이 당신 을 보호 해야 하지만 루트 계정을 활성화하려는 경우 여전히 ssh 구성을 확인하는 것이 좋습니다. ftp와 같은 원격 로그인을 제공하는 다른 서비스를 실행하는 경우 해당 서비스도 확인해야합니다.
결론적으로:
- 필요할 때만 루트로 작업하십시오.
sudo
원할 때 언제든지 루트의 모든 힘을 제공하면서도 그렇게 할 수 있습니다.
- 루트의 작동 방식과 루트의 과잉 사용 위험을 이해하면 루트 계정을 활성화하는 것이 보안 측면에서 실제로 문제가되지 않습니다.
- 그러나 당신이 그것을 이해한다면, 당신은 거의 확실하게 루트 계정을 활성화 할 필요 가 없다는 것을 알고 있습니다 .
여기에서 다루지 않은 sudo
추가 이점을 포함하여 root 및에 대한 자세한 내용을 보려면 Ubuntu 도움말 위키에서 RootSudo 를 사용하는 sudo
것이 좋습니다 .