Linux에서 Sudo와 Su의 차이점은 무엇입니까?

Linux 사용자라면 sudo와 su에 대한 참조를 보았을 것입니다. How-To Geek 및 다른 곳의 기사는 Ubuntu 사용자에게 sudo 및 다른 Linux 배포판 사용자가 su를 사용하도록 지시하지만 차이점은 무엇입니까?

Sudo와 su는 루트 권한을 얻는 두 가지 방법입니다. 각 기능은 다른 방식으로 작동하며 다른 Linux 배포판은 기본적으로 다른 구성을 사용합니다.

루트 사용자

su와 sudo는 모두 루트 권한으로 명령을 실행하는 데 사용됩니다. 루트 사용자는 기본적으로 Windows의 관리자 사용자와 동일합니다. 루트 사용자는 최대 권한을 가지며 시스템에 대해 무엇이든 할 수 있습니다. Linux의 일반 사용자는 제한된 권한으로 실행됩니다. 예를 들어 소프트웨어를 설치하거나 시스템 디렉토리에 쓸 수 없습니다.

이러한 권한이 필요한 작업을 수행하려면 su 또는 sudo로 권한을 획득해야합니다.

Su 대 Sudo

su 명령은 추가 옵션없이 실행하면 수퍼 유저 또는 루트 사용자로 전환됩니다. 루트 계정의 비밀번호를 입력해야합니다. 그러나 이것이 su 명령이하는 전부는 아닙니다. 모든 사용자 계정으로 전환하는 데 사용할 수 있습니다. su bob 명령 을 실행하면 Bob의 암호를 입력하라는 메시지가 표시되고 셸이 Bob의 사용자 계정으로 전환됩니다.

루트 셸에서 명령 실행을 마치면 exit 를 입력 하여 루트 셸을 종료 하고 제한된 권한 모드로 돌아 가야합니다.

Sudo는 루트 권한으로 단일 명령을 실행합니다. sudo command 를 실행 하면 root 사용자로 명령 을 실행하기 전에 현재 사용자 계정의 암호를 묻는 메시지가 표시됩니다 . 기본적으로 Ubuntu는 암호를 15 분 동안 기억하고 15 분이 다 될 때까지 암호를 다시 묻지 않습니다.

이것이 su와 sudo의 주요 차이점입니다. Su는 루트 사용자 계정으로 전환하고 루트 계정의 암호가 필요합니다. Sudo는 루트 권한으로 단일 명령을 실행합니다. 루트 사용자로 전환하거나 별도의 루트 사용자 암호가 필요하지 않습니다.

Ubuntu vs. 기타 Linux 배포

su 명령은 Linux에서 루트 권한을 획득하는 전통적인 방법입니다. sudo 명령은 오랫동안 존재 해 왔지만 Ubuntu는 기본적으로 sudo 전용이되는 최초의 인기있는 Linux 배포판이었습니다. Ubuntu를 설치할 때 표준 루트 계정이 생성되지만 암호가 할당되지 않습니다. 루트 계정에 암호를 할당 할 때까지 루트로 로그인 할 수 없습니다.

기본적으로 su 대신 sudo를 사용하면 몇 가지 이점이 있습니다. Ubuntu 사용자는 단일 암호 만 제공하고 기억하면되지만 Fedora 및 기타 배포판에서는 설치 중에 별도의 루트 및 사용자 계정 암호를 생성해야합니다.

또 다른 장점은 사용자가 루트 사용자로 로그인하거나 su를 사용하여 루트 셸을 가져 오는 것을 방지하고 정상적인 작업을 수행하기 위해 루트 셸을 열어 두는 것을 방지한다는 것입니다. 루트로 더 적은 수의 명령을 실행하면 보안이 강화되고 실수로 시스템 전체가 변경되는 것을 방지 할 수 있습니다.

Linux Mint를 포함한 Ubuntu 기반 배포판도 기본적으로 su 대신 sudo를 사용합니다.

몇 가지 트릭

Linux는 유연하므로 su가 sudo와 유사하게 작동하도록 만드는 데 많은 작업이 필요하지 않으며 그 반대도 마찬가지입니다.

su를 사용하여 루트 사용자로 단일 명령을 실행하려면 다음 명령을 실행하십시오.

su -c '명령'

이것은 sudo로 명령을 실행하는 것과 비슷하지만 현재 사용자 계정의 암호 대신 루트 계정의 암호가 필요합니다.

sudo를 사용하여 완전한 대화식 루트 셸을 얻으려면 sudo –i를 실행 합니다.

루트 계정의 암호 대신 현재 사용자 계정의 암호를 제공해야합니다.

Ubuntu에서 루트 사용자 활성화

Ubuntu에서 루트 사용자 계정을 활성화하려면 다음 명령을 사용하여 암호를 설정하십시오. 우분투는 이에 반대 할 것을 권장합니다.

sudo passwd 루트

Sudo는 새 암호를 설정하기 전에 현재 사용자 계정의 암호를 묻는 메시지를 표시합니다. 새 비밀번호를 사용하여 터미널 로그인 프롬프트 또는 su 명령을 사용하여 루트로 로그인하십시오. 루트 사용자로 완전한 그래픽 환경을 실행해서는 안됩니다. 이것은 매우 열악한 보안 관행이며 많은 프로그램이 작동을 거부합니다.

Sudoers 파일에 사용자 추가

Ubuntu의 관리자 유형 계정 만 sudo로 명령을 실행할 수 있습니다. 사용자 계정 구성 창에서 사용자 계정의 유형을 변경할 수 있습니다.

Ubuntu는 설치 중에 생성 된 사용자 계정을 관리자 계정으로 자동 지정합니다.

다른 Linux 배포판을 사용하는 경우 루트 권한으로 visudo 명령을 실행하여 sudo를 사용할 수있는 사용자 권한을 부여 할 수 있습니다 (따라서 먼저 su 실행 하거나 su -c 사용 ).

파일에 다음 줄을 추가하여 user 를 사용자 계정의 이름으로 바꿉니다 .

사용자 ALL = (ALL : ALL) ALL

보도 Ctrl 키-X 그리고 Y는 파일을 저장합니다. 파일에 지정된 그룹에 사용자를 추가 할 수도 있습니다. 파일에 지정된 그룹의 사용자는 자동으로 sudo 권한을 갖습니다.

Su의 그래픽 버전

Linux는 그래픽 환경에서 암호를 묻는 su의 그래픽 버전도 지원합니다. 예를 들어 다음 명령을 실행하여 그래픽 암호 프롬프트를 표시하고 루트 권한으로 Nautilus 파일 브라우저를 실행할 수 있습니다. 터미널을 시작하지 않고 그래픽 실행 대화 상자에서 명령을 실행하려면 Alt-F2 를 누르십시오 .

gksu 노틸러스

gksu 명령에는 몇 가지 다른 트릭이 있습니다. 현재 데스크톱 설정을 유지하므로 그래픽 프로그램을 다른 사용자로 시작할 때 제대로 표시되지 않습니다. gksu와 같은 프로그램은 루트 권한으로 그래픽 응용 프로그램을 시작하는 데 선호되는 방법입니다.

Gksu는 사용중인 Linux 배포에 따라 su 또는 sudo 기반 백엔드를 사용합니다.

이제 su와 sudo를 모두 만날 준비가되어 있어야합니다! 다른 Linux 배포판을 사용하는 경우 둘 다 발생합니다.