Linux에서 특정 cli 명령에 대해 비밀번호를 설정하는 데 문제가 있습니다.

Linux에서 특정 cli 명령에 대해 비밀번호를 설정하는 데 문제가 있습니다.

컴퓨터 환경

OS: 아치 리눅스 - Manjaro

쉘: zsh

목표

다음 명령을 활성화하려고 합니다.비밀번호 입력을 요구하지 않으려면내 기본 사용자 계정의 경우:ab

sudo systemctl stop NetworkManager
sudo systemctl start NetworkManager

시도 실패

나는 온라인 도움말 중 일부를 읽고 따르려고 노력했으며 다음 코드를 사용하여 sudo -i파일을 생성하여 지금까지 얻었습니다 ./etc/sudoers.d/ab

ab ALL=(root) NOPASSWD: sudo systemctl stop NetworkManager
ALL=(root) NOPASSWD: sudo systemctl start NetworkManager

문제 해결 시도

나는 성공하지 못한 채 다음과 같은 편집을 시도했습니다.

  • root로 변경ALL
  • systemctl로 변경/bin/systemctl
  • 삭제 중sudo

편집하고 저장할 때마다 cat /etc/sudoers.d/ab변경 사항이 적용되었는지 확인하고 항상 새 터미널을 열어 명령을 시도합니다. 매번 암호 입력을 요청하는 동안 다음 조합을 시도합니다.

sudo systemctl start NetworkManager
sudo /bin/systemctl start NetworkManager
systemctl start NetworkManager
/bin/systemctl start NetworkManager

질문

새 터미널을 시작하는 것으로 충분합니까, 아니면 변경 사항을 시작하려면 전체 시스템을 다시 시작해야 합니까?

아니면 또 다른 단계를 잊어버린 걸까요?

답변1

해당 줄은 /etc/sudoers.d/ab아마도 다음과 같을 것입니다:

ab ALL=(root) NOPASSWD: /bin/systemctl stop NetworkManager
ab ALL=(root) NOPASSWD: /bin/systemctl start NetworkManager

일반적으로 로컬에 저장된 sudoers.d 파일(LDAP 서버에 저장된 sudoers 정보와 같은 고급 파일은 없음) 을 사용하면 sudosudoers 파일에 대한 모든 변경 사항이 로그아웃/로그인하거나 새 터미널을 시작할 필요 없이 즉시 적용됩니다. 저것.

일반적으로 이를 사용하려는 시도의 성공과 실패를 모두 기록하므로 에서 보낸 메시지에 대해서는 적절한 로그 파일(배포에 따라 일반적으로 또는 ) sudo을 살펴봐야 합니다 . 이러한 메시지에는 사용자가 를 통해 실행하려고 하는 명령이 포함됩니다 . 이를 허용하려면 sudoers 파일에 해당 명령을 작성해야 합니다./var/log/secure/var/log/auth.logsudosudo

관련 정보