GUI, 셸 또는 SSH를 통해 내 계정에 로그인 할 때 사용하는 암호와 다른 암호를 사용하여 사용자를 sudo 상태로 올리려고합니다. 이것이 가능한가?
편집 : 루트 암호를 설정하면 루트로 로그인 할 수 있기 때문에 좋은 방법이 아닙니다. 시스템 전체의 루트 암호보다는 사용자 별 sudo 암호를 선호합니다.
GUI, 셸 또는 SSH를 통해 내 계정에 로그인 할 때 사용하는 암호와 다른 암호를 사용하여 사용자를 sudo 상태로 올리려고합니다. 이것이 가능한가?
편집 : 루트 암호를 설정하면 루트로 로그인 할 수 있기 때문에 좋은 방법이 아닙니다. 시스템 전체의 루트 암호보다는 사용자 별 sudo 암호를 선호합니다.
답변:
남자 sudoers에서 :
rootpw If set, sudo will prompt for the root password instead of the
password of the invoking user. This flag is off by default.
runaspw If set, sudo will prompt for the password of the user defined
by the runas_default option (defaults to root) instead of the
password of the invoking user. This flag is off by default.
또는 ssh를 통한 비밀번호 기반 로그인을 완전히 금지 할 수 있습니다. 원격 로그인을 위해 암호문 암호화 키가 필요합니다. 그런 다음 sudo의 비밀번호를 자유롭게 사용할 수 있습니다. 관련 옵션은
남자 sshd_config에서
PasswordAuthentication
Specifies whether password authentication is allowed. The default
is “yes”.
sudoers man 대신 이것을 찾고 있습니까?
targetpw If set, sudo will prompt for the password of the user
specified by the -u option (defaults to root) instead of the
password of the invoking user.
SSH를 통해 암호 로그온을 비활성화하고 암호를 추측하기 어려운 위치에서 공개 키 로그온을 허용하는 방법은 무엇입니까? 그러면 로컬 비밀번호가 더 짧아지고 sudo가 사용할 수 있습니다.
그 외에는 /etc/pam.d/sudo
다른 (또는 추가) 모듈을 사용 하도록 구성 pam_dialpass
해야합니다. 언뜻보기에 필요한 것을 허용 할 수 있습니다.
한 암호와 다른 암호를위한 LDAP 구성을 구성 할 수도 있습니다. 그것은 당신이 얼마나 많은 변화를주고 싶어하는지, 어떤 모듈을 사용할 수 있는지 등에 달려 있습니다.
솔루션 1 : newgrp
유스 케이스를 해결하는 간단한 방법 :NOPASSWD
은 그룹 및 그룹 passwd와 함께 사용 하는 것입니다.
sudoers에 줄을 추가하십시오 :
%rudo ALL=(ALL:ALL) NOPASSWD:ALL
비밀번호로 보호 된 그룹을 작성하십시오.
groupadd rudo
gpasswd rudo # Enter passwd
이제 권한이없는 사용자로 로그인하면 ( rudo
그룹 에없는 것으로 가정 ) 그룹에 로그인 rudo
하면 암호를 입력하라는 메시지가 표시됩니다.
login user
newgrp rudo
이제 sudo
그룹에 로그인 한 상태에서 비밀번호없이 실행할 수 있습니다 .
해결 방법 2 : runaspw
더 나은, 아마도 더 안전한 방법이 사용을 할 수 있습니다 runaspw
. 옵션 runaspw
과 연결되어 runas_default
있으므로 해당 옵션도 추가해야합니다.
이미 기본 %sudo
그룹 항목 이 있다고 가정합니다 .
%sudo ALL=(ALL:ALL) ALL
sudoers 파일에 다음 행을 추가하십시오.
Defaults:%sudo runas_default=sudo
Defaults:%sudo runaspw
이제 sudo
비밀번호를 가진 새로운 사용자를 추가하십시오 :
useradd sudo -d /nonexistent -s /usr/sbin/nologin -MNr
passwd sudo
이제 sudo 그룹 사용자에게 sudo 사용자의 암호를 입력하라는 메시지가 표시되지만 sudo 그룹의 사용자 만 sudo를 수행 할 수 있습니다 (위의 그룹 솔루션과 달리 그룹의 모든 사람 또는 그룹 passwd가있는 sudo가 가능).
사소한 문제는 이제 기본 runas 사용자 sudo
이므로 root로 sudo하려면 root를 명시 적으로 지정해야합니다.
sudo -u root <cmd>
그러나 별칭 ( alias sudo='sudo -u root'
) 또는 간접 sudo 명령 을 정의하기에 충분합니다 .