클라이언트 컴퓨터의 사용자는 chmod 유틸리티를 사용하여 NTFS 파일 시스템 파티션에 저장되고 NFS용 서버를 통해 공유되는 파일 또는 디렉터리에서 setuid(set-user-identifier-on-execution), setgid(set-group-identifier-on-execution) 및 Sticky 파일 모드 비트를 설정할 수 있습니다. 이후 UNIX 기반 클라이언트에서 파일 또는 디렉터리에 액세스하면 이러한 비트에 대한 표준 의미가 적용됩니다. 예를 들어, setuid 비트 세트가 있는 실행 파일은 파일을 실행하는 사용자의 UID(사용자 ID)가 아니라 파일 소유자의 사용자 ID로 실행됩니다.

일반적으로 setuid 또는 setgid 비트가 파일에 설정되어 있는 경우 파일의 소유자 또는 그룹은 파일을 실행하는 소유자 또는 GID(그룹 ID)로 변경됩니다. 사용자에게 파일 또는 디렉터리를 복원할 수 있는 권한이 없는 경우 Windows 보안을 사용하면 사용자가 파일의 사용 권한에 따라 허용되는 한 파일의 소유권을 가져올 수 있지만 다른 사용자에게 소유권을 이전할 수 없습니다. 따라서 chown 또는 chgrp를 사용하여 파일의 소유자 또는 그룹을 다른 사용자 또는 그룹으로 변경하려면 파일 및 디렉터리를 복원할 수 있는 권한이 있어야 합니다. 이 권한은 다른 그룹 또는 개별 사용자에게 할당될 수 있지만 기본적으로는 Administrators 및 Backup Operators 그룹의 구성원에게 할당됩니다. 또한 chown 또는 chgrp를 실행하는 사용자 및 소유권을 받는 사용자나 그룹의 계정이 Active Directory 조회 또는 사용자 이름 매핑을 통해 제대로 매핑되어야 합니다.

일부 UNIX 기반 NFS(Network File System) 서버는 setuid, setgid 및 Sticky 비트에 대해 특별한 해석이나 제한을 적용합니다. 예를 들어, 일부 UNIX 버전에서는 setgid 비트 세트가 있는 디렉터리를 강제로 잠글 수 있지만 실행 권한을 적용하지 못합니다. NFS용 서버에서는 이러한 비트 사용에 대해 특별한 해석이나 제한을 적용하지 않습니다.

보안 문제

일반적인 UNIX setuid 및 setgid 동작은 UNIX의 알려진 보안 문제를 나타냅니다. 침입자가 실행 파일을 트로이 목마로 덮어쓴 다음 실행 파일을 실행하여 setuid 및 setgid 동작을 이용할 수 있습니다. 실행 파일은 침입자가 아니라 소유자의 권한으로 실행됩니다.

이 알려진 보안 문제를 방지하기 위해 파일 또는 디렉터리에 다음 특성이 모두 있는 경우 기본적으로 setuid 및 setgid는 사용하지 않도록 설정되고 UID 또는 GID 설정에 영향을 주지 않습니다.

  • setgid 또는 setuid 비트 중 하나 또는 모두가 설정되어 있습니다.

  • 파일 또는 디렉터리가 그룹 쓰기 또는 그룹 실행이 가능하거나 또는 모든 사람이 쓰거나 실행할 수 있습니다.

일부 고객은 UNIX setuid 및 setgid의 일반적인 동작이 NFS 프로토콜의 일부로 지정되지 않았지만 UNIX의 일반적인 동작과 다르기 때문에 이 보안 조치에 문제가 있음을 알 수 있습니다.

setuid 및 setgid 동작 변경

setuid 및 setgid 비트의 동작을 변경하려면 다음 절차를 사용하십시오.

setuid 및 setgid 동작을 변경하려면
  1. 레지스트리 편집기를 엽니다.

  2. 다음 레지스트리 키를 설정합니다.

    HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)

    • 값이 1일 경우 보다 안전한 setuid 및 setgid 동작이 나타납니다.

    • 값이 0일 경우 표준 UNIX 동작이 나타납니다.