리눅스에서 비밀번호를 변경하지 않는 방법

리눅스에서 비밀번호를 변경하지 않는 방법

가끔 사용자의 비밀번호를 변경하고 싶을 때 비밀번호를 입력 passwd하지만 루트로 로그인하여 결국 루트 비밀번호를 변경하게 됩니다. 나는 우분투에서 이것을 하고 싶지 않습니다(왜냐하면 나는 그 신비한 분위기를 선호하기 때문입니다).

프롬프트를 종료할 수 있는 숨겨진 키 조합이 있습니까?

Enter new UNIX password:

ctrl-기다려도 c소용이 없습니다.

나는 Ubuntu, SLeS 및 Centos에서 이것을 발견했다고 생각합니다.

지금까지 나는 단지 다른 tty로 가서 passwd를 죽이는 것뿐이었다(이것이 나쁜 생각인가?)

답변1

IporSircer가 의견에서 제안한 것처럼 하나의 비밀번호를 입력한 다음 확인 메시지가 표시되면 다른 비밀번호를 입력할 수 있습니다. 귀하의 접근 방식에는 아무런 문제가 없습니다. passwd귀하가 비밀번호를 입력하고 확인할 때까지 실제로 비밀번호 데이터베이스 업데이트가 시작되지 않습니다.~해야 한다깨지지 않도록 원자적으로 수행하십시오 kill.)

적어도 내 시스템에서는 Enter 키만 누르면 됩니다. 빈 루트 비밀번호는 거부됩니다(그러나 이는 덜 안전하며 일부 시스템에서는 이를 허용할 수 있습니다).

주목해야 할 다른 두 가지 사항: 첫째, 루트 프롬프트와 사용자 프롬프트는 기본적으로 다르게 보입니다. 루트 프롬프트를 사용 #하십시오 $. 이는 루트로 로그인했음을 한눈에 알 수 있도록 의도된 것입니다. 또한, 이런 실수를 많이 한다면 루트로 너무 자주 로그인하는 것처럼 들립니다. 필요한 경우에만 루트로 로그인하거나 sudo등을 사용하는 것을 고려하십시오. Mark Plotnick이 주석에서 제안한 것처럼 루트 쉘에 passwd 기능을 추가하여 루트 비밀번호가 실수로 변경되는 것을 방지할 수도 있습니다 function passwd() { if [ $# = 0 ]; then echo Usage: passwd username; else command passwd "$@"; fi }. (예를 들어 .bashrc대화형 쉘인지 확인한 후 루트에 추가하면 됩니다)

둘째, Ubuntu의 초기 루트 비밀번호는 신비한 것이 아니며 단지 존재하지 않을 뿐입니다(비밀번호 해시 필드는 비밀번호와 일치할 수 없는 값으로 설정되어 있습니다). usermod -L root상태를 사용하거나 복원할 수 있어야 합니다 passwd -l root.

관련 정보