여러 사용자가 사용하는 Linux 시스템이 있습니다. 나는 그 사람의 비밀번호를 모르고 알고 싶지도 않습니다.
SSH를 통해 일부 디렉토리와 계정 및 비밀번호를 대량 복사해야 했습니다.
내 생각은 백업을 만든 /etc/shadow
다음 각 사용자("tmppass"와 같이 내가 아는 비밀번호)에 대해 새 비밀번호로 수정하고 백업을 만든 다음 /etc/shadow
이전 파일로 바꾸는 것입니다.
그게 효과가 있을까요? 그렇다면 비밀번호는 어떻게 생성하나요? (비밀번호는 $1$xxxxxx/xxxxx와 유사합니다.)
답변1
파일을 백업한 /etc/shadow
후 다음 명령을 사용하여 사용자 비밀번호를 변경하십시오 passwd
.
섀도우 파일 백업:
sudo cp /etc/shadow /etc/shadow.bak
액세스하려는 사용자의 비밀번호를 변경합니다(예
testuser
: ).sudo passwd testuser
완료되면 백업에서 /etc/shadow 파일을 복원합니다.
sudo mv /etc/shadow.bak /etc/shadow
모든 비밀번호는 백업 당시의 비밀번호로 재설정되어야 합니다.
Fedora 19에서 사용 가능
알아채다요청하신 내용은 아니지만 다음을 통해 이러한 사용자에게 액세스하는 것이 더 쉬울 것입니다.
sudo -u testuser bash
이를 위해서는 해당 사용자로 인증하지 않고 sudo로만 인증하면 됩니다.
답변2
가능하기는 하지만 일을 수행하는 올바른 방법은 거의 없습니다. 나는 기껏해야 인생을 지나치게 복잡하게 만들고 있다고 강하게 의심합니다. 최악의 경우 추가 비용 없이 안전한 일을 할 수 있는데 안전하지 않은 일을 하고 있는 것입니다.
SSH를 사용하면 클라이언트가 비밀번호 대신 키를 사용하여 인증할 수 있습니다. 이는 자동화된 사용에 특히 유용합니다. 키 쌍을 생성하고, 비밀번호 없이 개인 키를 파일에 저장한 다음 이를 사용하여 원격 호스트에 연결합니다(미리 인증 목록에 공개 키를 추가했습니다). 비밀번호가 없는 개인 키 파일을 사용하면 계정에 로그인할 수 있으므로 주의하세요. 키로 실행할 수 있는 명령과 키를 허용하는 IP 주소를 제한하여 손상된 키 파일의 영향을 줄일 수 있습니다.
설명하는 시나리오에서 키를 사용하지 않는 타당한 이유를 생각할 수 없습니다.