그게 무슨 뜻이야! /etc/passwd의 사용자 이름 필드 앞에?

그게 무슨 뜻이야! /etc/passwd의 사용자 이름 필드 앞에?

구글링을 좀 해봐도 이유를 못찾음/etc/passwd

!줄의 시작 부분에 a를 표시합니다.

다음과 같습니다.

!user:x:0:0:user:/home/user:/bin/bash

어떤 아이디어가 있나요? 내 유일한 추측은 사용자가 더 이상 존재하지 않는다는 것입니다.

답변1

이는 기본적으로 사용자 이름을 으로 변경하므로 !user로그인을 시도하면 다음과 같은 결과를 user얻게 됩니다.

No passwd entry for user 'user'

사용자 이름이 로 변경되었기 때문입니다 !user.

이제 /etc/shadow사용자 이름도 변경하고 설정하면 과 동일한 비밀번호를 사용하여 사용자로 로그인할 수 있습니다 !user.!useruser

사용자가 비밀번호로 로그인하는 것을 방지하려면 !비밀번호 필드에 비밀번호를 추가하거나 명령을 사용하는 것이 더 좋습니다./etc/shadowpasswd -l

답변2

~에서위키피디아:

"!" – 계정이 비밀번호로 잠겨 있으며 사용자는 비밀번호 확인을 통해 로그인할 수 없지만 다른 방법(예: SSH 키)은 여전히 ​​허용됩니다.

게다가 in의 위치(콜론)에 따라 !in의 의미 도 바뀔 수 있는 것 같습니다 ./etc/passwd이 링크에서!다음과 같이 비밀번호 필드에 예제 항목을 제공합니다.

root:!:0:0::/:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:

그들은 설명했다

사용자 ID에 비밀번호가 있으면 비밀번호 필드에 !(느낌표)가 표시됩니다.

답변3

/etc/passwd항목이 파일 에 여전히 존재한다는 사실은 사용자가 여전히 존재한다는 것을 의미합니다. 내가 아는 한 줄 시작 부분에 "!"를 넣는 것은 표준 절차가 아니지만 해당 사용자의 로그인을 비활성화하는 효과가 있습니다.

관련 정보