답변:
자신이하는 일을 정확히 알지 않는 한 그렇게하지 않는 것이 좋습니다 . 루트는 수퍼 유저이므로 모든 작업을 수행 할 수 있으며 관리 작업에만 사용됩니다. 일상적인 작업은 모든 사람 (또는 많은 사용자)이 루트를 사용하는 경우 악용 될 보안 위험을 감수 할 수 있습니다. Windows를 생각하십시오-맬웨어 및 바이러스 문제의 99 %는 일상적인 작업에 관리자 계정을 사용하는 사람들로부터 발생합니다.
예를 봅시다.
누군가 시스템에 침입하여 디스크를 지우라고하면 어떻게됩니까? 일반 사용자로 실행중인 경우 제거 할 수있는 유일한 파일은 다른 사람이 아닌 자신 에게 속한 파일 입니다. 예를 들어 컴퓨터를 사용하는 다른 사람이 있다면 아무리 노력해도 파일이 전혀 손대지 않습니다. 즉 , 시스템 파일 을 변경할 수 없으므로 시스템은 견고하고 영향을받지 않거나 감염되지 않은 상태로 유지됩니다.
그러나 루트 권한으로 실행하는 경우 하드 드라이브를 완전히 지우고 하드웨어 자체를 약간 손상시킬 수 있으며 일반적으로 시스템을 사용할 수 없게됩니다. 수정 : 컴퓨터에서 루트로 단일 명령 을 실행할 수있는 사람 (일부 악성 웹 사이트 또는 전자 메일 첨부 파일)이이를 수행 할 수 있습니다.
http://everyjoe.com/technology/explain-why-not-log-on-as-root/를 살펴보면 내가 한 것보다 더 잘 설명 할 수있는 좋은 기사입니다.
편집 : 여기 또 하나가 있습니다 http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html
EDIT2가 : 당신은 항상 사용할 수 있습니다 sudo command
또는 gksu command
를 실행하는 command
그래픽 및 명령 줄 유틸리티와 그 일의 양, 수퍼 유저로. sudo
그러나 일반적으로 CLI에 사용 gksu
되며 동일한 작업을 수행하는 그래픽 암호 promt입니다.
어느 정도까지는, 당신이 root
일시적 으로 루트가되어 불안정하게하는 것보다 일시적으로, 훨씬 더 나아질 수 있습니다.
표준 Ubuntu에서는 root
GDM (그래픽) 로그인 관리자 나 텍스트 콘솔 (예 : Ctrl+ Alt+을 누르면 표시되는)에서 로그인 할 수 없습니다 F1.
수행하기 위해서는 root
(즉, 관리자) 작업을 당신은 사용해야 sudo
터미널, 또는 그 어떤 GUI 동등한에서 명령을 : 이러한를 묻습니다 하여 (단 하나의 그) 요청 권한이 작업을 수행 한 후 암호.
다른 사람이 수행하는 것으로, 지적대로이 동작하는 이유이며, root
운영하는 것은 본질적으로 위험 하고 정말 필요로하는 작업의 수 root
이 사용하여 : 권한이 비교적 작은 sudo
(즉, 무해 당신은 권한이없는 계정을 사용하여 대부분의 시간을 실행하는 방법을 시스템과 다른 사용자에게) root
실제로 필요할 때 힘을 얻습니다 .
예를 들어 설명하면 도움이 될 수 있습니다. 컴퓨터에 새 서비스 (데몬)를 설치한다고 가정하십시오. 이것은 비교적 새롭고 이에 대해 읽고 필요에 맞게 구성하는 방법을 읽어야합니다. 정보, 예제 구성 등을 찾기 위해 웹을 많이 탐색하고 더 많은 정보를 요청하는 IRC 채팅이있을 수 있습니다.이 중 어느 것도 root
힘 이 필요하지 않습니다 ! 결국 두 가지 작업에 대한 권한있는 액세스 만 필요합니다.
sudo apt-get install ...
하고컴퓨터 보안에서 일반적으로 인정되는 원칙은 항상 작업을 수행하기 위해 가능한 최소 권한 수준을 사용하는 것입니다. -이것은 소프트웨어 버그 또는 운영자의 오류로 인해 나쁜 일이 발생할 위험을 줄입니다.
우분투 기본 설정은이 방향으로 진행됩니다. root
대신 로그인 을 사용하는 경우, 인터넷에서 인터넷을 검색하여 root
계정 에서 IRC (및 가능한 모든 다른 작업을 수행함)를 수행 하여 시스템을 위협에 불필요하게 노출했을 수 있습니다.
업데이트 : 컴파일러 예제의 경우 다음과 같이 진행합니다.
SSH 를 통해 일반 사용자로 노드에 로그인 하고 그래픽 X11 디스플레이가 실행중인 다른 Ubuntu 또는 GNU / Linux 노드에서 로그인하십시오. SSH를 통한 X11 전달을 활성화해야합니다.
ssh -X myuser@remotemachine.example.org
쉘 / SSH 프롬프트에서 다음 명령을 실행하십시오.
sudo /path/to/the/compiler/install/program
그러면 root
권한이 있는 컴파일러 설치 관리자가 실행 되고 전면의 그래픽 디스플레이에 액세스 (SSH 전달을 통해)됩니다.
우분투에서 sudo를 사용하는 이유 는 여기에서 찾을 수 있습니다 . 만약 당신이 "이동 루트"에 빠른 방법이 필요하면 내가 사용 sudo -s
또는 sudo -i
.
여기에 두 가지 질문이 있습니다. 하나는 왜 우분투에서 루트 로그인이 기본적으로 비활성화되어 있습니까? 그것은 여러 게시물에 의해 해결되었습니다.
두 번째 질문은 왜 그래픽 루트 로그인이 특히 차이가 나는가입니다.
비 그래픽 루트 로그인의 모든 단점은 그래픽 루트 로그인에도 적용됩니다. 그러나 그래픽으로 로그인 할 때 비 그래픽으로 로그인 할 때보 다 훨씬 더 복잡한 프로그램을 실행하여 훨씬 더 많은 프로그램을 실행합니다. GUI를 효과적으로 사용하는 데 필요한 전체 그래픽 사용자 인터페이스 및 모든 그래픽 프로그램은 루트로 실행됩니다. 그 중 하나에 작은 보안 취약점이 있으면 누군가가 시스템을 완전히 제어 할 수 있습니다.
우분투에서는 루트로 로그인하지 않는 것이 좋지만 보안 커뮤니티에는 보편적으로 나쁜 관행이라는 합의가 없습니다. 그러나 그래픽 루트 로그인은 나쁜 습관이며, 거의 모든 운영 체제에서 단계적으로 제거하거나 강력하게 권장합니다.
그래픽 로그인에서 루트가 아닌 사용자 (특히 sudo 또는 PolicyKit을 사용하여 루트로 작업을 수행 할 수있는 기능이있는 사용자)가 있으면 위험이 줄어 듭니다. 그러나 그래픽 환경의 모든 것이 실제로 무제한 기능을 가진 루트로 실행되어야 할 때보 다 훨씬 더 제어됩니다. 여전히 보안이 가장 중요한 상황에서는 일반적으로 그래픽 인터페이스를 완전히 제거하는 것이 좋습니다. 따라서 Ubuntu Server는 기본적으로 GUI와 함께 제공되지 않으며 공식적으로 설치하지 않는 것이 좋습니다 (그렇지만 지원되는 경우). .
Windows 세계에서는 이제 그래픽 사용자 인터페이스 를 본질적으로 제거 하는 방식으로 Windows Server를 설치할 수 있습니다 (기술적으로 일부 요소는 남아 있지만 매우 제거되어 임의의 그래픽 프로그램을 실행할 수 없음). 이것은 같은 추론에 근거합니다.
루트 로그인을 활성화하기로 결정한 경우에도 루트로 그래픽으로 로그인하지 마십시오. 루트 로그인을 사용하면 보안 위험이 약간 높아질 수 있습니다. 전체 그래픽 환경을 루트로 실행하면 위험이 훨씬 높아집니다.
또한 gksu / gksudo / kdesudo를 사용하여 루트로 실행되도록 설계된 그래픽 관리 도구를 제외하고 대부분의 그래픽 프로그램은 루트로 실행되도록 설계되지 않았습니다. 그들은이 모드에서 광범위하게 테스트되지 않았기 때문에 실패하거나 비정상적으로 작동 할 수 있습니다 ( root로 실행 되기 때문에 특히 나쁩니다 ).
마지막으로, 심지어 일부 그래픽 관리 도구는 같은users-admin
그들이 기대 때문에 루트로 실행이, 일반 사용자에 의해 실행되는 경우, 실패하고 PolicyKit을 사용하여 (지금까지 실제로 루트로 실행하지 않고) 루트로 작업을 수행 할 수 있습니다.
터미널을 엽니 다 ( Ctrl+ Alt+ T또는 대시 홈> 추가 앱> 설치 (확장)> 터미널).
루트 계정을 활성화하려면
터미널 유형 또는 붙여 넣기 sudo passwd root
. 일반 로그인 비밀번호를 입력하면 (필요한 경우) 새 root
비밀번호 를 입력 하고 확인 하라는 메시지가 표시됩니다 .
루트 및 비밀번호 입력을 허용하는 새 로그인 프롬프트를 추가하려면
터미널 유형 또는 붙여 넣기 gksudo gedit /etc/lightdm/lightdm.conf
. 로그인 화면의 구성 파일을 편집 할 수있는 그래픽 텍스트 편집기 창이 열립니다.
greeter-show-manual-login=true
파일 맨 아래에 줄 을 추가 하십시오.
파일은 이제 다음과 같아야합니다.
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
lightdm.conf
파일을 저장하고 gedit를 종료 하십시오 .
Ubuntu 12.04를 재부팅하면 사용자 이름과 비밀번호를 입력 할 수있는 새로운 "로그인"창이 나타납니다 (이전의 "기타"창 대신). 입력 한 root
사용자 이름과 다음 루트 계정에 할당 된 암호를 입력합니다.
이것이 root
액세스 가 필요하거나 원하지 않는 다른 사람들에게 도움이되기를 바랍니다 .
우분투 12.04 LTS의 경우 루트 권한을 사용 하여이 작업을 수행 할 수 있습니다.
echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf
그런 다음 사용자 이름과 비밀번호를 모두 입력하여 그래픽으로 로그인하십시오. 나는 당신이 이미 root의 암호를 설정했다고 가정합니다 :)
나는 루트로 직접 로그인해서는 안되는 수많은 이유가 있다는 것을 알고 있지만 루트라는 확신을 정말로 높이 평가할 때 드문 경우 (예 : vmware에서 실행되는 테스트 상자에서)가 종료됩니다.
루트 사용자와 관리자 (Windows)는 컴퓨터와 동일합니다. 해당 사용자는 파일 권한에서 전체 파일 시스템을 지우는 것까지 모든 것을 조정할 수 있습니다. 일반 가정 사용자는 관리자로 실행하는 것이 일반적입니다 (해당 이름 또는 첫 부팅시 설정된 다른 이름으로). 해당 사용자로 실행 된 프로그램은 시스템 전체에 적용되므로 위험합니다.
관리 권한에 대한 통제력 부족으로 바이러스 / 악성 프로그램 또는 자체 파괴적인 문제가 발생할 수 있습니다. 이로 인해 우분투를 포함한 많은 배포판이 여분의 단계 ( "여기서 변경 한 사항이 더 큰 범위의 변경 사항"이라고 주장하는 데 도움이되는 다소인지 단계)에 의해 고출력으로의 전환을 제한했기 때문입니다.
루트로 직접 로그인 할 수는 없지만 (다른 사람들이 이미 잘 설명했기 때문에) GUI 응용 프로그램을 루트로 실행할 수 있습니다. 예를 들어, 시스템 → 관리 → Synaptic Package Manager 는 루트로 실행되는 그래픽 응용 프로그램입니다.
응용 프로그램을 루트 (텍스트 응용 프로그램 또는 GUI 응용 프로그램)로 실행하려면 다음 명령 중 하나를 사용하십시오.
sudo name-of-the-application
gksu name-of-the-application
그들은 거의 동일합니다. 가장 큰 차이점은 첫 번째는 터미널에서 비밀번호를 요청하고 두 번째는 그래픽 대화 창을 사용한다는 것입니다.
추가 사항 : Ubuntu에서는 GUI 사용자가 노틸러스와 같은 중요한 파일을 실수로 제거하거나 삭제하지 못하므로 GUI 사용자가 루트로 로그인 할 수 없습니다.
CLI 사용자 인터페이스 만 있으면 실수의 위험을 줄일 수 있습니다. 그러나 이전에는 우분투가 root에 대한 임의의 암호를 생성하기 때문에 CLI 모드에서도 root로 로그인 할 수 없습니다. 루트 관리 작업은 sudo 또는 gksu 명령과 함께 사용자 비밀번호를 사용해야 만 수행 할 수 있습니다.
데비안 규칙을 기반으로합니다.