Ubuntu에서 Sudo를 조정 및 구성하는 8 가지 방법
리눅스에서와 마찬가지로 sudo 명령도 매우 구성 가능합니다. sudo는 패스워드를 묻지 않고 특정 명령을 실행하거나, 승인 된 명령만으로 특정 사용자를 제한하거나, sudo로 실행되는 로그 명령 등을 사용하지 않고 특정 명령을 실행할 수 있습니다..
sudo 명령의 작동은 시스템의 / etc / sudoers 파일에 의해 제어됩니다. 이 명령은 visudo 명령으로 편집해야합니다.이 명령은 실수로 파일을 손상시키지 않도록 구문 검사를 수행합니다.
Sudo 사용 권한을 가진 사용자 지정
우분투를 설치하는 동안 생성 한 사용자 계정은 관리자 계정으로 표시되어 sudo를 사용할 수 있습니다. 설치 후 생성 한 추가 사용자 계정은 관리자 또는 표준 사용자 계정 일 수 있습니다. - 표준 사용자 계정에는 sudo 권한이 없습니다..
Ubuntu의 사용자 계정 도구에서 그래픽으로 사용자 계정 유형을 제어 할 수 있습니다. 열려면 패널에서 사용자 이름을 클릭하고 사용자 계정을 선택하거나 대시에서 사용자 계정을 검색하십시오.
비밀번호를 잊어 버린 수도 만들기
기본적으로, sudo는 암호를 입력 한 후 15 분 동안 암호를 기억합니다. 따라서 sudo로 여러 명령을 연속적으로 실행할 때 한 번만 암호를 입력하면됩니다. 다른 사람이 컴퓨터를 사용할 수있게하려는 경우 다음에 실행할 때 sudo가 암호를 묻도록하려면 다음 명령을 실행하면 sudo가 암호를 잊어 버립니다.
sudo -k
항상 암호 묻기
예를 들어 다른 사람이 컴퓨터에 정기적으로 액세스 할 수있는 경우와 같이 sudo를 사용할 때마다 메시지가 표시되면 암호 기억 동작을 완전히 비활성화 할 수 있습니다.
이 설정은 다른 sudo 설정과 마찬가지로 / etc / sudoers 파일에 있습니다. 터미널에서 visudo 명령을 실행하여 편집 할 파일을 엽니 다.
sudo visudo
이름에도 불구하고이 명령은 우분투의 전통적인 vi 편집기 대신 새로운 사용자 친화적 인 nano 편집기로 기본 설정됩니다.
파일의 다른 Defaults 행 아래에 다음 행을 추가하십시오.
기본값 timestamp_timeout = 0
Ctrl + O를 눌러 파일을 저장 한 다음 Ctrl + X를 눌러 Nano를 닫습니다. Sudo는 이제 항상 암호를 묻습니다..
암호 시간 초과 변경
다른 암호 시간 제한을 설정하려면 30 분과 같이 긴 암호 또는 5 분처럼 짧은 암호를 설정하십시오. 위의 단계를 따르되 timestamp_timeout에 다른 값을 사용하십시오. 숫자는 sudo가 암호를 기억할 시간 (분)에 해당합니다. sudo가 5 분 동안 암호를 기억하게하려면 다음 줄을 추가하십시오 :
기본값 timestamp_timeout = 5
암호를 요구하지 마십시오.
sudo는 암호를 묻지 않을 수도 있습니다 - 로그인 한 상태에서 sudo를 접두사로 사용하는 모든 명령은 루트 권한으로 실행됩니다. 이렇게하려면 sudoers 파일에 다음 줄을 추가하십시오. 여기서 username은 사용자 이름입니다.
사용자 이름 ALL = (ALL) NOPASSWD : ALL
또한 % sudo 라인을 변경할 수 있습니다. 즉, sudo 그룹 (관리자 사용자라고도 함)의 모든 사용자가 sudo를 사용하여 모든 관리자 사용자가 비밀번호를 요구하지 않도록 설정할 수 있습니다.
% sudo ALL = (ALL : ALL) NOPASSWD : ALL
암호없이 특정 명령 실행
sudo로 실행할 때 암호를 요구하지 않는 특정 명령을 지정할 수도 있습니다. 위의 NOPASSWD 다음에 "ALL"을 사용하는 대신 명령 위치를 지정하십시오. 예를 들어 다음 줄에서는 사용자 계정이 암호없이 apt-get 및 shutdown 명령을 실행할 수 있습니다.
사용자 이름 ALL = (ALL) NOPASSWD : / usr / bin / apt-get, / sbin / shutdown
이것은 스크립트에서 sudo로 특정 명령을 실행할 때 특히 유용 할 수 있습니다.
사용자가 특정 명령 만 실행하도록 허용
특정 명령을 블랙리스트에 올릴 수는 있지만 sudo를 사용하여 사용자가 명령을 실행할 수는 없지만 매우 효과적이지는 않습니다. 예를 들어, 사용자 계정이 sudo로 shutdown 명령을 실행할 수 없도록 지정할 수 있습니다. 그러나 해당 사용자 계정은 sudo로 cp 명령을 실행하고 shutdown 명령의 사본을 작성한 다음 사본을 사용하여 시스템을 종료 할 수 있습니다.
보다 효과적인 방법은 특정 명령을 허용 목록으로 만드는 것입니다. 예를 들어, 표준 사용자 계정에 apt-get 및 shutdown 명령을 사용할 수있는 권한을 부여 할 수 있습니다. 이렇게하려면 다음 줄을 추가하십시오. 여기서 standarduser는 사용자의 사용자 이름입니다.
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
다음 명령은 사용자가 sudo로 실행할 수있는 명령을 알려줍니다.
sudo -U 표준 사용자 -l
Sudo 액세스 로깅
다음 행을 추가하여 모든 sudo 액세스를 기록 할 수 있습니다. / var / log / sudo는 예제 일뿐입니다. 원하는 로그 파일 위치를 사용할 수 있습니다..
기본값 logfile = / var / log / sudo
다음과 같은 명령으로 로그 파일의 내용을 봅니다.
sudo cat / var / log / sudo
사용자가 제한없는 sudo 액세스 권한을 갖고있는 경우 해당 사용자는이 파일의 내용을 삭제하거나 수정할 수 있습니다. 또한 사용자는 sudo를 사용하여 루트 프롬프트에 액세스하고 기록되지 않는 명령을 실행할 수 있습니다. 로깅 기능은 시스템 명령의 하위 집합에 대한 액세스가 제한된 사용자 계정과 함께 사용할 때 가장 유용합니다.