>  기사  >  시스템 튜토리얼  >  Linux의 /etc/passwd 파일에 대한 자세한 설명

Linux의 /etc/passwd 파일에 대한 자세한 설명

PHPz
PHPz앞으로
2024-02-12 17:18:191098검색

Linux 시스템에서 각 사용자는 /etc/passwd 파일에 해당 레코드 줄이 있다는 것을 알고 계셨습니까? 이 레코드 줄에는 사용자의 몇 가지 기본 속성이 포함되어 있습니다. 시스템 관리자는 사용자를 관리하기 위해 이 파일을 자주 변경하는 것이 일반적인 작업입니다.

Linux의 /etc/passwd 파일에 대한 자세한 설명

내용은 아래 예와 유사합니다.

Linux의 /etc/passwd 파일에 대한 자세한 설명

위의 예를 보면 /etc/passwd의 레코드 행은 사용자에 해당하며, 각 레코드 행은 콜론(:)으로 구분되어 있으며 그 형식과 구체적인 의미는 다음과 같습니다.

사용자 이름: 비밀번호: 사용자 식별 번호: 그룹 식별 번호: 설명 설명: 홈 디렉터리: 로그인 쉘

"사용자 이름"

사용자 계정을 나타내는 문자열입니다. 일반적으로 길이는 8자 이내이며 대문자, 소문자 및/또는 숫자로 구성됩니다. 여기서는 콜론이 구분 기호이므로 로그인 이름에 콜론(:)을 사용할 수 없습니다. 호환성을 위해 로그인 이름에 점 문자(.)를 포함하지 않는 것이 가장 좋으며, 하이픈(-)과 더하기 기호(+)로 시작하지 않는 것이 좋습니다.

"비밀번호"

일부 시스템에서는 암호화된 사용자 비밀번호가 저장됩니다. 이 필드에는 일반 텍스트가 아닌 사용자 비밀번호의 암호화된 문자열만 저장되지만 /etc/passwd 파일은 모든 사용자가 읽을 수 있으므로 여전히 보안 위험이 있습니다. 따라서 많은 Linux 시스템(예: SVR4)은 이제 섀도우 기술을 사용하여 실제 암호화된 사용자 비밀번호를 /etc/shadow 파일에 저장하고 /etc/passwd 파일의 비밀번호 필드에는 문자와 같은 특수 비밀번호만 저장합니다. "x" 또는 "*"로 표시됩니다.

"사용자 식별 번호"

은 사용자를 식별하기 위해 시스템 내부에서 사용되는 정수입니다. 일반적으로 사용자 이름과 일대일로 대응됩니다. 여러 사용자 이름에 해당하는 사용자 식별 번호가 동일한 경우 시스템 내부적으로는 동일한 사용자로 간주되지만 비밀번호, 홈 디렉토리, 로그인 쉘 등이 다를 수 있습니다. 일반적으로 사용자 식별 번호의 값 범위는 0~65535입니다. 0은 슈퍼 사용자 루트의 식별 번호이고, 1~99는 시스템에서 관리 계정으로 예약되어 있으며 일반 사용자의 식별 번호는 100부터 시작합니다. Linux 시스템에서 이 제한은 500입니다.

"그룹 식별 번호"

해당 필드에는 사용자가 속한 사용자 그룹이 기록됩니다. 이는 /etc/group 파일의 레코드에 해당합니다.

"주석 설명"

이 필드에는 사용자의 실명, 전화번호, 주소 등 사용자의 일부 개인 정보가 기록됩니다. 이 필드는 실용적인 용도로 사용되지 않습니다. 이 필드의 형식은 다양한 Linux 시스템에서 동일하지 않습니다. 많은 Linux 시스템에서 이 필드는 Finger 명령의 출력으로 사용되는 임의의 주석 설명 텍스트를 저장합니다.

"홈 디렉토리"

즉, 사용자의 시작 작업 디렉터리, 이는 사용자가 시스템에 로그인한 후 위치하는 디렉터리입니다. 대부분의 시스템에서 각 사용자의 홈 디렉토리는 동일한 특정 디렉토리로 구성되며 사용자의 홈 디렉토리 이름은 사용자의 로그인 이름입니다.

각 사용자는 자신의 홈 디렉터리에 대한 읽기, 쓰기 및 실행(검색) 권한을 갖습니다. 이 디렉터리에 대한 다른 사용자의 액세스 권한은 특정 상황에 따라 설정됩니다. 사용자가 로그인한 후 사용자의 작업을 커널로 전송하는 프로세스가 시작됩니다. 이 프로세스는 사용자가 로그인한 후 실행되는 명령 해석기 또는 특정 프로그램, 즉 셸입니다. 체계. 쉘은 사용자와 Linux 시스템 간의 인터페이스입니다. 다양한 유형의 Linux 셸이 있으며 각각 다른 특성을 가지고 있습니다.

일반적으로 사용되는 것에는 sh(BourneShell), csh(CShell), ksh(KornShell), tcsh(TENEX/TOPS-20typeCShell), bash(BourneAgainShell) 등이 있습니다.

시스템 관리자는 시스템 조건과 사용자 습관에 따라 사용자를 위한 쉘을 지정할 수 있습니다. 쉘을 지정하지 않으면 시스템은 sh를 기본 로그인 쉘로 사용합니다. 즉, 이 필드의 값은 /bin/sh입니다. 사용자의 로그인 쉘은 특정 프로그램으로 지정될 수도 있습니다(이 프로그램은 명령 해석기가 아닙니다).

이 기능을 사용하면 사용자가 지정된 애플리케이션만 실행하도록 제한할 수 있습니다. 애플리케이션 실행이 끝나면 사용자는 자동으로 시스템을 종료합니다. 일부 Linux 시스템에서는 시스템에 등록된 프로그램만 이 필드에 나타날 수 있도록 요구합니다. 시스템에는 pseudousers라는 사용자 유형이 있습니다. 이러한 사용자는 Linux /etc/passwd 파일에도 기록이 있지만 로그인 쉘이 비어 있기 때문에 로그인할 수 없습니다. 이들의 존재는 주로 시스템 관리를 용이하게 하고 파일 소유자에 대한 해당 시스템 프로세스의 요구 사항을 충족시키기 위한 것입니다. 일반적인 의사 사용자는 다음과 같습니다.

의사 사용자 의미

포함:

bin에는 실행 가능한 사용자 명령 파일이 있습니다

sys는 시스템 파일을 소유합니다

adm은 계정 파일을 소유합니다

uucp UUCP 사용법

lplp 또는 lpd 하위 시스템 사용

아무도 NFS를 사용하지 않습니다

계정 파일 보유

감사, cron, 메일, 유즈넷 등과 같은 일부 표준 의사 사용자도 있으며 Linux 시스템에도 해당 프로세스와 파일이 있습니다. 그러나 리눅스의 /etc/passwd 파일은 모든 사용자가 읽을 수 있기 때문에 사용자의 비밀번호가 너무 단순하거나 패턴이 뻔할 경우 공격자에 의해 쉽게 크랙될 수 있다. 따라서 보안 요구사항이 높은 Linux 시스템에서는 암호화된 비밀번호를 /etc/shadow 파일에 별도로 저장하고, 슈퍼유저만이 파일에 대한 읽기 권한을 가지므로 사용자 비밀번호의 보안이 보호됩니다.

위 내용은 Linux의 /etc/passwd 파일에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제