내가 원하는 것은 비밀번호를 다시 입력할 필요 없이 즉시 로그인하여 sudo 명령을 실행할 수 있는 것입니다. 로그인하고 권한 있는 명령을 실행해야 할 때 비밀번호를 연속으로 두 번 입력하는 것은 매우 중복됩니다. 보안 위험을 이해합니다. 한동안 자리를 비운 후 비밀번호를 다시 입력해야 하지만 기본적으로 로그인하면 이를 방지하기 위해 이 세션이 자동으로 설정되어야 하는 것 같지만 어떤 이유에서는 그렇지 않습니다.
알아요이러한 솔루션하지만 모두 gdm에 의존하고 있어서 초보자만을 위해 LightDM을 설치한 것 같습니다. 또한 저는 GUI 인터페이스에 로그인하지 않으며, 제가 아는 한 콘솔은 애초에 로그인을 관리하는 데 그 어떤 것도 사용하지 않습니다.
중요한 경우 VMware에서 Ubuntu 13.04를 사용하고 있습니다. KDE가 설치되어 있지만 특별한 이유가 없으면 일반적으로 로드하지 않습니다.
이상적인 솔루션은 SSH 로그인에도 작동합니다.
고쳐 쓰다:
Gilles의 제안에 따라 이제 다음과 같은 작업 설정이 생겼습니다.
~ tail -n1 /etc/pam.d/sshd
session optional pam_exec.so seteuid /usr/local/sbin/update_sudo_ticket
그리고(확신하는sudo visudo
sudoers 편집 용 )
~ sudo head -n12 /etc/sudoers|tail -n1
Defaults !tty_tickets
그리고 새로운 스크립트를 생성하세요
~ cat /usr/local/sbin/update_sudo_ticket
#!/bin/sh
touch -c "/var/lib/sudo/$PAM_USER" 2>/dev/null
실행 가능하게 만듭니다( sudo chmod u=+rwx,g=+rx-w,o=-rwx /usr/local/sbin/update_sudo_ticket
).
~ ls -la /usr/local/sbin/update_sudo_ticket
-rwxr-x--- 1 root root 57 Sep 21 20:52 /usr/local/sbin/update_sudo_ticket
답변1
당신은 그것을 사용할 수 있습니다pam_exec
외부 명령을 호출합니다. pam_exec
로그인 서비스를 호출하는 사용자가 제어하는 환경에서 실행되므로 거기에서 호출하지 말고 예측 가능한 환경(예: 또는 ) su
이 있는 서비스에서만 호출하세요 .sshd
login
sudo
사용자의 타임스탬프를 업데이트하는 옵션은 없으며 삭제만 가능합니다. 따라서 타임스탬프를 수동으로 업데이트해야 합니다. 해당 옵션을 사용하지 않는 경우 tty_tickets
(별로 유용하지 않음) 디렉터리의 타임스탬프를 업데이트하기만 하면 됩니다.
session optional pam_exec.so seteuid /usr/local/sbin/update_sudo_ticket
/usr/local/sbin/update_sudo_ticket
비슷한 것을 어디서 찾을 수 있나요?
#!/bin/sh
touch -c "/var/lib/sudo/$PAM_USER" 2>/dev/null
답변2
visudo를 사용하여 /etc/sudoers 파일을 편집하고 다음 줄을 추가합니다.
%wheel ALL=(ALL) NOPASSWD: ALL
그런 다음 사용자가 그룹에 속해 있는지 확인하십시오 wheel
.
usermod -a -G wheel USERNAME_HERE