루트로 로그인하는 옵션이없는 이유는 무엇입니까?


39

Windows에서 관리자처럼 시스템을 시작할 때 GUI 사용자가 루트로 로그인 할 수없는 이유는 무엇입니까?

왜 우리가 터미널을 통해서만 로그인하도록 제한하고 있습니까?


4
또한 그래픽 앱을 루트로 실행할 수있는 'gksu'도 알고 있어야합니다. 즉 "gksu nautlius"
Jeremy Jeremy

1
일부 배포판에서는 루트로 X에 로그인 할 수 있습니다. CentOS6.2가 그중 하나입니다.
djangofan

답변:


42

자신이하는 일을 정확히 알지 않는 한 그렇게하지 않는 것이 좋습니다 . 루트는 수퍼 유저이므로 모든 작업을 수행 할 수 있으며 관리 작업에만 사용됩니다. 일상적인 작업은 모든 사람 (또는 많은 사용자)이 루트를 사용하는 경우 악용 될 보안 위험을 감수 할 수 있습니다. 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일시적 으로 루트가되어 불안정하게하는 것보다 일시적으로, 훨씬 더 나아질 수 있습니다.


1
그러나 Fedora가 시작시 왜이 옵션을 허용합니까?
Renjith G

5
우분투는 사용자 친화적으로 설계되었으며 루트를 허용하지 않으면 루트로 실행되는 일반 사용자 (Linux 초보자)의 유혹을 제거한다고 생각합니다.
evgeny

나는 당신을 얻지 못했습니다.
Renjith G

2
내 의견이 약간 잘못되었습니다. 대신 그래픽 루트 로그인을 허용하지 않음으로써 그들이하는 일을 알지 못하는 한 사람들이 루트로 실행되는 것을 막을 수 있습니다. 즉, 모든 위험을 알고 이해하는 숙련 된 사용자에게만 허용되어야합니다.
evgeny

1
바로 독자가 현실로 백업하고 바보에 약간 공격적으로하기위한 것입니다 정말 지점을 확인합니다.
evgeny

11

표준 Ubuntu에서는 rootGDM (그래픽) 로그인 관리자 나 텍스트 콘솔 (예 : Ctrl+ Alt+을 누르면 표시되는)에서 로그인 할 수 없습니다 F1.

수행하기 위해서는 root(즉, 관리자) 작업을 당신은 사용해야 sudo터미널, 또는 그 어떤 GUI 동등한에서 명령을 : 이러한를 묻습니다 하여 (단 하나의 그) 요청 권한이 작업을 수행 한 후 암호.

다른 사람이 수행하는 것으로, 지적대로이 동작하는 이유이며, root운영하는 것은 본질적으로 위험 하고 정말 필요로하는 작업의 수 root이 사용하여 : 권한이 비교적 작은 sudo(즉, 무해 당신은 권한이없는 계정을 사용하여 대부분의 시간을 실행하는 방법을 시스템과 다른 사용자에게) root실제로 필요할 때 힘을 얻습니다 .

예를 들어 설명하면 도움이 될 수 있습니다. 컴퓨터에 새 서비스 (데몬)를 설치한다고 가정하십시오. 이것은 비교적 새롭고 이에 대해 읽고 필요에 맞게 구성하는 방법을 읽어야합니다. 정보, 예제 구성 등을 찾기 위해 웹을 많이 탐색하고 더 많은 정보를 요청하는 IRC 채팅이있을 수 있습니다.이 중 어느 것도 root힘 이 필요하지 않습니다 ! 결국 두 가지 작업에 대한 권한있는 액세스 만 필요합니다.

  1. 새 프로그램 (예 :)을 설치 sudo apt-get install ...하고
  2. 기본 구성 편집

컴퓨터 보안에서 일반적으로 인정되는 원칙은 항상 작업을 수행하기 위해 가능한 최소 권한 수준을 사용하는 것입니다. -이것은 소프트웨어 버그 또는 운영자의 오류로 인해 나쁜 일이 발생할 위험을 줄입니다.

우분투 기본 설정은이 방향으로 진행됩니다. root대신 로그인 을 사용하는 경우, 인터넷에서 인터넷을 검색하여 root계정 에서 IRC (및 가능한 모든 다른 작업을 수행함)를 수행 하여 시스템을 위협에 불필요하게 노출했을 수 있습니다.

