비밀번호 변경 후 sudo su를 사용할 수 없습니다

비밀번호 변경 후 sudo su를 사용할 수 없습니다

저는 우분투 14.04 LTS를 실행하고 있습니다.

어제 사용자 계정(관리자 계정)의 비밀번호를 변경했습니다. 오늘 아침에 더 이상 sudo su루트로 전환을 사용할 수 없다는 사실을 발견했습니다 . sudo가 루트 계정의 비밀번호가 아닌 내 사용자 계정의 비밀번호를 사용한다는 것을 알고 있지만 두 비밀번호 중 하나를 사용하여 sudo su로 이동할 수는 없습니다.

그런 다음 재부팅 후 사용자 계정에 로그인하면 화면에 메시지가 잠깐 깜박인 다음 사용자 이름과 비밀번호를 다시 묻습니다. 어제 나는 또한 내 홈 디렉토리에 대한 권한을 변경하여 루트로 로그인하고 chmod 777내 홈 디렉토리에 대해 명령을 실행했습니다. 이제 해당 사용자 계정을 사용하여 로그인할 수 있지만 내 디렉터리 구조는 마치 새 사용자인 것처럼 교체되었습니다. 터미널에서 루트로 디렉터리를 보면 이전 디렉터리 구조 대신 다음이 표시됩니다.

root@CLM1001-Ubuntu:/home/stephen# whoami
root
root@CLM1001-Ubuntu:/home/stephen# ls
Access-Your-Private-Data.desktop  Documents  Music     Public      Templates
Desktop                           Downloads  Pictures  README.txt  Videos
root@CLM1001-Ubuntu:/home/stephen# 

이전에 삭제를 시도한 후 이 동작을 본 적이 .ecryptfs있으며 유일한 방법은 시스템 백업에서 복원하는 것이었습니다.

백업에서 또 다른 전체 시스템 복원을 수행하는 것 외에 이 사용자 계정이 다시 제대로 작동하도록 할 수 있는 방법이 있습니까?

나는 보았지만 /var/log/syslog/var/log/auth.log에게 분명한 것은 아무것도 보지 못했습니다. 필요한 경우 이러한 로그에서 덤프를 추가할 수 있지만 크기가 큽니다.

추가 정보 추가: 내 사용자 계정이 더 이상 mysqldump를 실행할 수 없다는 것을 알았습니다. - 권한 거부 오류가 발생합니다. phpmysql에 들어갈 수는 있지만. (또 다른 질문이라는 것을 알고 있으므로 첫 번째 질문에 대한 추가 정보 외에는 가능하면 무시해 주시기 바랍니다.)

좋습니다. 이 문제에 대한 추가 정보는 다음과 같습니다(iMac의 협조를 받을 수 있는 경우). "스크립트" 세션을 실행하고 캡처된 텍스트를 즉시 게시하려고 했습니다.

Script started on Sun 31 May 2020 03:51:24 PM PDT  
  stephen@CLM1001-Ubuntu:~$ whoami  
stephen  
  stephen@CLM1001-Ubuntu:~$ pwd  
/home/stephen  
  stephen@CLM1001-Ubuntu:~$ hostname  
CLM1001-Ubuntu  
  stephen@CLM1001-Ubuntu:~$ uname -a  
Linux CLM1001-Ubuntu 3.13.0-93-generic #140-Ubuntu SMP Mon Jul 18 21:21:05  UTC 2016 x86_64 x86_64 x86_64 GNU/Linux  
  stephen@CLM1001-Ubuntu:~$ passwd  
Changing password for stephen.  
(current) UNIX password:   
Enter new UNIX password:   
Retype new UNIX password:   
passwd: password updated successfully  
  stephen@CLM1001-Ubuntu:~$ sudo su  
[sudo] password for stephen:   
  root@CLM1001-Ubuntu:/home/stephen# whoami  
root  
  root@CLM1001-Ubuntu:/home/stephen# exit  
exit  
  stephen@CLM1001-Ubuntu:~$ whoami  
