GID는 무엇을 의미합니까?


14

GID는 실제로 무엇을 의미합니까?

나는 그것을 구글 검색했고 이것이 linux.about.com이 말한 것입니다 :

프로세스의 그룹 식별 번호. 유효한 그룹 번호는 /etc/group/etc/passwd파일 의 GID 필드에 제공 됩니다. 프로세스가 시작되면 해당 GID가 상위 프로세스의 GID로 설정됩니다.

  • 그러나 그것은 무엇을 의미합니까?

내 폴더에 대한 권한은 현재 0755

소유자의 UID를 설정하면 4755

그리고 그룹의 GID를 설정하면 2755

다른 사람을 위해 고정 비트를 설정하면 1755

  • 이러한 권한을 설정하는 것이 중요합니까?

답변:


27

의 모든 공정 유닉스 계열 시스템, 단지 모든 파일처럼, 소유자 (사용자, 실제 또는 시스템 중 하나 "의사 사용자"등이있다 daemon, bin, man, 등)와 그룹 소유자를. 사용자 파일의 그룹 소유자는 일반적으로 해당 사용자의 기본 그룹이며 유사한 방식으로 시작하는 모든 프로세스는 일반적으로 사용자 ID 및 기본 그룹 ID가 소유합니다.

그러나 때때로 특정 명령을 실행하려면 높은 권한이 필요하지만 전체 관리 권한을 부여하는 것은 바람직하지 않습니다. 예를 들어, passwd명령은 시스템의 섀도우 비밀번호 파일에 액세스해야 비밀번호를 업데이트 할 수 있습니다. 분명히, 모든 사용자에게 루트 권한을 부여하고 싶지는 않습니다. 단지 비밀번호를 재설정 할 수 있습니다. 대신, 특정 작업을 수행하기 위해 사용자에게 상승 된 권한을 일시적으로 부여하는 다른 방법이 필요합니다. 이것이 SETUID 및 SETGID 비트입니다. 표시된 명령이 실행되는 동안 커널이 사용자의 권한을 일시적으로 올리도록하는 방법입니다. SETUID 바이너리는 실행 파일 소유자의 권한으로 실행됩니다 (보통root), SETGID 바이너리는 실행 파일의 그룹 소유자의 그룹 권한으로 실행됩니다. SETUID에 passwdroot하고 SETUID 인 명령 의 경우 일반 사용자는 루트 권한으로 실행하여 제어되고 예측 가능한 방식으로 암호 파일의 내용에 직접 영향을 줄 수 있습니다. 수많은 다른 있습니다 SETUID에서 명령은 UNIX 계열 시스템 ( chsh, screen, ping, su제대로 작동 높은 권한 모두 등). SETGID커널이 일시적으로 프로세스의 GID를 변경하는 로그 파일 등에 대한 액세스를 허용 하는 몇 가지 프로그램 이 있습니다 sendmail.

sticky bit약간 다른 용도로 사용됩니다. 가장 일반적인 용도는 파일을 만든 사용자 계정 만 해당 파일을 삭제할 수 있도록하는 것입니다. /tmp디렉토리를 생각하십시오 . 매우 자유로운 권한을 가지고 있으므로 누구나 파일을 만들 수 있습니다. 이것은 좋은, 그리고 사용자의 프로세스 (임시 파일을 만들 수 있습니다 screen, ssh등, 킵 상태 정보 /tmp). 사용자의 임시 파일을 보호하려면 /tmp고정 비트가 설정되어 있으므로 파일 만 삭제할 수 있으며 사용자 만 삭제할 수 있습니다. 물론 루트는 무엇이든 할 수 있지만 sysadmin이 문제가되지 않기를 바랍니다.

일반 파일 (즉, 실행 파일이 아닌 파일)의 경우 SETUID / SETGID 비트를 설정하는 데 별다른 문제가 없습니다. 일부 시스템의 디렉토리에서 SETGID는 해당 디렉토리에서 작성된 새 파일의 기본 그룹 소유자를 제어합니다.


2
아 대단해. 고마워. 따라서 Sticky Bit는 개인 (사용자) 권한과 비슷합니까? 그 대답은 잘 표현되었고 이해할 수있었습니다.
Kevdog777

1
감사합니다! 고정 비트는 자유 권한이있는 디렉토리의 파일을 약간 보호합니다. 소유자가 누구든 관계없이 모든 파일에 대해 동일한 수준의 보호가 제공되므로 특정 사용자에게 고유 한 것은 아닙니다. 누구나 파일을 작성하고 소유자 만 파일을 파기 할 수 있도록하는 방법입니다.
D_Bye

+1, D_bye, 디렉토리에 setgid 비트 세트에 대한 예제를 공유 할 수 있습니까? 감사합니다
Ankit

