Linux 서버에서 사용자의 비밀번호를 잊어 버린 경우 : 재설정하는 방법


17

서버에서 사용자 16040이 자신의 비밀번호를 잊어 버렸습니다. root의 비밀번호는 있지만 사용자 16040의 비밀번호는 없습니다. 비밀번호는 어떻게 재설정 할 수 있습니까?

으로 passwd 16040유닉스는 내가 가지고 있지 않은 현재 비밀번호를 묻습니다. 현재 비밀번호없이 사용자 비밀번호를 재설정하는 명령이 있습니까?

passwd 16040
Changing password for 16040.
Current password for 16040@friesbie.com:

답변:


24

passwd 16040루트로 실행 하면 현재 비밀번호를 묻지 않습니다.

비밀번호를 변경 한 후에는 발급을 고려해야 chage -d 0 16040합니다. 이것은 암호의 마지막 변경 날짜를 과거까지 설정합니다. 시스템에서 암호가 만료되도록 설정하면 사용자가 로그인 한 후에 암호를 변경해야합니다. 그러면 암호 만 알려진 암호를 선택할 수 있습니다.


3

passwd 16040루트로 발행해야 합니다 (sudo passwd 16040비밀번호를 변경하려면 사용자가 sudoers 파일에있는 경우) 합니다. 현재 요청하지 않습니다.

또는 상자에 실제로 액세스 할 수 init=/bin/bash있는 경우 루트 액세스 권한을 얻기 위해 커널 매개 변수로 추가 한 다음 발행 할 수 passwd 16040있습니다.


3
인라인 명령으로 프롬프트를 표시하는 것은 다소 수수께끼이며 명령의 일부로 쉽게 잘못 해석 될 수 있습니다. 블록 인용 부호로만 프롬프트를 사용하십시오. 또한, # >오히려 드물다 여기에 >단순히 명령의 일부로 잘못 해석 될 초대 - 일반적인 관행 간단한을 사용 #하기위한 root-shells 및 $루트가 아닌 것들에 대한.
Andreas Wiese

당신 말이 맞아요. 명확성을 위해 대답을 편집했습니다. 감사.
peperunas

1

루트로 직접 로그인 할 수없는 경우 시도 할 수 있습니다

  • sudo /usr/bin/passwd 16040.
  • sudo -i 그리고 후에 /usr/bin/passwd 16040

나는 그것이 passwd/ usr / bin에 있다고 가정합니다 (명령으로 확인할 수 있습니다 which passwd)


sudo bashroot쉘 을 시작하는 것은 (일반적이지만) 실제로는 실제로 나쁜 sudo습관입니다. 그것은의 sudo -s또는 sudo -i(비 로그인 또는 로그인 쉘, RESP.). 이것은 심지어 /etc/passwd자신에게 신경 쓰지 않고 기본 쉘 세트를 존중합니다 . 또한 bash악의적 인 사용자가 어딘가에 넣을 수있는 최초의 가짜 바이너리 중 하나이기 때문에 완전한 경로가 없으면 자체적으로 나쁜 생각입니다 $PATH.
Andreas Wiese

전체 경로 사양과의 사용에 동의 sudo -i하고 답변을 수정했습니다 ...하지만 보안에 대해 이야기하고 트로이가 숨어있을 가능성에 대해 이야기하는 경우 적어도 추가 $PATH하기 sudo -s때문에 사용하지 않는 것이 좋습니다 $USER/bin디렉토리와 당신이 상상할 수있는 모든 별칭 ... :-)
Hastur

실제로 좋은 점이지만 sudo구성에 따라 다릅니다 . 기본 구성 sudo$HOME변수 세트를 유지하지 않으므로 결국 rc 파일이 아닌 자체 rc 파일을 소스로 갖게 $SUDO_USER됩니다.
Andreas Wiese
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.