stephen  
  stephen@CLM1001-Ubuntu:~$ ./SQLbackup  
./SQLbackup  
Sun May 31 15:57:06 PDT 2020  
/dev/sdb5 on /media/stephen/Hitachi72101Ptn5 type ext4 (rw)  
/media/stephen/Hitachi72101Ptn5 is mounted  
-- Warning: Skipping the data of table mysql.event. Specify the --events  option explicitly.  
<snip> [note: SQLbackup is my script that runs mysqldump.]  
  stephen@CLM1001-Ubuntu:~$ echo "Ok, it looks like mysqldump is working."  
Ok, it looks like mysqldump is working.  
  stephen@CLM1001-Ubuntu:~$ exit  
exit  
Script done on Sun 31 May 2020 03:57:35 PM PDT  

그 다음에

  1. 나는 다음으로 로그인했습니다.stephen

    1. 내 홈 디렉토리가 손상되지 않은 것을 볼 수 있습니다
    2. sudo su문제없이 할 수 있어요
    3. mysqldump문제없이 실행할 수 있어요 .
  2. passwdstephen내 계정의 비밀번호를 변경했습니다

  3. sudo su문제없이 할 수 있어요

  4. mysqldump괜찮아요
  5. Firefox 브라우저를 통해 phpmyadmin에 로그인하려고 시도했지만 phpmyadmin에 로그인할 수 없습니다 stephen(어떤 비밀번호를 사용하든 관계 없음).
  6. ls여전히 내 홈 디렉토리가 표시됩니다. 문제 없습니다.
  7. 시스템을 다시 시작하세요
  8. 어떤 비밀번호를 사용해도 Stephen으로 로그인할 수 없습니다.
  9. 다른 사용자 계정을 사용하여 시스템에 로그인하십시오.
  10. sudo su(뿌리까지)
  11. passwd Stephen
  12. 스티븐 계정의 비밀번호를 원래 비밀번호로 다시 설정했어요
  13. 로그 아웃
  14. Stephen으로 다시 로그인하세요. 화면에 뭔가 깜박인 다음 바로 로그인 화면으로 돌아갑니다.
  15. 시스템을 다시 시작하세요.
  16. Stephen으로 로그인: 화면이 깜박이고 다시 로그인 화면으로 바로 돌아갑니다.
  17. 두 번째 사용자 계정으로 로그인
  18. su Stephen

    Signature not found in user keyring
    Perhaps try the interactive 'ecry0tfs-mount-private'
    

따라서 수정 사항을 다시 찾거나 백업에서 복원할 때까지 이 시점에서 컴퓨터는 작동하지 않습니다.


좋습니다. 두 번째 사용자 계정을 사용하여 문제 컴퓨터에 다시 로그인했습니다. 그런 다음 sudo su루트로 다음 단계를 수행했습니다. (두 번째 사용자는 rootytooty입니다.)

root@CLM1001-Ubuntu:/home/rootytooty# whoami
root
root@CLM1001-Ubuntu:/home/rootytooty# cd /
root@CLM1001-Ubuntu:/# pwd
/
root@CLM1001-Ubuntu:/# su stephen
Signature not found in user keyring
Perhaps try the interactive 'ecryptfs-mount-private'
stephen@CLM1001-Ubuntu:/$ man ecryptfs-mount-private
stephen@CLM1001-Ubuntu:/$ ecryptfs-mount-private
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
ERROR: Too many incorrect password attempts, exiting
stephen@CLM1001-Ubuntu:/$ whoami
stephen
stephen@CLM1001-Ubuntu:/$ ecryptfs-mount-private stephen
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
ERROR: Too many incorrect password attempts, exiting

다시 회복을 할 것 같아요.

그런데: /var/log/syslog터미널에 표시되는 것과 동일한 메시지가 표시됩니다.

답변1

