왜 바퀴와 작업자에 뿌리가 있습니까? 그룹에 속한 뿌리가 변화를 일으킬 수 있습니까?


18

방금 FreeBSD 컴퓨터에서 루트가 바퀴와 연산자에 있음을 알았습니다. UID 0이 그룹에 속해있는 상황에 대해 생각하고 싶습니다. 음 .. 무엇이든지, 나는 비어 있습니다. 이를 위해 root는 / etc / passwd에 기본 로그인 그룹이 필요합니까? 또는 사용자에게 빈 기본 그룹 필드가 있으면 login (3)이 질식하고 죽습니까?

(명확하게하기 위해 : 파일에는 그룹 소유자가 필요하기 때문에 "루트"그룹의 존재 목적을 이해합니다. 사용자 루트 / 투어 / 그룹 멤버쉽이 무엇인지가 중요하지 않습니다.)

이것이 수십 년 전에 방금 났습니까? 아니면 진짜 이유가 있습니까?

답변:


5

한마디로 : 아니오. 루트를 설정 wheel하고 operator그룹을 변경하면 아무것도 변경되지 않습니다.

그러나 당신은 또한 다른 두 가지 질문을하고 있습니다 :

  • 루트 그룹 ID는 기본적으로 0으로 설정되어 있으며 빈 값에 가장 가깝습니다.

    $ head -4 /etc/passwd
    # $FreeBSD: releng/9.2/etc/master.passwd 243947 2012-12-06 11:52:31Z rwatson $
    #
    root:*:0:0:Charlie &:/root:/bin/csh
    toor:*:0:0:Bourne-again Superuser:/root:
    

    앞에서 언급했듯이 모든 사용자는 그룹을 가져야하므로 루트 그룹 ID (또는 사용자 gid)를 void 또는 공백 값으로 설정할 수 없습니다 . 사용자 gid를 공백으로 설정하려고하면 다음과 같은 경고가 표시됩니다 pwd_mkdb.

    pwd_mkdb: no gid for user root
    pwd_mkdb: at line #3
    pwd_mkdb: /etc/pw.Rlb2U3: Inappropriate file type or format
    re-edit the password file?
    

    따라서 루트 가 정의 된다는 사실 은 단지 벙어리 숫자 대신 이름을 올바르게 지정하는 것입니다. 루트 gid를 의미없는 숫자 (gid가 아닌 /etc/group)로 변경할 수 있습니다 . 귀하의 루트 사용자는 여전히 로그인 할 수있을 것입니다, su또는 어떤 다른 루트를 할 수 있습니다. 당신은 결국 다음과 같은 것을 갖게 될 것입니다 :

    $ id
    uid=0(root) gid=10000 groups=10000,5(operator)
    
  • OpenBSDNetBSD 와 같은 FreeBSD 와 같이 일부 사용자가 그룹에 속해 있는 이유에 대해 사용자는 근절 하기 위해의 일부가 되어야 합니다 .wheelsu

    FreeBSD 문서에서 ( 챕터 9.4 ) :

    SU루트 (또는 수퍼 유저 권한이있는 다른 계정), 당신은에 있어야 그룹. 이 기능이 없으면 루트 암호를 확인한 시스템 계정이있는 사람은 누구나 시스템 에 대한 수퍼 유저 수준의 액세스 권한을 얻을 수 있습니다. 이 기능을 사용하면 이는 사실이 아닙니다. su (1)은 그들이 바퀴에 있지 않은 경우에도 암호를 입력하지 못하게합니다 .

    하지만 당신은 제거 맞아 루트 으로부터 사용자를 상황을 타개하지 않을 것입니다. 이것은 toor 사용자 나 wheel 또는 root운영자 그룹 의 일부가 아닌 한 순수하게 공식적인 것 입니다.

  • 그러나 운영자 그룹은 그 자체로 특별한 의미가없는 순수한 형식입니다.

다음은 또한 Richard Stallman 그룹 에 대해 생각한 것입니다 ( gnu su manual ).

GNU "su"가`wheel '그룹을 지원하지 않는 이유 ======================================= ==========

(이 섹션은 Richard Stallman이 작성했습니다.)

때로는 일부 사용자가 나머지 모든 것에 대해 총력을 유지하려고합니다. 예를 들어, 1984 년에 MIT AI 연구소의 일부 사용자는 Twenex 시스템에서 운영자 비밀번호를 변경하고 다른 사람의 비밀을 유지함으로써 전력을 확보하기로 결정했습니다. (이 쿠데타를 막고 커널을 패치하여 사용자들에게 힘을 줄 수는 있었지만 유닉스에서는 어떻게해야할지 모르겠습니다.)

그러나 때때로 통치자들이 누군가에게 말합니다. 일반적인 "su"메커니즘 하에서 누군가 일반 사용자와 공감하는 루트 암호를 알게되면 나머지는 말할 수 있습니다. "바퀴 그룹"기능은이를 불가능하게하여 통치자의 힘을 강화합니다.

나는 대중의 편이 아니라 통치자의 편이 아닙니다. 보스와 sysadmin을 지원하는 데 익숙하다면 처음에는이 아이디어가 이상 할 수 있습니다.


1

login (3) 및 기타 사용자는 기본 그룹을 기대합니다. utmp / wtmp 파일에서 유효한 필드를 설정할 수 있도록 필요합니다. 그리고 파일 형식이 변경되지 않았더라도 login (1) 또는 sshd (8) 또는 다른 프로그램이 utmp / wtmp에 관계없이 사용자 세션을 설정하려고 할 때 더 근본적인 문제가 발생합니다. UID 및 GID 커널 프로세스 속성 (로그인 한 사용자가 만든 파일에 UID 및 GID가 채워져 있어야 함)

all-powerful-root가 기본 그룹 이상을 필요로하는 문제에 대해서는 권한 검사 (UID 0에서는 건너 뛰었으므로)가 아니라 다른 용도로 사용됩니다.

"wheel"그룹은 특히 pam_wheel 과 같은 몇 가지 추가 인증 확인에 사용됩니다.

"operator"와 같은 다른 그룹은 보안 기능에 사용될 수 있습니다 (예를 들어, root에 의해 실행될 때 일부 프로세스 는 권한이없는 USER (예 : "nobody")로 setuid (2)를 설정할 수 있지만 "operator"와 같은 GROUP 멤버쉽은 유지합니다. 이러한 프로세스는 해당 그룹이 소유 한 파일에 계속 액세스 할 수 있으며 전체 UID 0 액세스로 실행하는 보안 문제를 크게 줄입니다.

시스템에이 기능을 사용하는 프로그램이 있는지 확실하지 않습니다 (또는 기본 FreeBSD CURRENT 인 경우).


0

프로그램이 그룹 구성원을 확인하고 결과에 따라 다르게 동작하는 즉시 차이를 만들 수 있습니다. 물론 루트 사용자가 강제로 수행 할 수있는 권한에는 차이가 없습니다 .


0

아무도 그룹 휠의 구성원이 아닌 경우 휠이 무시되고 모든 사용자가 su를 실행할 수 있으며 잠재적으로 암호를 추측 할 수 있습니까? 적어도 하나의 사용자 아이디를 그룹 휠의 멤버 (즉, 사용자 아이디 루트)로함으로써, 휠 컨트롤이 점검되고 그룹 휠의 다른 멤버 만이 su를 실행할 수 있습니다.

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