Debian Stretch의 명령줄을 통해 로그인

Debian Stretch의 명령줄을 통해 로그인

아슬람 알리쿰,

친애하는 친구 여러분, 제 이름은 Jawad Mansoor입니다. 저는 Debian Stretch를 설치하는 동안 이 이름을 사용자 이름으로 사용했고 나중에 사용자 ID를 물었을 때 그냥 jawad를 주었으므로 이제 돌아올 whoamijawad@Eden.
이름으로 새 로그인을 만들었고 neo올바른 비밀번호로 쉽게 로그인할 수 있었습니다. 아이디를 변경하라는 안내가 나왔으나 정확히 무엇을 변경해야 할지 모르겠습니다.

  • /etc/비밀번호

    jawad:x:1000:1000:Jawad:/home/jawad:/bin/bash
    
  • /etc/그룹

    jawad:x:1000:jawad
    
  • /etc/shadow
    줄은 다음으로 시작 jawad:$6$하고 다음으로 끝나는 긴 문자열로 계속됩니다.:17465:0:99999:7:::

추가 정보: 설정에서 내 이름을 Jawad Mansoor에서 Jawad로 변경했는데 이제 로그인 화면이 나타나면 "Jawad Mansoor" 대신 "Jawad"라는 이름이 나타납니다.
또한 다른 계정을 만들었고 +를 눌러 neo명령줄에서 실행하면 명령줄에서 쉽게 열리고 로그인 정보를 묻는 메시지가 표시되고 그에 연결된 사용자 ID와 비밀번호를 입력하지만 시도하거나 또는 (따옴표 포함) 또는 (따옴표 포함 문자열 완성) 또는 비밀번호를 입력하면 로그인 ID와 비밀번호가 틀렸다고 나옵니다.CTRLALTF3neoJawadjawad"Jawad Mansoor""jawad mansoor"jawad mansoor

미리 감사드립니다.

자와드 만수르

답변1

Linux는 사용자 이름에서 대소문자를 구분합니다. 역사적으로 Unix 스타일 시스템에서 로그인 이름(또는 데비안에서는 "사용자 ID"라고 부르는 것 같습니다)은 최대 8자 길이였으며 모두 소문자였습니다. 이전 Unix 시스템에서는 로그인 이름에 대문자가 포함된 경우 일부 고대 터미널에는 소문자를 사용할 수 없었기 때문에 시스템이 로그인 세션에서 자동으로 모든 대문자를 사용했습니다.

최신 데비안은 대소문자를 혼합하여 8자보다 긴 사용자 ID를 쉽게 처리할 수 있지만 일부 프로그램은 여전히 ​​사용자 ID의 처음 8자만 표시할 수 있습니다.

반면, 사용자 이름은 해당 사용자의 전체 이름이어야 합니다. 이는 로그인에 사용되지 않지만 필요할 때 애플리케이션에서 사용할 수 있습니다. 예를 들어 이메일 애플리케이션은 귀하가 작성한 이메일의 "보낸 사람:" 필드 형식을 지정할 수 있습니다.

From: Jawad Mansoor <jawad@eden>

특정 사용자 이름과 관련된 전체 이름을 변경하려면 다음 명령을 사용하십시오.

chfn <userid>

(명령어 이름은 CHange Finger Name의 약어로 더 이상 일반적으로 사용되지 않는 "finger"라는 오래된 시스템 서비스를 의미합니다. 다른 사용자의 일부 기본 정보를 쿼리하는 데 사용할 수 있습니다. 이것은 전혀 탐구되지 않은 인증 및 암호화되지 않은 서비스이므로 안전하고 신뢰할 수 있는 네트워크에서만 사용할 수 있습니다.

예를 들어, 사용자 ID "jawad"와 연결된 이름을 다시 "Jawad Mansoor"로 변경하려면 명령줄에서 다음을 수행하면 됩니다.

chfn jawad
Password: <enter your password>
Changing finger information for jawad
Enter the new value, or press ENTER for the default
Full Name [Jawad]: Jawad Mansoor
Room Number []:
Work Phone []:
Home Phone []:

반면, 특정 사용자 계정과 연결된 사용자 ID를 변경하려면 일반적으로 루트로만 사용할 수 있는 "usermod" 명령이 필요합니다. 내 예에서는 접두사 명령 "sudo"를 사용하여 루트 액세스 권한을 얻습니다. 그러나 "su -" 명령을 사용하여 루트로 전환하거나 콘솔에 루트로 로그인하여 직접 루트로 사용할 수 있습니다. 명령("sudo" 접두사 제외).

두 사용자 계정은 동일한 이름을 가질 수 없으므로 현재 계정 "jawad"가 사용자 ID "neo"를 가지도록 하려면 먼저 사용자 계정 "neo"를 삭제해야 합니다.

sudo userdel -r neo

그런 다음 "jawad" 계정의 사용자 ID를 "neo"로 변경할 수 있습니다.

sudo usermod -l neo jawad

이 변경을 수행할 때 "jawad"로 로그인한 경우 지금 로그아웃했다가 다시 로그인하는 것이 좋습니다. 그렇지 않으면 일부 명령 및 응용프로그램에서 사용자 ID 대신 오류가 표시될 수 있습니다. (이 경우 "당신은 존재하지 않습니다. 저리 가세요!"라는 오래되고 재미있는 오류 메시지가 나타날 수 있습니다.)

로그아웃한 후 이제 "neo"로 로그인할 수 있습니다. 사용자 ID "jawad"는 더 이상 존재하지 않습니다. 사용자 계정의 다른 모든 기능은 사용자 ID "jawad"가 이전에 가졌던 기능입니다. 예를 들어 홈 디렉터리는 여전히 /home/jawad입니다. 이것을 변경하려면 다음을 사용할 수 있습니다.

sudo usermod -m -d /home/neo neo

즉, "사용자 'neo'의 홈 디렉터리를 /home/neo로 이동합니다."

그러나 다른 사용자로 로그인한 상태에서 이 명령을 사용하는 것이 가장 좋습니다. (로그인한 사용자 아래에서 홈 디렉터리를 꺼내는 것이 가능하지만 그렇게 하면 온갖 종류의 혼란이 발생할 가능성이 더 높습니다!)

예시로 제시한 모든 명령을 실행한 후 이 시스템에서 작성하는 모든 이메일의 기본 보낸 사람: 줄은 이제 다음과 같습니다.

From: Jawad Mansoor <neo@Eden>

관련 정보