업데이트 : 컴파일러 예제의 경우 다음과 같이 진행합니다.

  1. SSH 를 통해 일반 사용자로 노드에 로그인 하고 그래픽 X11 디스플레이가 실행중인 다른 Ubuntu 또는 GNU / Linux 노드에서 로그인하십시오. SSH를 통한 X11 전달을 활성화해야합니다.

    ssh -X myuser@remotemachine.example.org
    
  2. 쉘 / SSH 프롬프트에서 다음 명령을 실행하십시오.

    sudo /path/to/the/compiler/install/program
    

    그러면 root권한이 있는 컴파일러 설치 관리자가 실행 되고 전면의 그래픽 디스플레이에 액세스 (SSH 전달을 통해)됩니다.


승인. 나는 하나의 리눅스 머신을 사용하고 있다고 가정하자 (퍼티를 통해 10 명의 사용자가 연결됨). 모든 사용자가 사용할 수 있도록 루트로 하나의 소프트웨어 (예 : 하나의 컴파일러, 환경 변수를 동일하게 설정해야 함)를 설치하고 싶습니다. 그러나 설치 프로그램은 GUI 모드에서만 작동하며 명령 행 설치 프로그램은 없으며 루트 로그인으로 만 실행됩니다. 설치를 어떻게 관리 할 수 ​​있습니까? 내 우분투에 arm-linux-gcc를 설치하는 동안이 상황을 만났지만 페도라 시스템 (RedHat shrike 버전)에 성공적으로 설치했습니다
Renjith G

@Renjit G : 글쎄, 이것은 스스로 좋은 질문입니다. 왜 물어 보지 않겠습니까?
Riccardo Murri

1
@Renjit G : 새로운 질문을하고자합니다. 여러 가지 구체적인 질문을하는 것이다면적인 질문을하는 것보다 낫습니다. 상세하고 정확한 답을 얻을 수 있기 때문입니다. 현재 질문을 편집함으로써, 당신은 이미 당신의 질문의 절반에 답하는 것처럼 보이는 답장을 ...
Riccardo Murri

감사합니다 Murri. 나는 다음 포스트에서만 그렇게 확실히 따를 것입니다.
Renjith G

1
그런 컴파일러가 주어지면 대부분의 컴파일러가 궁금 할 것입니다. APT 소스 또는 독립형 .deb 파일을 통해 배포 된 소프트웨어의 경우 "sudo"를 사용하여 명령 줄을 통한 설치이면 충분합니다 (예 : 모든 사용자에게도 해당). 루트가 아닌 모든 사용자를 위해 GUI에서 이러한 파일을 설치할 수도 있습니다. GUI 비밀번호 프롬프트는 "sudo"와 같습니다.
14:55에

8

우분투에서 sudo를 사용하는 이유 는 여기에서 찾을 수 있습니다 . 만약 당신이 "이동 루트"에 빠른 방법이 필요하면 내가 사용 sudo -s또는 sudo -i.


9
명확히하기 위해 sudo -s는 사용자로 루트 세션을 만들고 sudo -i는 루트 사용자로 루트 세션을 만듭니다. 차이점을 쉽게 알 수있는 방법은 명령을 실행 한 다음 "echo $ HOME"을 수행하여 사용중인 환경을 확인하는 것입니다. 또는 "cd ~"이면 "pwd"도 작동합니다.
Scaine

6

root를 사용하는 경고 범위 외에도 터미널에서 로그인하고 다음을 수행하여 root 로그인을 활성화 할 수 있습니다 .

sudo passwd

먼저 암호를 입력하라는 메시지가 표시되고 UNIX 암호를 변경하라는 메시지가 표시됩니다. 입력 한 비밀번호는 root계정 의 비밀번호 입니다.

우분투 위키 주의 사항과 함정 - 우분투 내 뿌리는 sudo의 깊이에 큰 기사를 가지고있다.


5

여기에 두 가지 질문이 있습니다. 하나는 왜 우분투에서 루트 로그인이 기본적으로 비활성화되어 있습니까? 그것은 여러 게시물에 의해 해결되었습니다.

두 번째 질문은 왜 그래픽 루트 로그인이 특히 차이가 나는가입니다.

