사용자가 입력한 비밀번호를 파일(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를 사용하여 컴퓨터를 재부팅하고 파일을 가져올 수 있습니다. 아직 하나 있어요긴다른 가능성의 목록입니다. 이것은아니요안전한. 일상적인 용도로는 충분할 수 있지만 심각한 작업에는 적합하지 않습니다. 그리고 "중요하지 않다고 생각합니다"만으로는 충분하지 않다는 점을 고려하여 부여된 권한의 사용 체인, 동일한 비밀번호(또는 동일한 방식으로 구성된 비밀번호)를 사용하는 다른 사이트 등을 고려해야 합니다.