제가 회복한 방법은 다음과 같습니다.

  1. 두 번째 관리자 계정으로 로그인하세요. [내 두 번째 계정은 rootytooty]
  2. 루트 계정으로 변경:sudo su

  3. 손상된 계정의 홈 디렉터리 내용을 검토 ls /home/stephen하고 해당 디렉터리에 Access-Your-Private-Data.desktop파일 이 포함되어 있지만 README.txt있어야 할 파일은 포함되어 있지 않음을 확인하세요.

  4. 손상된 계정의 홈 디렉터리를 삭제합니다.rm -r stephen

  5. ecryptfs 패키지 제거

    apt-get remove ecryptfs-utils libecryptfs0
    
  6. 손상된 계정에 대해 비어 있는 새 홈 디렉터리를 만듭니다.

    mkdir /home/stephen
    
  7. 새 홈 디렉터리에 대한 권한 설정

    chown stephen /home/stephen
    chgrp stephen /home/stephen
    chmod 777 /home/stephen
    
  8. 손상된 계정 홈 디렉터리의 백업 복사본에서 및 하위 디렉터리를 제거합니다 .Private. .ecryptfs(외부 디스크에 디렉터리의 백업 복사본을 만들었죠?)

    cd /externaldrive/Backups/stephen-home
    rm -r .ecryptfs
    rm -r .Private
    
  9. 백업 드라이브의 파일을 생성한 새 홈 디렉터리로 복원합니다.

    cp -pvr /externaldrive/Backups/stephen-home/* /home/stephen/
    

    참고: 이 복사 작업 중에 모니터가 검게 변한 다음 "신호 없음" 메시지가 표시되고 빨간색 디스크 작업 표시등이 꺼지며 들리는 것은 마더보드 팬이 회전하는 소리뿐입니다. 그래서 활성 디스크(Redo 백업 디스크)에서 재부팅했습니다. 백업 파일이 포함된 드라이브와 /home/stephen 디렉터리가 포함된 드라이브를 마운트한 다음 활성 CD를 사용하여 파일을 계속 복사했습니다.

    cp -vprf /externaldrive/Backups/stephen-home/* /home/stephen/
    
  10. 시스템을 다시 시작하고 로 로그인합니다 stephen. 내 숨겨진 디렉터리( .mozilla, .firefox, 등) 가 존재하지 않으므로 .local백업에서 숨겨진 디렉터리를 복사해야 합니다.

    cp -pvr /externaldrive/Backups/stephen-home/.[^.]* /home/stephen/
    

    여러 실행 프로그램 아이콘이 누락되고 사용자 설정이 사라집니다(창 배경 이미지 등). FTP 소프트웨어에 저장된 설정이 사라졌습니다. 다른 응용 프로그램에서도 마찬가지입니다. 그래서 앱을 다시 설정해야 했습니다. 하지만 내 이메일 기록은 모두 거기에 있습니다.

2012년 12월 25일 게시물을 작성해 주신 Nikos Alexandris에게 감사드립니다.내장된 홈 디렉토리 암호화 사용을 중지하는 방법조사에 참여한 AB, pLumo 및 roaima에게 감사드립니다. 그들은 문제의 원인을 정확히 찾아냈습니다: Ubuntu 10.04부터 존재했던 버그였습니다.

따라서 ecryptfs를 실행 중인 경우 비밀번호를 변경하지 마십시오. 이 문제가 발생하는 다음 사람에게 도움이 되기를 바랍니다. Ubuntu의 후속 버전에 여전히 존재하는지 모르겠지만 Ubuntu 14.04 LTS에서는 존재합니다.

이 장소를 제공해주신 StackExchange에게 감사드립니다.

답변2

따라서 비밀번호를 변경하기 전에 루트 계정이 있었다면 사용자 이름: 루트와 변경되지 않은 비밀번호로 로그인할 수 있습니다. sudo su이는 해당 사용자 계정에 대해 생성된 루트 로그인이기 때문입니다. 를 사용하시면 sudo su해당 사용자 계정으로 로그인 한 이후부터 동작하므로, sudo su비밀번호를 입력하고 변경한 이후부터 동작합니다. 이것이 루트 액세스가 되기를 바랍니다.

관련 정보