문맥

문맥

문맥

나는 공개적으로 랩톱에서 작업하는 것을 좋아하지만 비밀번호 없이 sudo를 사용하는 것도 좋아합니다. 내가 지금 알고 있는 바에 따르면, NOPASSWD내 파일에 있는 옵션을 사용하겠지만 sudoers, 물론 누구나 원하는 대로 sudo를 사용할 수 있습니다.

중요한 아이디어내가 생각한 것잠금 프로그램이 있습니다. 그러나 나는 (1) 더 빠르고, (2) 비밀번호를 입력하는 것보다 쉽고, (3) 사람들이 내 콘텐츠에 액세스하거나 나쁜 짓을 하는 것에 대해 신경 쓰지 않기 때문에 플래시 드라이브를 사용하는 것을 선호합니다(Sudo에만 사용). : 노트북은 다른 사람들 주변에 노출될 것이고, 내 노트북에 있는 유일한 지적 재산은 아주 기본적인 Angular 프로젝트뿐입니다.

또한 나와 다른 사람들은 X 또는 Wayland 환경을 실행하지 않는 컴퓨터에서 sudo 남용을 방지하고 싶을 수도 있습니다. 현재 작업에는 최신 웹 브라우저가 필요하지만 X를 사용하지 않고 멀티플렉서만 사용할 기회가 있다면 그렇게 할 것입니다. 내 노트북은 약간 오래되고 느립니다.

질문

제가 하고 싶은 일은 키 파일을 플래시 드라이브에 넣고 노트북 앞에 있을 때 플래시 드라이브를 연결하고 노트북에서 자리를 비울 때 꺼내는 것입니다.

따라서 이 질문에서 파생된 세 가지 질문은 다음과 같습니다.

  1. sudo를 사용하여 이를 달성할 수 있습니까?
  2. 그렇지 않다면 이를 수행하는 프로그램을 작성할 수 있습니까?
  3. 그렇다면 이 프로그램을 작성하는 데 가장 적합한 언어는 무엇입니까?

(4. [아마도 관련 없는 질문] 이 패키지는 독립형일 수 있습니까, 아니면 sudo의 포크여야 합니까?)

노트

관련이 있는 경우 내 설정은 데스크톱 환경이 아닌 bspwm이 있는 Arch Linux입니다. 내 작업의 대부분은 urxvt/vim에서의 웹 개발과 Chrome으로 확인하는 것입니다.

답변1

해당 옵션 자체가 원하는 대로 작동하지 않는 이유를 잘 모르겠습니다 NOPASSWD. 하지만 플래시 드라이브가 필요하도록 하려면 원하는 대로 거의 작동할 수 있는 것을 생각할 수 있습니다.

이는 해결 방법에 가깝지만 예를 들어 로컬 관리 사용자를 만들고 superuser해당 사용자에게 비밀번호 없는 sudo권한을 부여할 수 있습니다. 즉, 파일에 다음 줄을 추가합니다 /etc/sudoers.

superuser ALL=(ALL) NOPASSWD:ALL

그런 다음 비밀번호 로그인을 비활성화하고 해당 사용자에 대한 키 전용 SSH 인증을 구성할 수 있습니다. 즉, passwd -l superuser다음 스탠자를 실행하고 에 추가할 수 있습니다 /etc/ssh/sshd_config.

Match user superuser
PasswordAuthentication no

그런 다음 이 사용자에 대한 SSH 키 쌍을 만듭니다. 공개 키를 플래시 드라이브에 추가 /home/superuser/.ssh/authorized_keys하고 개인 키를 플래시 드라이브에 배치합니다. 그런 다음 계정을 사용하려면 superuser플래시 드라이브를 삽입하고 superuser개인 키를 사용하여 계정에 SSH로 접속하세요. 바라보다! 이제 sudo사용자를 위한 비밀번호 없는 설정이 완료되었습니다. 물론 작업이 끝나면 셸 세션을 종료해야 합니다. 플래시 드라이브를 분리하는 것만으로는 충분하지 않습니다. 나는 당신이 또한 설정할 수 있다고 가정하지만사전 명령 후크개인 키를 확인하고 개인 키가 존재하지 않거나 유효하지 않은 경우 자동으로 종료됩니다.

관련 정보