사용자가 입력한 비밀번호를 파일에 안전하게 저장하는 방법은 무엇입니까?

사용자가 입력한 비밀번호를 파일에 안전하게 저장하는 방법은 무엇입니까?

사용자가 입력한 비밀번호를 파일(Unix 또는 Expect)에 넣을 수 있는 방법이 있습니까?

read -s -p "enter password" input 
echo $input > file

위 코드는 안전한가요?

내 예상 스크립트에서 비밀번호 입력으로 이 파일을 사용하고 싶습니다.

왜냐하면 제가 이것을 시도했고 이 예상 코드를 사용하여 화면에 비밀번호가 잠시 표시되는 것을 볼 수 있기 때문입니다.

set timeout 30
stty -echo
send_user -- "Password for $username :"
expect_user -re "(.*)\n"
set timeout .000000001
set timeout 30
send_user "\n"
set timeout 30
set password $expect_out(1,string)
send -- "$password\r"

답변1

파일을 읽을 수 있는 사람은 누구나 비밀번호를 알 수 있습니다. 여기에는 root파일을 소유한 사용자(또는 파일을 가장하는 사람) 및 (권한에 따라) 그룹의 사용자 또는 모든 사람이 포함됩니다. 몇 분만 투자하면 누구나 LiveCD/LiveUSB를 사용하여 컴퓨터를 재부팅하고 파일을 가져올 수 있습니다. 아직 하나 있어요다른 가능성의 목록입니다. 이것은아니요안전한. 일상적인 용도로는 충분할 수 있지만 심각한 작업에는 적합하지 않습니다. 그리고 "중요하지 않다고 생각합니다"만으로는 충분하지 않다는 점을 고려하여 부여된 권한의 사용 체인, 동일한 비밀번호(또는 동일한 방식으로 구성된 비밀번호)를 사용하는 다른 사이트 등을 고려해야 합니다.

관련 정보