사용자에게 홈 디렉토리나 비밀번호가 있는지 확인하는 방법은 무엇입니까?

사용자에게 홈 디렉토리나 비밀번호가 있는지 확인하는 방법은 무엇입니까?

사용자를 생성하는 방법에 대한 자세한 내용을 찾을 수 있는 곳입니다. 사용자의 현재 상태는 어떻습니까?

예를 들어, 등을 사용하여 명령을 adduser실행할 수 있습니다.--no-create-home--disabled-password--home DIR

사용자에게 홈 디렉토리가 있는지 알려주는 명령이 있습니까? 홈 디렉토리가 있는 경우 해당 디렉토리의 위치는 무엇입니까?

또는 사용자에게 비밀번호가 있는 경우.

답변1

바라보다man 5 passwd비밀번호 입력 형식입니다. 각 사용자에게는 콜론으로 구분된 여러 필드가 있습니다. 홈 디렉터리는 여섯 번째 필드이므로

getent passwd user | cut -d: -f6

표시될 홈 디렉토리입니다 user. 이는 디렉토리가 존재한다는 의미는 아니며 디렉토리가 존재한다는 의미입니다. 이건 개별적으로 확인하셔야 합니다.

homedir="$(getent passwd user | cut -d: -f6)"; [ -d "$homedir" ] && printf "User %s's home directory is %s and exists.\n" user "$homedir"

비밀번호는 두 번째 필드입니다. 일반적으로 는 x비밀번호 해시가 에 있음을 나타냅니다 /etc/shadow. 또는 *은 이 계정에 대한 비밀번호 액세스가 비활성화되었음을 나타냅니다( *에도 있음 /etc/shadow). passwd계정이 비활성화되었는지 확인하려면 실제로 사용해야 합니다 .이 답변더 알아보기.

[ "$(passwd -S user | cut -d\  -f2)" = P ] && printf "User %s has a password.\n" user

관련 정보