기계적 인조 인간

리눅스에서 Sudo 명령

sudo - выполнение от имени root

sudo - выполнение от имени root

차례:

Anonim

sudo 명령을 사용하면 기본적으로 루트 사용자 인 다른 사용자로 프로그램을 실행할 수 있습니다. 명령 행에서 많은 시간을 보낸다면 sudo는 자주 사용하는 명령 중 하나입니다.

루트 암호로 알지 않고도 개별 사용자에게 제한된 관리 권한을 부여 할 수 있으므로 root로 로그인하는 대신 sudo를 사용하는 것이 더 안전합니다.

이 튜토리얼에서는 sudo 명령을 사용하는 방법을 설명합니다.

Sudo 설치 (sudo 명령을 찾을 수 없음)

sudo 패키지는 대부분의 Linux 배포판에 사전 설치되어 있습니다.

시스템에 sudo 패키지가 설치되어 있는지 확인하려면 콘솔을 열고 sudo Enter Enter 누르 Enter . sudo를 설치 한 경우 시스템에 간단한 도움말 메시지가 표시되고, 그렇지 않으면 sudo command not found 과 같은 메시지가 표시 sudo command not found .

sudo가 설치되어 있지 않으면 배포판의 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.

우분투와 데비안에서 Sudo 설치

apt install sudo

CentOS 및 Fedora에 Sudo 설치

yum install sudo

Sudoers에 사용자 추가

sudo 액세스 권한을 부여하는 대부분의 Linux 배포판에서 기본적으로 sudoers 파일에 정의 된 sudo 그룹에 사용자를 추가하는 것만 큼 간단합니다. 이 그룹의 구성원은 모든 명령을 루트로 실행할 수 있습니다. 그룹 이름은 배포마다 다를 수 있습니다.

CentOS 및 Fedora와 같은 RedHat 기반 배포판에서 sudo 그룹의 이름은 wheel 입니다. 사용자를 그룹에 추가하려면 다음을 실행하십시오.

usermod -aG wheel username

데비안, 우분투 및 그 파생물에서 sudo 그룹의 구성원에게는 sudo 액세스 권한이 부여됩니다.

usermod -aG sudo username

보안상의 이유로 우분투의 루트 사용자 계정은 기본적으로 비활성화되어 있으며 sudo를 사용하여 시스템 관리 작업을 수행하는 것이 좋습니다. Ubuntu 설치 프로그램에서 생성 한 초기 사용자는 이미 sudo 그룹의 구성원이므로 Ubuntu를 실행중인 경우 로그인 한 사용자에게 이미 sudo 권한이 부여 된 것입니다.

예를 들어, 사용자 linuxize mkdir 명령 만 sudo로 실행할 수있게하려면 linuxize 을 입력하십시오.

sudo visudo

다음 줄을 추가하십시오.

linuxize ALL=/bin/mkdir

대부분의 시스템에서 visudo 명령은 vim 텍스트 편집기로 /etc/sudoers 파일을 엽니 다. vim에 대한 경험이 없으면 파일을 저장하고 vim 편집기를 종료하는 방법에 대한 기사를 확인하십시오.

사용자가 비밀번호를 입력하지 않고 sudo 명령을 실행하도록 허용 할 수도 있습니다.

linuxize ALL=(ALL) NOPASSWD: ALL

Sudo 사용법

sudo 명령의 구문은 다음과 같습니다.

sudo OPTION.. COMMAND

sudo 명령에는 동작을 제어하는 ​​많은 옵션이 있지만 일반적으로 sudo 는 옵션없이 가장 기본적인 형태로 사용됩니다.

sudo를 사용하려면 간단히 sudo 명령을 접두어로 사용하십시오.

sudo command

여기서 command 는 sudo를 사용하려는 명령입니다.

Sudo는 /etc/sudoers 파일을 읽고 호출 사용자에게 sudo 평가가 부여되는지 확인합니다. 세션에서 sudo를 처음 사용하면 사용자 비밀번호를 입력하라는 프롬프트가 표시되고 명령이 root로 실행됩니다.

예를 들어, /root 디렉토리에있는 모든 파일을 나열하려면 다음을 사용하십시오.

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

비밀번호 시간 초과

기본적으로 sudo는 5 분 동안 sudo를 사용하지 않으면 비밀번호를 다시 입력하라는 메시지를 표시합니다. sudoers 파일을 편집하여 기본 시간 종료를 변경할 수 있습니다. visudo 파일을여십시오:

sudo visudo

아래 줄을 추가하여 기본 시간 초과를 설정합니다. 여기서 10 은 분 단위로 지정된 시간 초과입니다.

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

루트 이외의 사용자로 명령 실행

sudo 가 일반 사용자에게 루트 권한을 제공하는 데만 사용된다는 잘못된 인식이 있습니다. 실제로 sudo 를 사용하여 모든 사용자로 명령을 실행할 수 있습니다.

-u 옵션을 사용하면 지정된 사용자로 명령을 실행할 수 있습니다.

다음 예에서는 sudo 를 사용하여 whoami 명령을 사용자“richard”로 실행합니다.

sudo -u richard whoami

whoami 명령은 명령을 실행하는 사용자의 이름을 인쇄합니다.

richard

Sudo로 리디렉션하는 방법

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

이는 출력의 리디렉션 " > "이 sudo로 지정된 사용자가 아니라 로그인 한 사용자에서 수행되기 때문에 발생합니다. sudo 명령이 호출되기 전에 경로 재 지정이 발생합니다.

한 가지 해결책은 sudo sh -c 를 사용하여 루트로 새 쉘을 호출하는 것입니다.

sudo sh -c 'echo "test" > /root/file.txt'

다른 옵션은 아래와 같이 일반 사용자로서 출력을 tee 명령에 파이프하는 것입니다.

echo "test" | sudo tee /root/file.txt

결론

sudo 명령을 사용하는 방법과 sudo 권한으로 새 사용자를 작성하는 방법을 배웠습니다.

터미널 sudo