Linux 사용자의 ID에는 사용자 ID(줄여서 UID)와 그룹 ID(줄여서 GID)의 두 가지 유형이 있습니다. 이는 파일 소유자 및 소유 그룹의 두 가지 속성에 해당합니다. 각 파일에는 고유한 소유자 ID와 그룹 ID가 있습니다. 파일 속성이 표시되면 시스템은 "/etc/passwd" 및 "/etc/group"의 내용을 기반으로 각각 UID 및 GID에 해당하는 사용자를 찾습니다. 그러면 파일 이름과 그룹 이름이 표시됩니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
Linux 시스템에 로그인할 때 자신의 사용자 이름과 비밀번호를 입력하더라도 Linux는 실제로 사용자 이름을 알지 못합니다. 사용자 이름에 해당하는 ID 번호(즉, 숫자의 문자열)만 알고 있습니다. Linux 시스템은 모든 사용자 이름과 ID 간의 대응 관계를 /etc/passwd 파일에 저장합니다.
솔직하게 말하면 사용자 이름은 실제 효과가 없으며 단지 사용자의 기억을 용이하게 하기 위한 것입니다.
"Linux 시스템이 사용자 이름을 인식하지 못한다"는 것을 증명하는 것도 매우 간단합니다. 이전 장에서는 인터넷에서 ".tar.gz" 또는 ".tar.bz2" 형식의 파일을 다운로드했습니다. 압축을 풀면 파일 소유자의 속성에 숫자 문자열이 표시되는 것을 볼 수 있습니다. 이는 시스템이 사용자의 ID(UID) 번호를 나타내는 ID만 인식하기 때문에 정상적인 현상입니다.
리눅스 시스템에서는 각 사용자의 ID가 사용자 ID(사용자 ID, UID라고 함)와 그룹 ID(그룹 ID, GID라고 함)의 두 가지 유형으로 구분됩니다. 소유자 및 해당 속성(그림 1 참조)
그림 1 파일의 소유자 및 그룹 속성
그림 1에서 볼 수 있듯이 파일의 소유자는 최고 관리자 루트이고, 소유 그룹도 루트입니다. 누군가는 Linux 시스템이 사용자 이름을 인식하지 못하기 때문에 파일이 소유자 이름과 그룹 이름을 어떻게 식별하는지 묻습니다.
각 파일에는 고유한 소유자 ID와 그룹 ID가 있습니다. 파일 속성이 표시되면 시스템은 /etc/passwd 및 /etc/의 내용을 기반으로 각각 UID 및 GID에 해당하는 사용자 이름과 그룹을 찾습니다. 그룹 파일을 클릭하면 그룹 이름이 표시됩니다.
/etc/passwd 파일과 /etc/group 파일은 다음 글에서 자세히 설명하겠습니다. 여기서 알아야 할 것은 /etc/passwd 파일에서 해당 사용자 이름을 다음을 사용하여 찾을 수 있다는 것입니다. UID; /etc/group 파일에서 GID를 사용하여 해당 그룹 이름을 찾을 수 있습니다.
제가 사용하는 Linux 시스템에는 일반적으로 사용되는 두 가지 계정, 즉 루트 최고 관리자 계정과 c.biancheng.net 일반 계정이 있습니다. 먼저 루트 계정을 사용하여 로그인하고 사용합니다. Vim /etc/passwd 파일에서 c.biancheng.net 계정을 찾아 해당 UID를 임의의 숫자로 변경합니다. 일반 계정이 소유한 파일을 보면 모든 파일의 소유자가 더 이상 c가 아님을 알 수 있습니다. .biancheng.net. 그러나 숫자.
구체적인 실행 과정은 다음과 같습니다.
#查看系统中是否存在c.biancheng.net这个用户 [root@livecd ~]#grep 'c.biancheng.net' /etc/passwd c.biancheng.net:x:500:500:c.biancheng.net:/home/centoslive:/bin/bash [root@livecd ~]#ll -d /home/centoslive drwx------. 23 c.biancheng.net centoslive 4096 Apr 9 09:37 /home/centoslive [root@livecd ~]#vim /etc.passwd #修改c.biancheng.net账户中的UID(第一个 500)为 2000 [root@livecd ~]#ll -d /home/centoslive drwx------. 23 500 centoslive 4096 Apr 9 09:37 /home/centoslive #可以看到,之前的 c.biancheng.net 变为了 500,因为修改了UID,导致 500 找不到对应的账号,因此显示数字 #记得最后将其再手动改正过来 [root@livecd ~]#vim /etc.passwd #修改c.biancheng.net账户中的UID从 2000 改为 500
c.biancheng.net 계정의 UID가 2000으로 변경되었으나 홈 디렉토리가 500으로 기록되어 있으므로 이 사용자는 홈 디렉토리에 들어갈 수 없습니다. 그 사람이 다시 로그인했을 때.
이 섹션에서는 ID와 사용자 이름 간의 대응을 설명하기 위해 /etc/passwd 파일의 사용자 UID가 변경되었습니다. 이 작업으로 인해 일부 프로그램이 실패할 가능성이 높으므로 /etc/passwd 파일을 마음대로 수정할 수 없습니다.
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 Linux 사용자를 위한 ID에는 여러 유형이 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!