1
@Ankit Solaris에서 (그리고 거의 다른 것들도 있지만 * BSD와 Solaris 만 사용합니다.) 만약 setgid 비트가 디렉토리에 설정되어 있다면, 그 디렉토리에서 생성 된 새로운 파일은 디렉토리 자체와 동일한 그룹 소유자를 가지게됩니다. 작성 프로세스의 기본 그룹 (사용자 실행)을 상속하지 않습니다.
D_Bye

3

파일의 "SGID"비트를 의미한다고 생각합니다. GID와 다릅니다.

내 컴퓨터의 일반적인 파일은 다음과 같습니다 (ls -l 출력).

-rw-r----- 1 bristol    users 16 2012-07-23 11:36 file.txt
abbbcccddd <-- See explanation below.

처음 10 개의 심볼을 보면

(a)-: 디렉토리, 심볼릭 링크, 파이프 등과는 대조적으로 평범한 오래된 파일입니다. ...

(b) rw- : 소유자는이 파일을 읽고 쓸 수는 있지만 실행할 수는 없습니다. 나중에 줄에서 볼 수 있듯이 소유자는 "브리스톨"입니다.

(c) r-- :이 파일이 속한 그룹의 구성원 (이 예에서는 "사용자")이 소유자 이외의 다른 사람은 읽을 수는 있지만이 파일을 쓰거나 실행할 수는 없습니다.

(d) --- : 다른 사람은이 파일에 전혀 액세스 할 수 없습니다 (물론 루트 제외).

GID 필드는이 파일이 속한 그룹 (이 경우 "사용자")을 알려주는 필드입니다.

설명을 기반으로 아마도 의미하는 필드는 SGID 비트이며 여기에 내가 올 수있는 것보다 더 나은 설명이 있습니다.

http://www.codecoffee.com/tipsforlinux/articles/028.html

짧은 버전은 다음과 같습니다. 실행 파일에 SGID 비트가 설정되어 있으면 그룹에 없지만이 파일을 실행할 수있는 사람은 프로그램이 실행되는 동안이 그룹의 권한을 일시적으로 얻게됩니다.

예를 들어, 인쇄 스풀러 디렉토리에서 파일을 읽고 쓸 수있는 그룹 "스풀"이있는 경우, 누군가이 디렉토리를 망칠 필요는 없지만 파일을 인쇄 할 수 있기를 원할 수 있습니다. 일부 인쇄 프로그램 또는 스크립트에는 "스풀"그룹이 있고 SGID 비트를 설정하고 누군가이 프로그램을 시작하면 프로그램을 실행하는 사람이 스풀러 디렉토리에 쓸 수 있습니다.


좋습니다. 감사합니다. 나는 권한 부분을 이해합니다 (abbbcccddd 부분)-그러나 당신을 nk합니다 :)
Kevdog777

tmp 폴더에 대한 내 권한이 방금 확인되었습니다 drwxrwxrwt .... 2 sys .... sys .... 1024 Jul 24 15:17 tmp. 뭐라고합니까 abbbcccddt(문자 't')는 말인가요? - "d = directory", "rwx = read, write, execute"; 그러나 나는 마지막에 't'를 본 적이 없다. tmp 폴더에 대한 특별한 권한입니까?
Kevdog777

작은 t는 "실행 가능 (x) 및 고정 비트 세트"입니다. / tmp에서 이것이 왜 일반적인 지에 대한 설명은 위를 참조하십시오.
브리스톨

3

GID는 그룹의 ID 번호입니다. OS가 무언가 (프로세스, 파일 등)와 관련된 (사용자) 그룹을 표현하는 것은 간단합니다. 잠재적으로 긴 문자열 식별자 대신 고정 크기 숫자로 표현 될 수 있습니다.

4 개의 8 진수 (예 : 0755)의 파일 권한 값에서 세 번째 숫자는 파일에 대한 그룹의 권한을 지정합니다. 첫 번째 숫자를 생략하면 그룹의 권한을 지정하는 두 번째 숫자입니다. 파일과 디렉토리는 이와 관련하여 동일하게 취급되지만 디렉토리의 경우 각 권한 비트의 정확한 의미는 다소 직관적이지 않습니다.

두 가지 개념은 서로 관련이 있지만 매우 다른 목적으로 사용됩니다.

귀하의 질문에 관해서는 "이러한 권한을 설정하는 것이 중요합니까?"; 그것들은 항상 무언가로 설정 되지만, 대부분의 경우 초기 숫자는 0 ( "특별한 것 없음")이므로 간결성을 위해 생략되는 경향이 있습니다. 다른 값을 지정해야하는지 여부는 해당 파일 또는 디렉토리의 사용 패턴에 전적으로 달려 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.