Linux 철학을 올바르게 이해하면 sudo
조금만 사용해야하며 대부분의 작업은 권한이없는 사용자로 수행해야합니다. 그러나 sudo
패키지 관리, 구성 파일 편집, 소스에서 프로그램 설치 또는 무엇을 포함하든 항상 입력해야하기 때문에 의미가 없습니다 . 이것들은 기술적 인 것이 아니라 일반 사용자가하는 것입니다.
사람들이 암호를 요구하지 않도록 클릭하거나 클릭하지 않는 Window UAC를 상기시켜줍니다. 또한 많은 사람들의 Windows 사용자도 관리자 계정입니다.
또한 일부 사람들은 sudo
없이 권한 을 요구하는 명령을 표시하는 것을 보았습니다 sudo
. sudo
필요하지 않은 방식으로 시스템을 구성 했습니까?
답변
이 시스템 관리 기능을 언급했습니다
패키지 관리, 구성 파일 편집, 소스에서 프로그램 설치
그 것들로
일반 사용자가하는 모든 것
일반적인 다중 사용자 시스템에서는 일반적인 사용자 작업이 아닙니다. 시스템 관리자는 이에 대해 걱정할 것입니다. 그런 다음 “권한이없는”일반 사용자는 유지 관리에 대한 걱정없이 시스템을 사용할 수 있습니다.
가정용 시스템의 경우 시스템을 사용하고 관리해야합니다.
사용하기가 정말 어려운 sudo
가요? 그것이 단지 시스템이라면 root
쉘에 넣을 수없는 이유가 없습니다 ( sudo -s
– 루트 쉘을 얻는 다양한 방법에 대한 개요는 이 게시물 을 참조하십시오 ) 및 / 또는 sudo
암호를 묻지 않도록 구성하십시오 .
답변
Sudo / Root는 시스템 관리자가 일반적으로 허용하지 않는 방식으로 표준 사용자가 시스템 구성을 손상 / 변경할 위험이없는 작업을 수행 할 때마다 사용됩니다.
패키지 관리, 구성 파일 편집, 소스에서 프로그램 설치 또는 무엇을 가지고 있는지 여부
이러한 모든 기능은 기술적으로 관리 기능이며 잘못된 작업을 수행하면 시스템이 크게 손상 될 수 있습니다. 회사 환경에서 Sysadmin은 사용자가 본인의 명확한 지식 없이는 할 수 없도록하는 것이므로 sudo입니다.
예를 들어, 상승 된 권한없이 패키지 / 구성 파일을 수정할 수있는 경우 외부 소스가 시스템을 손상 시키거나 손상시킬 수있는 원격 코드를 실행하는 것이 매우 간단합니다. 이러한 작업에 루트 액세스 권한을 요구하면 사용자가 해당 작업의 수행 여부를 결정하게됩니다.
UAC
창과 매우 유사하며 실제로 창에 대한 아이디어가 UAC
있습니다.
sudo를 처음 사용할 때받는 인용문은 매우 적합하고 매우 중요합니다.
현지 시스템 관리자로부터 일반적인 강의를 받았다고 믿습니다. 일반적으로 다음 세 가지로 요약됩니다.
#1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.
특히 # 2, 입력하기 전에 생각하십시오. 이것이 sudo가 존재하는 중요한 이유입니다. 명령을 입력 할 때 “이 작업을 수행하려면 반드시 루트 여야합니다”가 멈춰서 실제로 수행중인 작업을 중단하고 생각해야합니다.
답변
또한 일부 사람들은
sudo
없이 권한 을 요구하는 명령을 표시하는 것을 보았습니다sudo
.sudo
필요하지 않은 방식으로 시스템을 구성 했습니까?
해당 명령을 수퍼 유저로 실행해야하지만을 사용하여 실행할 필요는 없습니다 sudo
. 예를 들어 su
또는 대신 doas
(OpenBSDs replacement for sudo
)을 사용 하거나 간단히 root로 로그인 할 수 있습니다.
따라서 그들이 여기에 명령을 표시하지 않으면 sudo
독자가 자신이 좋아하는 명령을 수퍼 유저로 실행하는 것으로 가정합니다.
가장 확실한 것은 해당 명령을 일반 사용자로 실행할 수 있다는 의미는 아닙니다.
답변
에서 제공 한 보안 기능은 sudo
당신이 할 수 있다는 것입니다 없이 시스템 root
암호 있도록 root
사용자가 직접 로그인 할 수 없습니다. 이 방법은 취약한 암호를 선택하는 사용자를위한 추가 보호 기능을 제공합니다. SSH를 통해 암호를 무차별 공격하려는 공격자는 먼저 유효한 사용자 이름을 파악해야합니다.
또 다른 측면은보다 세분화 된 권한 관리입니다. make; sudo make install
대 make; make install
로서의 뿌리를 생각하십시오 . 많은 일들이 잘못 될 수 있습니다 make
. 잘못 구성된 도구는 중요한 시스템 파일을 덮어 쓰려고 시도 할 수 /lib
있으며, 현재 디렉토리 대신 “정리”하고 , 사용 가능한 모든 RAM을 소비하고 시스템을 정지시키는 등의 make install
작업은 치명적인 오류 가능성이 훨씬 적은 작은 간단한 동작입니다.
답변
요점은 역사적으로 시스템은 실제로 로그온하고 몇 가지 작업을 수행 한 다음 로그 오프하는 여러 사용자가 공유하도록되어 있다는 것입니다. 따라서 관리자와 일반 사용자의 구별. 이러한 시스템은 여전히 대학 실험실에 존재하며 이러한 컴퓨터를 사용하면 차이를 크게 느낄 수 있습니다. 귀하가 단독 사용자이고 또한 관리자 역할을 수행해야하는 가정용 PC는 훨씬 나중에 개발됩니다.
답변
컴퓨터는 도구입니다. 다른 도구와 비유 해 봅시다. 프라이팬이라고합시다. 때로는 프라이팬을 돌봐야합니다. 예를 들어, 식기 세척기로 청소해야합니다. 접시 비누가 프라이팬을 사용하는 레시피의 필수 성분이라고 말할 수 있습니까? 요리 책에 “접시 비누”가 성분으로 표시되지 않습니다. 그것은 필요하지만 도구 준비는 또 다른 문제이므로 요리 책에서는 언급하지 않습니다. 프라이팬은 청소해야하지만 그것이 만든 것은 아닙니다.
컴퓨터도 마찬가지입니다. 그것은 구성되고 관리되어야하지만, 그것이 만들어지는 것은 아닙니다. 잘 관리하고 구성하면 제대로 작동 할 수 있습니다. 이 작업이 완료되면 시스템 관리자가 아니라 사용자로 사용할 수 있습니다. 그것이 만든 것입니다. 사용자는 더 이상 sudo 가 필요하지 않습니다 . 미리 준비한 도구를 사용하십시오. 물론 프라이팬을 요리 할 때마다 자주 청소해야하는 것처럼 루트 특권을 사용해야합니다.
너무 과장하지 않고 컴퓨터를 사용하기 위해 sudo (또는 루트 암호)가 필요 하지 않다고 말할 수 있습니다. 컴퓨터 만 준비하십시오.
답변
시스템 관리 작업을 제외한 모든 것에 GUI 소프트웨어를 사용하거나 Linux 서버에 대해 이야기하고 있기 때문에 대부분의 액세스는 당연히 시스템 관리입니다. 따라서 셸에서 필요한 작업을 수행하는 것처럼 느껴질 수 있습니다 sudo
.
일상적인 작업에 쉘을 사용할 수도 있습니다. 에서 개인 파일 관리 ~
, 파일 편집, IRC 채팅, 코드 컴파일, 웹 탐색 등을 모두 쉘에서 수행 할 수 있습니다. 나는 심지어 bc
이동 계산기로 도 사용 합니다. 일부 작업은 GUI를 통해 수행하기가 쉽고 일부 작업은 쉘을 통해 수행하기가 쉽습니다. GUI를 사용하는 것을 선호하더라도 셸은 배치 작업 및 자동화에서 우수합니다 (쉘 스크립트 생각). 개인적으로 나는 당면한 작업에 가장 적합한 것을 사용합니다.
경우에 따라 sudo
기본적으로 루트가 필요하지만 문제를 일으킬 가능성이없는 작업에 항상 사용할 필요가 없도록 시스템을 설정하는 것이 좋습니다 . 한 가지 예는 직렬 포트를 사용하는 하드웨어로 작업하고 루트가 아닌 일반 사용자로 장치에 액세스 할 수 있도록 udev 규칙을 설정 한 것입니다.
sudo
암호를 요구하지 않도록 구성하는 것이 좋지 않다고 생각 합니다. 잘못 입력 한 명령이나 악의적 인 스크립트를 사용하여 전체 시스템을 너무 쉽게 망칠 수 있습니다.
항상 루트가 필요한 작업을 수행해야하는 경우 sudo -s
터미널 창에서 영구 루트 셸을 실행 하지 않는 이유 는 무엇입니까? 그러면 암호를 입력하지 않고도 사용할 수 있으며 실수로 사용하기가 쉽지 않습니다. 루트 쉘에있을 때 쉘 프롬프트를 밝은 빨간색으로 설정했습니다.