제약 조건을 변경하지 않고 sudo를 사용하여 암호 제약 조건을 위반하는 암호를 설정하는 방법

제약 조건을 변경하지 않고 sudo를 사용하여 암호 제약 조건을 위반하는 암호를 설정하는 방법

다른 사람이 공유하는 컴퓨터에 루트 액세스 권한이 있습니다. 나는 비밀번호 제한이 터무니없다고 생각합니다. 단어가 아닌 문자의 사용과 순서를 강제하는 방법이 너무 심하고, 비밀번호를 나누기 위해 특수 문자를 계속 사용해야 하기 때문에 비밀번호 입력 속도를 느리게 만듭니다(내가 'I'를 입력하더라도). 특수 문자의 경우 항상 조금 느리게 진행하여 흐름을 방해하는 것 같습니다.) 아무런 제한 없이 길고 안전한 비밀번호를 만들 수 있습니다. 루트 액세스를 사용하여 비밀번호 규칙을 우회하여 내가 좋아하고 빠르게 입력할 수 있는 비밀번호를 만들고 싶습니다.

그러나 비밀번호 제한을 직접 변경하고 싶지는 않습니다. 아니면 더 정확하게는 나는하다변경하고 싶어하는 것은 어리석고 실제로 작성된 대로 보안을 추가하지 않는다고 생각하지만 이는 상위 기관에서 규제하기 때문에 변경해서는 안 됩니다.

시스템의 다른 사람에 대한 제약 조건을 변경하지 않고 이러한 제한 사항을 위반하는 암호를 설정하기 위해 내 루트 액세스를 활용할 수 있는 방법이 있습니까?

답변1

시도해 볼 수 있습니다 printf "%s\n" 'username:encryptedpassword' | sudo chpasswd -e. 이렇게 하면 PAM에서 시행하는 비밀번호 확인을 우회할 수 있습니다.

mkpasswdmuru의 예 와 같이 비밀번호는 사전 암호화되어야 합니다 . 예를 들어:

p=$(mkpasswd -m sha-512 'mysupersekretpassword')
printf "%s:%s\n" 'username' "$p" | sudo chpasswd -e

printf여기서는 특정 문자 시퀀스의 출력을 해석하고 변경하기 echo때문에 대신 사용 합니다.echo가능한\t, \n, \nnn(3자리 8진수) 등 암호화된 비밀번호로 나타납니다 .

또는 명령을 사용 mkpasswd하고 명령 앞에 공백을 추가하여 기록에 저장되지 않도록 하십시오 . Bash를 사용하지 않는 경우 쉘에 적합한 방법을 사용하십시오..bash_historyexport HISTCONTROL=ignorespacep=$(...)

답변2

관리자로서 수동으로 비밀번호를 변경할 수 있습니다. 로그인하여 다음을 수행하세요.

입력하다:

# passwd whitecat

출력은 다음과 같아야 합니다.

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

답변3

더 안전한 다른 방법이 있을 수 있지만 한 가지 방법은 /etc/shadow원하는 비밀번호의 암호화된 형식을 얻는 것입니다.

$ mkpasswd -m sha-512
Password: 
$6$zGvnR7mWtj59LfpO$t/VMNTbqyp9ykVMWUhsXghVvJ15iGDiFwvhNYaJIbBy8iM9E/vHSTmbBa0iotCLBA.MGBM949tyoxrjX81Qkg1

foo궁금하신 분들을 위해 말씀드리자면 이는 .

편집하다 /etc/shadow:

sudo vipw -s

사용자를 찾아 현재 비밀번호를 생성된 비밀번호로 바꾸고 저장한 후 종료하세요. 엉망으로 만들면 지옥이 될 것이므로 sudo다른 터미널에서 세션을 계속 실행하십시오.

관련 정보