비 그래픽 루트 로그인의 모든 단점은 그래픽 루트 로그인에도 적용됩니다. 그러나 그래픽으로 로그인 할 때 비 그래픽으로 로그인 할 때보 다 훨씬 더 복잡한 프로그램을 실행하여 훨씬 더 많은 프로그램을 실행합니다. GUI를 효과적으로 사용하는 데 필요한 전체 그래픽 사용자 인터페이스 및 모든 그래픽 프로그램은 루트로 실행됩니다. 그 중 하나에 작은 보안 취약점이 있으면 누군가가 시스템을 완전히 제어 할 수 있습니다.

우분투에서는 루트로 로그인하지 않는 것이 좋지만 보안 커뮤니티에는 보편적으로 나쁜 관행이라는 합의가 없습니다. 그러나 그래픽 루트 로그인은 나쁜 습관이며, 거의 모든 운영 체제에서 단계적으로 제거하거나 강력하게 권장합니다.

그래픽 로그인에서 루트가 아닌 사용자 (특히 sudo 또는 PolicyKit을 사용하여 루트로 작업을 수행 할 수있는 기능이있는 사용자)가 있으면 위험이 줄어 듭니다. 그러나 그래픽 환경의 모든 것이 실제로 무제한 기능을 가진 루트로 실행되어야 할 때보 다 훨씬 더 제어됩니다. 여전히 보안이 가장 중요한 상황에서는 일반적으로 그래픽 인터페이스를 완전히 제거하는 것이 좋습니다. 따라서 Ubuntu Server는 기본적으로 GUI와 함께 제공되지 않으며 공식적으로 설치하지 않는 것이 좋습니다 (그렇지만 지원되는 경우). .

Windows 세계에서는 이제 그래픽 사용자 인터페이스본질적으로 제거 하는 방식으로 Windows Server를 설치할 수 있습니다 (기술적으로 일부 요소는 남아 있지만 매우 제거되어 임의의 그래픽 프로그램을 실행할 수 없음). 이것은 같은 추론에 근거합니다.

루트 로그인을 활성화하기로 결정한 경우에도 루트로 그래픽으로 로그인하지 마십시오. 루트 로그인을 사용하면 보안 위험이 약간 높아질 수 있습니다. 전체 그래픽 환경을 루트로 실행하면 위험이 훨씬 높아집니다.

또한 gksu / gksudo / kdesudo를 사용하여 루트로 실행되도록 설계된 그래픽 관리 도구를 제외하고 대부분의 그래픽 프로그램은 루트로 실행되도록 설계되지 않았습니다. 그들은이 모드에서 광범위하게 테스트되지 않았기 때문에 실패하거나 비정상적으로 작동 할 수 있습니다 ( root로 실행 되기 때문에 특히 나쁩니다 ).

마지막으로, 심지어 일부 그래픽 관리 도구는 같은users-admin 그들이 기대 때문에 루트로 실행이, 일반 사용자에 의해 실행되는 경우, 실패하고 PolicyKit을 사용하여 (지금까지 실제로 루트로 실행하지 않고) 루트로 작업을 수행 할 수 있습니다.


4

터미널을 엽니 다 ( 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액세스 가 필요하거나 원하지 않는 다른 사람들에게 도움이되기를 바랍니다 .


2

우분투 12.04 LTS의 경우 루트 권한을 사용 하여이 작업을 수행 할 수 있습니다.

echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf

그런 다음 사용자 이름과 비밀번호를 모두 입력하여 그래픽으로 로그인하십시오. 나는 당신이 이미 root의 암호를 설정했다고 가정합니다 :)

나는 루트로 직접 로그인해서는 안되는 수많은 이유가 있다는 것을 알고 있지만 루트라는 확신을 정말로 높이 평가할 때 드문 경우 (예 : vmware에서 실행되는 테스트 상자에서)가 종료됩니다.


1

루트 사용자와 관리자 (Windows)는 컴퓨터와 동일합니다. 해당 사용자는 파일 권한에서 전체 파일 시스템을 지우는 것까지 모든 것을 조정할 수 있습니다. 일반 가정 사용자는 관리자로 실행하는 것이 일반적입니다 (해당 이름 또는 첫 부팅시 설정된 다른 이름으로). 해당 사용자로 실행 된 프로그램은 시스템 전체에 적용되므로 위험합니다.

