루트 비밀번호 (로그인)가 비활성화되어 있는지 어떻게 확인합니까?


10

실수로 루트 비밀번호를 활성화 (설정)했으며 (기본적으로 잠겨 있음) 이제 "실행 취소"하려고합니다. 나는 두 명령을 모두 사용했다

sudo usermod -p '!' root

sudo passwd -dl root

그와 같은 순서로.

루트 계정이 잠겨 있는지 어떻게 확인합니까?

답변:


18

다음 passwd명령을 사용할 수 있습니다 .

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

보낸 사람 man 1 passwd:

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

표시된 데이터 /etc/shadow는 암호화 된 비밀번호를 보유하는 파일에 저장됩니다 .

예를 들어, 위의 각 passwd명령 후 상태는 다음과 같습니다.

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::

5

한 가지 가능성은 다음을 입력하여 / etc / passwd를 보는 것입니다.

grep root /etc/passwd

root:x: ......x는 암호화 된 비밀번호가 새도우 파일에 저장됨을 나타내는 위치 와 같이 시작하는 행을 표시해야 합니다. 이 경우 우리는 실행하여 조사합니다

sudo grep root /etc/shadow

(shadow 파일의 요구를 열 수 sudo를!) 당신은 결과로 다음과 같이 시작하는 행을 얻어야한다 또는 계정이 비활성화되어 있는지 시그널링 화 (signaling). 이후의 다른 값 (! 또는 *로 시작하지 않음) 은 작동중인 비밀번호를 나타냅니다.root:!: ......!*root:


고맙지 만 궁금한 점이 있습니다. 해당 정보가 포함 된 파일이 있습니까?
nobru

나는 조금 연구하고 내 대답에 다른 부분을 추가하여 원하는대로 암호가 저장된 파일에 액세스합니다.
바이트 사령관

첫 번째 제안을 시도했지만 잘못되었습니다. sudo는 여전히 사용자 비밀번호를 사용합니다. 편집 된 단락 작업, 즉 내가 찾던 정보
nobru

데이터의 소스는 man passwd.5man shadow.5
세르게이 G

0

쉬운.

Ctrl + Alt + F1을 누르십시오. 이것은 별도의 터미널로 연결됩니다. 로그인으로 입력 root하고 비밀번호를 제공 하여 루트로 로그인 하십시오.

루트 계정이 활성화되면 로그인이 작동합니다. 루트 계정이 비활성화되면 로그인이 실패합니다.

GUI로 돌아가려면 Ctrl + Alt + F7을 누르십시오.


이를 위해 TTY로 갈 필요는 없습니다. 간단한 su것입니다.
muru

고마워, 나는 시도하고 지금 잠겨 있습니다. 그러나 파일을 열고 확인할 수있는 파일이 있는지 궁금합니다. 가설 적으로 입력 한 암호를 기억할 수 없으며 사용자의 sudo로 다른 암호를 설정할 수있는 옵션이 없으므로 로그인 파일이 있는지 확인하고 싶습니다.
nobru

0

우분투를 설치할 때 기본적으로 루트 비밀번호를 알아야합니다. 존재하지만 사용자가 알아야합니다. 물론 관리자는 암호를 변경하도록 선택할 수 sudo passwd있지만 일반적으로 수행중인 작업과 수행 이유를 모르면 필요하지 않아야합니다.

모든 사용자 비밀번호에 대한 정보가 포함 /etc/shadow 된 파일은 해당 파일의 각 항목이 암호화됩니다. 따라서 공격자가 시스템에 액세스하여이 파일을 훔치지 않으면 루트에 들어가서는 안됩니다. 가능성이 따라서 나는 당신이 어떤 원격 액세스 기능을 사용하지 않도록 제안, 물론, 항상있다 :, SSH, 원격 데스크톱 등 텔넷 (기본적으로 사용되지 않습니다 것은) 자신에게 오기 nmap도구를하고 사용하여 시스템을 검사 sudo nmap localhost포트에 노출 될 수 있습니다 무엇을 확인하려면 체계. 또한 자신에게 방화벽을 설치하십시오. 우분투에는 ufw 방화벽이 포함되어 있으며 사용하기 쉽고 작업을 충분히 수행합니다.

다른 방법 중에서도 루트 계정을 테스트 할 수 있습니다. sudo -i

에서 /etc/sudoers파일,이 같은 라인이 있어야합니다 sudo -i. 루트로 로그인 할 수없는 경우 # 프롬프트가 표시되지 않으면 계정이 잠김

Defaults env_reset,timestamp_timeout=30

timestamp_timeout은 sudo에게 30 초 후에 다시 암호를 요청하도록 지시하므로 항상 루트 권한으로 로그인하지 마십시오. 시스템을 보호하는 방법 중 하나입니다.

루트 비밀번호 변경의 부작용은 비밀번호를 잊어 버렸거나 시스템의 다른 사용자가 비밀번호를 잊어 버린 경우 루트에 액세스 할 수 없다는 것입니다. 나는 어떤 인스턴스도 알지 못하지만 일부 프로세스는 루트로 실행되기 때문에 항상 시스템을 엉망으로 만들 가능성이 있으며 루트 계정을 잠그면 제대로 작동하지 않거나 전혀 작동하지 않을 수 있습니다.

난 강력하게 당신이 직접 읽어 추천 man sudoers, man passwd,남자 shadow`을.

행운을 빕니다. 이것이 도움이되기를 바랍니다!


0

리눅스 서버에 존재하는 모든 사용자의 암호보고를 위해 하나의 라이너 명령을 잡으십시오.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.