![Linux Mint: 비밀번호를 입력하지 않고 단축키를 통해 루트 권한으로 스크립트를 실행하는 방법은 무엇입니까?](https://linux55.com/image/183168/Linux%20Mint%3A%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EB%A5%BC%20%EC%9E%85%EB%A0%A5%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EB%8B%A8%EC%B6%95%ED%82%A4%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%EB%A3%A8%ED%8A%B8%20%EA%B6%8C%ED%95%9C%EC%9C%BC%EB%A1%9C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
저는 Linux Mint 20을 사용하고 있으며 단축키를 사용하여 루트 권한으로 스크립트를 실행하고 싶습니다. 루트 비밀번호를 입력하지 않고도 이 작업을 수행하고 싶습니다. 이를 위해 /etc/sudoers.d에 스크립트를 등록했습니다.
/etc/sudoers.d/myscript
username ALL=(ALL) NOPASSWD: /home/xoric/scripts/myscript.sh
테스트 목적으로 이 스크립트는 두 개의 폴더만 생성합니다. 첫 번째에는 루트 권한이 필요하지만 두 번째에는 필요하지 않습니다.
/home/xoric/scripts/myscript.sh
#!/bin/bash
mkdir /etc/test1 #requires root
mkdir /home/xoric/test2 #does not require root
다음으로 이 스크립트를 실행하는 사용자 정의 바로 가기 키를 만듭니다. Ctrl+Alt+W 키 조합을 등록했습니다.
첫 시도
이는 테스트 목적으로만 사용됩니다. Ctrl+Alt+W를 누르면 두 번째 폴더가 생성됩니다. 첫 번째 폴더는 생성되지 않습니다(루트 권한 필요). 이는 루트 권한 없이 스크립트를 실행하고 있기 때문에 예상되는 현상입니다.
두 번째 시도
Ctrl+Alt+W를 눌러도 아무 일도 일어나지 않습니다. 두 폴더 모두 생성되지 않습니다. 즉, 스크립트가 실행되지 않습니다. 내 기대는 스크립트가 루트 권한으로 실행되고 비밀번호 프롬프트 없이 실행된다는 것입니다(sudoers.d에 등록되어 있으므로). 그러나 이는 사실이 아니다.
세 번째 시도
Ctrl+Alt+W를 누르면 터미널이 열리고 루트 비밀번호를 묻습니다. 이렇게 하면 스크립트가 실행되고 두 개의 폴더가 생성됩니다. 이것이 내가 달성하고 싶은 것이지만 비밀번호를 입력하지 않고 하는 것입니다.
Linux(Mint)를 아는 사람 중 두 번째 시도가 왜 작동하지 않는지 더 잘 아는 사람이 있습니까? 리눅스 민트는 루트 권한 단축키를 허용하지 않나요? 아니면 sudoers.d에 스크립트를 등록할 때 실수를 한 걸까요? 미리 감사드립니다.
답변1
친구의 도움으로 마침내 문제를 발견했습니다. sudoers.d의 내 항목이 손상되었습니다. 실제로는 실제 사용자 이름 "xoric" 대신 "username"이라는 문자열이 포함되어 있습니다. 이는 일반적인 복사 및 붙여넣기 오류입니다.
해당 항목을 수정한 후 두 번째 시도는 제대로 작동했습니다. 이제 Ctrl+Alt+W를 누르면 두 개의 폴더가 생성됩니다(스크립트는 루트 권한으로 실행되며 비밀번호 프롬프트가 필요하지 않음).