우리의 스테이징 서버는 Amazon EC2 인스턴스에 있습니다. SSH로 접속하면 비밀번호를 입력하지 않고도 sudo
명령을 실행할 수 있습니다.sudo su
어쨌든 사용자가 로 명령을 시도할 때 비밀번호를 요구할 수 있습니까 sudo
? 액세스가 필요한 타사 개발자가 있는데 이들에 대한 루트 권한을 제한하고 싶습니다.
비밀번호 설정을 시도했지만 sudo passwd
여전히 비밀번호가 필요하지 않습니다.
~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
~$ sudo su
/home/ubuntu# exit
~$ sudo passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
~$ sudo su
/home/ubuntu#
업데이트
다음을 실행하고 추가하여 비밀번호를 요구해 보았습니다 sudo visudo
.
ubuntu ALL=(ALL) ALL
이제 비밀번호를 묻는 메시지가 표시되지만 설정한 비밀번호가 작동하지 않습니다! 다행히 이 작업을 시작하기 전에 AMI를 생성했습니다.
ubuntu
사용자 에 대한 비밀번호가 설정되어 있지 않아서 문제가 될 수 있습니다 sudo passwd ubuntu
. sudo passwd root
.
마지막 해결책
명확히 하자면, 내 실수는 잘못된 사용자의 비밀번호를 설정한 것입니다.뿌리내가 그걸 설정했어야 했는데우분투와 함께:
~$ sudo passwd ubuntu
그리고 업데이트 중/etc/sudoers그래서우분투사용자는 명령을 실행할 때 비밀번호를 제공해야 합니다 sudo
. 이 파일을 편집하려면 다음을 실행 sudo visudo
하고 추가해야 합니다.
ubuntu ALL=(ALL) ALL
답변1
다음과 같은 줄이 있다면
ALL ALL=(ALL) NOPASSWD:ALL
/etc/sudoers에서 이렇게 하면 모든 사용자가 비밀번호를 묻는 메시지 없이 sudo를 수행할 수 있습니다. 이 줄의 주석을 해제하면 sudo를 사용할 수 있는 사용자를 지정해야 합니다. 예를 들어
myuser ALL=(ALL) ALL
답변2
Sudo는 자격 증명을 캐시하므로 짧은 기간 내에 여러 번 사용할 경우 처음에만 비밀번호를 묻습니다.
매뉴얼 페이지에는 다음과 같이 나와 있습니다.
timestamp_timeout
Number of minutes that can elapse before sudo will
ask for a passwd again. The timeout may include a
fractional component if minute granularity is
insufficient, for example 2.5. The default is 5.
Set this to 0 to always prompt for a password. If
set to a value less than 0 the user's time stamp
will never expire. This can be used to allow users
to create or delete their own time stamps via "sudo
-v" and "sudo -k" respectively.
따라서 항상 비밀번호를 요청하려면 간단히 입력하여 sudo visudo
파일을 편집하면 됩니다. 다음 줄을 추가하세요.
Defaults timestamp_timeout=0
모든 sudo 명령에 비밀번호를 입력해야 합니다.