Linux에서 사용자 ID(줄여서 UID)는 UNIX 계열 시스템에서 사용자 이름에 고유하게 해당하는 사용자 식별자를 나타내며 커널이 사용자를 식별하는 데 사용하는 부호 없는 정수 값이기도 합니다. UNIX 파일 시스템 및 프로세스의 필수 구성 요소 중 하나입니다. 500보다 큰 UID를 가진 사용자는 비시스템 계정이고, 500보다 작은 UID를 가진 사용자는 루트 계정과 같이 시스템에 의해 예약된 계정입니다. 사용자 생성 시 가장 높은 권한을 가진 계정의 UID는 0입니다. 계정의 기본 UID는 500보다 큽니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
Linux 시스템에 로그인할 때 자신의 사용자 이름과 비밀번호를 입력하더라도 Linux는 실제로 사용자 이름을 알지 못합니다. 사용자 이름에 해당하는 ID 번호(즉, 숫자의 문자열)만 알고 있습니다. Linux 시스템은 모든 사용자 이름과 ID 간의 대응 관계를 /etc/passwd 파일에 저장합니다.
Linux 시스템에서는 각 사용자의 ID가 사용자 ID(사용자 ID, UID라고 함)와 그룹 ID(그룹 ID, GID라고 함)의 두 가지 유형으로 구분됩니다. 서로 대응하는 속성. 사용자 ID(UID)를 살펴보겠습니다.
linux user ID(UID)
User ID(영어: 사용자 식별자, 일반적으로 User ID 또는 UID로 약칭), 전체 이름은 UNIX 계열 시스템에서 사용되는 알 수 없는 숫자입니다. 기호 정수 값은 UNIX 파일 시스템 및 프로세스의 필수 구성 요소이기도 합니다.
UID---사용자 이름에 고유하게 해당하는 사용자 식별 번호입니다. LINUX에서 수퍼유저 루트의 UID는 0입니다. 시스템이 사용자 이름, UID, 그룹 이름, GID 및 자신이 속한 다른 그룹의 이름을 표시하도록 하려면 id 명령을 사용할 수 있습니다. UID를 수정하려면 일반적으로 usermod -u
를 사용합니다. usermod -u
。
UID是系统中用来表示用户的标识符,启动的进程的uid就是当前登录用户的uid,查看用户uid可使用id -u <username>
命令
需要注意的是,权限检查的时候是对euid检查,通常情况下进程的euid是和uid相同的。
用户的UID大于500的都是非系统账号,500以下的都为系统保留的账号,比如root账号,至高权限的账号的UID为0,我们创建用户的时候默认的账号的UID都是大于500,如果你要指定账号的UID可以使用-u
id -u <username>을 사용할 수 있습니다. ;
command참고 유일한 것은 권한을 확인할 때 euid를 확인한다는 것입니다. 일반적으로 프로세스의 euid는 uid와 동일합니다.
UID가 500보다 큰 사용자는 비시스템 계정이고, UID가 500보다 작은 사용자는 루트 계정과 같이 시스템에 의해 예약된 계정입니다. 최상위 권한 계정의 UID는 0입니다. 계정의 기본 UID는 500보다 큽니다. 계정의 UID를 지정하려면-u
매개변수를 사용하여 지정할 수 있습니다. 다른 것은 별로 중요하지 않습니다.
또한 일부 특수 시스템은 16비트 UID도 지원하므로 UID 수를 65536개까지 확장할 수 있습니다. 최신 시스템은 32비트 UID를 지원하므로 UID 수를 4,294,967,296개까지 추가로 확장할 수도 있습니다. .
유효 사용자 ID(Effective UID, or EUID)와 유효 사용자 그룹 ID(Effective Group ID, or EGID)는 파일 생성 및 접근 시 사용됩니다. 특히, 파일을 생성할 때 시스템 커널은 파일을 생성한 프로세스의 EUID 및 EGID를 기반으로 파일의 소유자/그룹 속성을 설정합니다. 파일에 액세스하는 프로세스의 EUID 및 EGID입니다.
실제 사용자 ID(실제 UID 또는 RUID)와 실제 사용자 그룹 ID(실제 GID 또는 RGID)는 프로세스의 실제 소유자를 식별하는 데 사용되며 전송되는 신호에 영향을 미칩니다. 프로세스 권한으로. 수퍼유저 권한이 없는 프로세스는 해당 RUID가 대상 프로세스의 RUID와 일치하는 경우에만 대상 프로세스에 신호를 보낼 수 있습니다. 예를 들어 부모 프로세스와 자식 프로세스 사이에서 자식 프로세스는 부모 프로세스로부터 인증 정보를 상속받습니다. 하위 프로세스는 서로 신호를 보낼 수 있습니다.
🎜🎜🎜임시사용자ID🎜🎜임시 사용자 ID(저장된 UID, SUID)는 높은 권한으로 실행 중인 프로세스가 일시적으로 권한이 필요하지 않은 일부 작업을 수행해야 할 때 사용됩니다. 이 경우 프로세스는 일시적으로 권한 있는 사용자의 유효 사용자 ID를 변경합니다. 일반적으로 루트에 해당하는 UID는 권한이 없는 사용자에 해당하는 UID로 변경되고, 원래 권한이 있는 사용자 UID는 임시 저장을 위해 SUID에 복사됩니다. 프로세스가 권한이 필요하지 않은 작업을 완료하면 프로세스는 SUID 값을 사용하여 EUID를 재설정합니다. 여기서 주의할 점은 권한이 없는 프로세스의 EUID 값은 RUID, SUID, EUID 중 하나와 동일한 값으로만 설정할 수 있다는 것입니다(즉, 변경되지 않습니다).
파일 시스템 사용자 ID
파일 시스템 UID(FSUID)는 Linux에서 사용되며 파일 시스템에 대한 액세스 권한을 제어하는 데만 사용됩니다. EUID는 명시적인 설정 없이는 사용할 수 없습니다. 동일합니다(FSUID가 루트의 UID인 경우 SUID, RUID 및 EUID 중 하나 이상이 루트의 UID여야 함). EUID 변경은 FSUID에도 영향을 미칩니다. FSUID는 프로그램(예: NFS 서버)이 주어진 UID를 가진 계정에 대한 신호를 얻지 않고 주어진 UID의 권한으로 파일 시스템 권한을 제한할 수 있도록 설정됩니다.
Miscellaneous
UID 값과 사용자 계정의 해당 관계는 /etc/passwd에 저장됩니다. 비밀번호를 저장하는 데 사용되는 /etc/shadow와 네트워크 정보 서비스도 UID 값을 사용하여 사용자를 식별하지만, 이제 Linux 시스템의 섀도우 파일은 사용자를 식별하기 위해 계정 이름을 사용하도록 전환되었습니다.
POSIX 호환 환경에서 id 명령은 현재 사용자의 사용자 이름, 그룹 및 해당 UID 및 GID 값을 제공할 수 있습니다.
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 리눅스 사용자 ID는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!