관리 권한에 대한 통제력 부족으로 바이러스 / 악성 프로그램 또는 자체 파괴적인 문제가 발생할 수 있습니다. 이로 인해 우분투를 포함한 많은 배포판이 여분의 단계 ( "여기서 변경 한 사항이 더 큰 범위의 변경 사항"이라고 주장하는 데 도움이되는 다소인지 단계)에 의해 고출력으로의 전환을 제한했기 때문입니다.


ㅎㅎ ... "여기서 변경 한 사항이 더 큽니다."
emf

1

루트로 직접 로그인 할 수는 없지만 (다른 사람들이 이미 잘 설명했기 때문에) GUI 응용 프로그램을 루트로 실행할 수 있습니다. 예를 들어, 시스템 → 관리 → Synaptic Package Manager 는 루트로 실행되는 그래픽 응용 프로그램입니다.

응용 프로그램을 루트 (텍스트 응용 프로그램 또는 GUI 응용 프로그램)로 실행하려면 다음 명령 중 하나를 사용하십시오.

sudo name-of-the-application
gksu name-of-the-application

그들은 거의 동일합니다. 가장 큰 차이점은 첫 번째는 터미널에서 비밀번호를 요청하고 두 번째는 그래픽 대화 창을 사용한다는 것입니다.


1
비밀번호를 입력 한 위치 sudo와 의 차이점 gksu이 더 큽니다. gksuGUI 응용 프로그램 및 sudo명령 줄에 적합합니다 ( 여기여기
Warren Hill)

1

루트는 실제로 정상적인 사용을 권장하지 않지만 때로는 루트 권한이 필요한 터미널 명령 목록이 많으며 루트로 로그인하는 것이 더 편리합니다. 루트 터미널을 사용 sudo xterm하거나 gksu xterm열 때 편리한 "root @"용어 프롬프트가 표시되면 루트 권한을 가진 용어 창을 구분하는 것이 조금 더 쉽다고 생각합니다


0

추가 사항 : Ubuntu에서는 GUI 사용자가 노틸러스와 같은 중요한 파일을 실수로 제거하거나 삭제하지 못하므로 GUI 사용자가 루트로 로그인 할 수 없습니다.

CLI 사용자 인터페이스 만 있으면 실수의 위험을 줄일 수 있습니다. 그러나 이전에는 우분투가 root에 대한 임의의 암호를 생성하기 때문에 CLI 모드에서도 root로 로그인 할 수 없습니다. 루트 관리 작업은 sudo 또는 gksu 명령과 함께 사용자 비밀번호를 사용해야 만 수행 할 수 있습니다.

데비안 규칙을 기반으로합니다.


gksu 명령의 의미는 무엇입니까?
Renjith G

1
man gksu : gksu-su와 sudo를위한 GTK + 프론트 엔드
squallbayu

1
죄송합니다. 다시, 충분히 명확하지 않습니다
Renjith G

'gksu'는 su와 sudo에 대한 GTK + 프론트 엔드를 의미합니다.
squallbayu

1
네 말이 맞아. 터미널에서 'gksu nautilus'를 시도하십시오. 루트 권한이있는 노틸러스가 나타납니다.
squallbayu

0

점을 감안 루트로 로그인에 좋은 이유가 없다 , 나는 (sudo는 / gksu 사용하여 모든 일을) 취향의 문제이다 RH (루트 로그인을 허용)와 우분투의 차이를 생각한다.

귀하의 질문의 다른 부분에 관해서는, 일반 사용자로 로그인 눌러 그래픽 설치를 실행할 수 있어야합니다 ALT-F2및 입력 gksu. 결과 대화 상자에서 설치 프로그램을 시작하는 명령을 입력하십시오.


0

일상적인 일상 업무 에는 루트가 권장 되지 않습니다 . u 수퍼 유저 사전을 제공하므로 잘못 사용될 수 있습니다. 따라서 로그인시 루트 옵션이 없습니다.


0

항상 자신으로 로그온 한 다음 root로 조치를 수행하려면 sudo를 수행해야합니다. 우분투는 기본적으로 필요한 모든 액세스를 허용하도록 설정되어 있습니다. 사소한 변경 사항은 나머지를 처리합니다 (예 : 다른 그룹에 익숙한 항목을 추가하는 것과 같이). 루트로 로그인하는 것은 좋지 않은 관행으로 간주됩니다. 업계 모범 사례가 여기에 기본적으로 설정되어 있습니다.

루트로 로그인 할 수있는 사람은 보안 측면에서 매우 나쁜 것일 수 있습니다.

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