Linux 배포판에서 비밀번호 없는 sudo 설정

Linux 배포판에서 비밀번호 없는 sudo 설정

최근 Fedora 28 및 Ubuntu 18.04 시스템을 설정했으며 sudo암호를 입력하지 않고 명령을 실행할 수 있도록 두 시스템 모두에서 기본 사용자 계정을 구성하고 싶습니다.

해당 시스템에서 이 작업을 어떻게 수행합니까?

답변1

Fedora 시스템에서 호출되는 특수 Unix 그룹을 사용하는 경우 wheel이는 매우 간단합니다 . 당신이 해야 할 일은 다음과 같습니다:

  1. wheel그룹 에 기본 사용자 추가

    $ sudo gpasswd -a <primary account> wheel
    
  2. %wheel그룹에 대해 NOPASSWD를 활성화합니다./etc/sudoers

    $ sudo visudo
    

    그런 다음 다음 줄을 주석 처리하세요.

    ## Allows people in group wheel to run all commands
    # %wheel        ALL=(ALL)       ALL
    

    그리고 다음 줄의 주석을 해제하세요.

    ## Same thing without a password
    %wheel  ALL=(ALL)       NOPASSWD: ALL
    

    ShiftZ이 파일을 저장하려면 ++를 사용하십시오 Z.

  3. 로그아웃했다가 다시 로그인하세요.

    노트:데스크탑과 해당 최상위 쉘을 다시 실행하려면 마지막 단계가 필수입니다. 이는 기본 계정이 이제 wheelUnix 그룹의 구성원임을 보여줍니다.

답변2

전통적으로 Debian/Ubuntu/Mint/Kali/Antix와 같은 Debian 기반 배포판에서 sudo의 기본 그룹은 입니다 sudo.

따라서 sudoDebian 기반 시스템에 비밀번호가 없는 사용자를 추가하려면 다음 단계를 따르세요.

  1. 설치하다sudo

    sudo데비안에서는 설치 옵션에 따라 일반적 으로 기본적으로 설치가 끝나지 않습니다 .

    패키지가 설치되지 않은 경우 sudo(예: 패키지가 없는 경우 /etc/sudoers) 루트로 실행합니다.

    # apt install sudo
    
  2. sudo 그룹에 사용자 추가

    사용자가 아직 그룹에 없으면 해당 사용자를 sudo 그룹에 추가합니다(Ubuntu 및 그 파생 제품은 설치 중에 생성된 사용자를 sudo 그룹에 자동으로 추가합니다).

    첫 번째 sudo 사용자를 설정할 때 첫 번째 사용자를 다음과 같이 설정해야 합니다 root.

    # gpasswd -a <primary account> sudo
    

    이미 사용자가 있는 경우 sudo보안을 강화하기 위해 해당 사용자를 통해 sudo 그룹에 다른 사용자를 설정하는 것이 좋습니다.

    $ sudo gpasswd -a <primary account> sudo
    
  3. /etc/sudoersNOPASSWD 지시문을 추가하도록 수정되었습니다.

    /etc/sudoers그런 다음 다음을 사용하여 그룹 sudo의 기본 행을 편집할 수 있습니다 .

    $ sudo visudo
    

    다음과 같이 변경합니다.

    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    

    도착하다:

    # Allow members of group sudo to execute any command, no password
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. 로그아웃했다가 다시 로그인하세요.

    시스템에 로그인한 경우 대상 사용자는 로그아웃한 후 로그인해야 sudo이 그룹에 속한 사용자의 변경 사항이 적용됩니다.

노트:Debian에서 그룹은 RedHat/SuSE 기반 배포판에서와 같이 명령과 함께 사용하는 대신 wheelPAM에서 su그룹 사용을 제한하는 데 자주 사용됩니다.sudo

전통적으로 Debian 기반 배포판에서는 그룹을 sudo사용하여 sudo명령을 실행합니다.

답변3

대부분의 배포판에는 다음 줄이 있습니다 /etc/sudoers/.

#includedir /etc/sudoers.d

따라서 사용자를 추가하는 간단한 방법은 /etc/sudoers.d/디렉터리에 적절한 파일을 만드는 것입니다. 저는 일반적으로 추가하려는 사용자의 이름을 지정합니다.

add_sudoer() {
    if ! test -n "$1"
    then echo "Usage: $0 <user>" >&2; return
    fi

    printf >"/etc/sudoers.d/$1" '%s    ALL= NOPASSWD: ALL\n' "$1"
}

Defaults:%s !lecture, !authenticate\n파일에 및/또는 다른 옵션을 추가 할 수도 있습니다 .

답변4

아니면 파이썬을 사용할 수도 있습니다푸퉈팩.

설치하다:

user$ sudo -H pip3 install pudo # you can install using pip2 also

다음은 Python 자동화에서 루트 권한으로 명령을 실행하기 위한 코드 조각입니다.

user$ python3 # or python2
>>> import pudo
>>> (ret, out) = pudo.run(('ls', '/root')) # or pudo.run('ls /root')
>>> print(ret)
>>> 0
>>> print(out)
>>> b'Desktop\nDownloads\nPictures\nMusic\n'

아래는 루트 권한으로 명령을 실행하는 cmd 예입니다.

user$ pudo ls /root
Desktop  Downloads  Pictures  Music

관련 정보