3.4. Samba ID 매핑 이해 및 구성
Windows 도메인은 고유한 SID(보안 식별자)를 통해 사용자와 그룹을 구분합니다. 그러나 Linux에는 사용자 및 그룹마다 고유한 UID와 GID가 필요합니다. 도메인 구성원으로 Samba를 실행하는 경우 winbindd 서비스는 도메인 사용자 및 그룹에 대한 정보를 운영 체제에 제공합니다.
winbindd 서비스를 활성화하여 Linux에 사용자와 그룹에 고유한 ID를 제공하려면 /etc/samba/smb.conf 파일에 ID 매핑을 구성해야 합니다.
- 로컬 데이터베이스(기본 도메인)
- Samba 서버가 멤버인 AD 또는 NT4 도메인
- 사용자가 이 Samba 서버의 리소스에 액세스할 수 있어야 하는 각 신뢰할 수 있는 도메인
Samba는 특정 구성에 대해 다양한 ID 매핑 백엔드를 제공합니다. 가장 자주 사용되는 백엔드는 다음과 같습니다.
| 백엔드 | 사용 사례 |
|---|---|
|
|
|
|
| AD 도메인만 해당 |
|
| AD 및 NT4 도메인 |
|
|
AD, NT4 및 |
3.4.1. Samba ID 범위 계획 링크 복사링크가 클립보드에 복사되었습니다!
Linux UID 및 GID를 AD에 저장하는지 여부 또는 이를 생성하도록 Samba를 구성하는지 여부에 관계없이 각 도메인 설정에는 다른 도메인과 겹치지 않아야 하는 고유한 ID 범위가 필요합니다.
중복 ID 범위를 설정하면 Samba가 올바르게 작동하지 않습니다.
예 3.1. 고유 ID 범위
다음은 기본값(*), AD-DOM, 및 TRUST-DOM 도메인에 대한 인수 이외의 ID 매핑 범위를 보여줍니다.
도메인당 하나의 범위만 할당할 수 있습니다. 따라서 도메인 범위 사이에 충분한 공간을 남겨 두십시오. 이렇게 하면 나중에 도메인이 확장되는 경우 범위를 확장할 수 있습니다.
나중에 도메인에 다른 범위를 할당하면 이러한 사용자와 그룹이 이전에 만든 파일과 디렉터리의 소유권이 손실됩니다.
3.4.2. * 기본 도메인 링크 복사링크가 클립보드에 복사되었습니다!
도메인 환경에서는 다음 각각에 대해 하나의 ID 매핑 구성을 추가합니다.
- Samba 서버가 멤버인 도메인
- Samba 서버에 액세스할 수 있는 신뢰할 수 있는 각 도메인
그러나 다른 모든 개체에 대해 Samba는 기본 도메인의 ID를 할당합니다. 여기에는 다음이 포함됩니다.
- 로컬 Samba 사용자 및 그룹
-
BUILTIN\Administrators와 같은 Samba 기본 제공 계정 및 그룹
Samba가 올바르게 작동하도록 하려면 설명된 대로 기본 도메인을 구성해야 합니다.
할당된 ID를 영구적으로 저장하려면 기본 도메인 백엔드에 쓸 수 있어야 합니다.
기본 도메인의 경우 다음 백엔드 중 하나를 사용할 수 있습니다.
tdbtdb백엔드를 사용하도록 기본 도메인을 구성하는 경우 나중에 생성될 오브젝트를 포함할 ID 범위를 설정하고 정의된 도메인 ID 매핑 구성의 일부가 아닌 ID 범위를 설정합니다.예를 들어
/etc/samba/smb.conf파일의[global]섹션에서 다음을 설정합니다.idmap config * : backend = tdb idmap config * : range = 10000-999999
idmap config * : backend = tdb idmap config * : range = 10000-999999Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 내용은 TDB ID 매핑 백엔드 사용을 참조하십시오.
autoridautorid백엔드를 사용하도록 기본 도메인을 구성하는 경우 도메인에 대한 ID 매핑 구성을 추가하는 것은 선택 사항입니다.예를 들어
/etc/samba/smb.conf파일의[global]섹션에서 다음을 설정합니다.idmap config * : backend = autorid idmap config * : range = 10000-999999
idmap config * : backend = autorid idmap config * : range = 10000-999999Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 내용은 Autorid ID 매핑 백엔드 사용을 참조하십시오.
3.4.3. tdb ID 매핑 백엔드 사용 링크 복사링크가 클립보드에 복사되었습니다!
winbindd 서비스는 기본적으로 쓰기 가능한 tdb ID 매핑 백엔드를 사용하여 SID(보안 식별자), UID 및 GID 매핑 테이블을 저장합니다. 여기에는 로컬 사용자, 그룹 및 기본 제공 주체가 포함됩니다.
이 백엔드는 * 기본 도메인에만 사용합니다. 예를 들면 다음과 같습니다.
idmap config * : backend = tdb idmap config * : range = 10000-999999
idmap config * : backend = tdb
idmap config * : range = 10000-999999
3.4.4. ad ID 매핑 백엔드 사용 링크 복사링크가 클립보드에 복사되었습니다!
ad ID 매핑 백엔드를 사용하도록 Samba AD 멤버를 구성할 수 있습니다.
ad ID 매핑 백엔드는 읽기 전용 API를 구현하여 AD에서 계정 및 그룹 정보를 읽습니다. 이는 다음과 같은 이점을 제공합니다.
- 모든 사용자 및 그룹 설정은 AD에 중앙에 저장됩니다.
- 이 백엔드를 사용하는 모든 Samba 서버에서 사용자 및 그룹 ID가 일관되게 유지됩니다.
- ID는 손상될 수 있는 로컬 데이터베이스에 저장되지 않으므로 파일 소유권을 분실할 수 없습니다.
ad ID 매핑 백엔드는 단방향 트러스트가 있는 Active Directory 도메인을 지원하지 않습니다. 단방향 트러스트를 사용하여 Active Directory에 도메인 멤버를 구성하는 경우 tdb, rid, autorid와 같은 ID 매핑 백엔드 중 하나를 대신 사용합니다.
애드혹 백엔드는 AD에서 다음 속성을 읽습니다.
| AD 속성 이름 | 오브젝트 유형 | 매핑 대상 |
|---|---|---|
|
| 사용자 및 그룹 | 사용자 또는 그룹 이름 (오브젝트에 따라) |
|
| 사용자 | 사용자 ID(UID) |
|
| Group | 그룹 ID(GID) |
|
| 사용자 | 사용자 쉘의 경로 |
|
| 사용자 | 사용자의 홈 디렉터리 경로 |
|
| 사용자 | 기본 그룹 ID |
[a]
Samba는 idmap config DOMAIN:unix_nss_info = yes를 설정하는 경우에만 이 속성을 읽습니다.
[b]
Samba는 idmap config DOMAIN:unix_primary_group = yes를 설정하는 경우에만 이 속성을 읽습니다.
| ||
사전 요구 사항
-
사용자와 그룹 모두 AD에 고유한 ID를 설정해야 하며 ID는
/etc/samba/smb.conf파일에 구성된 범위 내에 있어야 합니다. 범위를 벗어나는 ID가 있는 개체는 Samba 서버에서 사용할 수 없습니다. - 사용자와 그룹은 AD에서 모든 필수 속성을 설정해야 합니다. 필수 속성이 없으면 Samba 서버에서 사용자 또는 그룹을 사용할 수 없습니다. 필수 속성은 구성에 따라 다릅니다. . 전제 조건
- Samba가 설치되어 있어야 합니다.
-
ID 매핑을 제외한 Samba 구성이
/etc/samba/smb.conf파일에 있습니다.
절차
/etc/samba/smb.conf파일에서[global]섹션을 편집합니다.없는 경우 기본 도메인 (
*)의 ID 매핑 구성을 추가합니다. 예를 들면 다음과 같습니다.idmap config * : backend = tdb idmap config * : range = 10000-999999
idmap config * : backend = tdb idmap config * : range = 10000-999999Copy to Clipboard Copied! Toggle word wrap Toggle overflow AD 도메인의
adID 매핑 백엔드를 활성화합니다.idmap config DOMAIN : backend = ad
idmap config DOMAIN : backend = adCopy to Clipboard Copied! Toggle word wrap Toggle overflow AD 도메인의 사용자와 그룹에 할당된 ID 범위를 설정합니다. 예를 들면 다음과 같습니다.
idmap config DOMAIN : range = 2000000-2999999
idmap config DOMAIN : range = 2000000-2999999Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요범위는 이 서버의 다른 도메인 구성과 겹치지 않아야 합니다. 또한 범위는 나중에 할당되는 모든 ID를 포함할 만큼 충분히 커야 합니다. 자세한 내용은 Planning Samba ID 범위를 참조하십시오.
AD에서 속성을 읽을 때 Samba가 RFC 2307 스키마를 사용하도록 설정합니다.
idmap config DOMAIN : schema_mode = rfc2307
idmap config DOMAIN : schema_mode = rfc2307Copy to Clipboard Copied! Toggle word wrap Toggle overflow Samba가 해당 AD 속성에서 로그인 쉘 및 사용자 홈 디렉터리 경로를 읽을 수 있도록 하려면 다음을 설정합니다.
idmap config DOMAIN : unix_nss_info = yes
idmap config DOMAIN : unix_nss_info = yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 모든 사용자에게 적용되는 균일한 도메인 전체 홈 디렉터리 경로 및 로그인 쉘을 설정할 수 있습니다. 예를 들면 다음과 같습니다.
template shell = /bin/bash template homedir = /home/%U
template shell = /bin/bash template homedir = /home/%UCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 Samba는 사용자 오브젝트의
primaryGroupID속성을 Linux의 사용자 기본 그룹으로 사용합니다. 또는 대신gidNumber특성에 설정된 값을 사용하도록 Samba를 구성할 수 있습니다.idmap config DOMAIN : unix_primary_group = yes
idmap config DOMAIN : unix_primary_group = yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/samba/smb.conf파일을 확인합니다.testparm
# testparmCopy to Clipboard Copied! Toggle word wrap Toggle overflow Samba 구성을 다시 로드합니다.
smbcontrol all reload-config
# smbcontrol all reload-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.5. 제거 ID 매핑 백엔드 사용 링크 복사링크가 클립보드에 복사되었습니다!
rid ID 매핑 백엔드를 사용하도록 Samba 도메인 멤버를 구성할 수 있습니다.
Samba는 Windows SID의 상대 식별자(RID)를 사용하여 Red Hat Enterprise Linux에서 ID를 생성할 수 있습니다.
RID는 SID의 마지막 부분입니다. 예를 들어 사용자의 SID가 S-1-5-21-5421822485-11512151-421485315-30014 이면 30014 가 해당하는 RID입니다.
rid ID 매핑 백엔드는 AD 및 NT4 도메인의 알고리즘 매핑 체계를 기반으로 계정과 그룹 정보를 계산하는 읽기 전용 API를 구현합니다. 백엔드를 구성할 때 idmap config DOMAIN : range 매개변수에서 가장 낮고 가장 높은 RID를 설정해야 합니다. Samba는 이 매개 변수에 설정된 것보다 낮은 RID를 가진 사용자 또는 그룹을 매핑하지 않습니다.
읽기 전용 백엔드인 rid는 BUILTIN 그룹과 같은 새 ID를 할당할 수 없습니다. 따라서 * 기본 도메인에 이 백엔드를 사용하지 마십시오.
rid 백엔드 사용의 이점
- 구성된 범위 내에 RID가 있는 모든 도메인 사용자 및 그룹은 도메인 멤버에서 자동으로 사용할 수 있습니다.
- ID, 홈 디렉터리 및 로그인 쉘을 수동으로 할당할 필요가 없습니다.
rid 백엔드 사용의 단점
- 모든 도메인 사용자는 동일한 로그인 쉘 및 홈 디렉터리가 할당됩니다. 그러나 변수를 사용할 수 있습니다.
-
사용자 및 그룹 ID는 모두 동일한 ID 범위 설정으로
rid백엔드를 사용하는 경우 Samba 도메인 멤버에서만 동일합니다. - 도메인 구성원에서 개별 사용자 또는 그룹을 사용할 수 없는 경우 제외할 수 없습니다. 구성된 범위를 벗어난 사용자 및 그룹만 제외됩니다.
-
winbindd서비스에서 ID를 계산하는 데 사용하는 공식에 따라 다른 도메인의 오브젝트에 동일한 RID가 있는 경우 다중 도메인 환경에서 중복 ID가 발생할 수 있습니다.
사전 요구 사항
- Samba가 설치되어 있어야 합니다.
-
ID 매핑을 제외한 Samba 구성이
/etc/samba/smb.conf파일에 있습니다.
절차
/etc/samba/smb.conf파일에서[global]섹션을 편집합니다.없는 경우 기본 도메인 (
*)의 ID 매핑 구성을 추가합니다. 예를 들면 다음과 같습니다.idmap config * : backend = tdb idmap config * : range = 10000-999999
idmap config * : backend = tdb idmap config * : range = 10000-999999Copy to Clipboard Copied! Toggle word wrap Toggle overflow 도메인에 대해
ridID 매핑 백엔드를 활성화합니다.idmap config DOMAIN : backend = rid
idmap config DOMAIN : backend = ridCopy to Clipboard Copied! Toggle word wrap Toggle overflow 향후 할당될 모든 RID를 포함할 만큼 큰 범위를 설정합니다. 예를 들면 다음과 같습니다.
idmap config DOMAIN : range = 2000000-2999999
idmap config DOMAIN : range = 2000000-2999999Copy to Clipboard Copied! Toggle word wrap Toggle overflow Samba는 이 도메인의 RID가 범위에 속하지 않는 사용자와 그룹을 무시합니다.
중요범위는 이 서버의 다른 도메인 구성과 겹치지 않아야 합니다. 또한 범위는 나중에 할당되는 모든 ID를 포함할 만큼 충분히 커야 합니다. 자세한 내용은 Planning Samba ID 범위를 참조하십시오.
매핑된 모든 사용자에게 할당될 쉘 및 홈 디렉터리 경로를 설정합니다. 예를 들면 다음과 같습니다.
template shell = /bin/bash template homedir = /home/%U
template shell = /bin/bash template homedir = /home/%UCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/samba/smb.conf파일을 확인합니다.testparm
# testparmCopy to Clipboard Copied! Toggle word wrap Toggle overflow Samba 구성을 다시 로드합니다.
smbcontrol all reload-config
# smbcontrol all reload-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.6. 자동 덮어쓰기 ID 매핑 백엔드 사용 링크 복사링크가 클립보드에 복사되었습니다!
autorid ID 매핑 백엔드를 사용하도록 Samba 도메인 멤버를 구성할 수 있습니다.
autorid 백엔드는 rid ID 매핑 백엔드와 유사하게 작동하지만 다른 도메인에 대한 ID를 자동으로 할당할 수 있습니다. 이를 통해 다음과 같은 상황에서 autorid 백엔드를 사용할 수 있습니다.
-
*기본 도메인 전용 -
*기본 도메인 및 추가 도메인의 경우 각 추가 도메인에 대한 ID 매핑 구성을 생성할 필요가 없습니다. - 특정 도메인 전용
기본 도메인에 autorid를 사용하는 경우 도메인에 대한 ID 매핑 구성을 추가하는 것은 선택 사항입니다.
이 섹션의 일부는 Samba Wiki에 게시된 idmap config autorid 문서에서 채택되었습니다. 라이센스: CC BY 4.0. 작성자 및 기여자: Wiki 페이지의 기록 탭을 참조하십시오.
autorid 백엔드 사용의 이점
- 계산된 UID 및 GID가 구성된 범위 내에 있는 모든 도메인 사용자와 그룹은 도메인 멤버에서 자동으로 사용할 수 있습니다.
- ID, 홈 디렉터리 및 로그인 쉘을 수동으로 할당할 필요가 없습니다.
- 다중 도메인 환경의 여러 오브젝트에 동일한 RID가 있는 경우에도 중복 ID가 없습니다.
단점
- 사용자 및 그룹 ID는 Samba 도메인 구성원에서 동일하지 않습니다.
- 모든 도메인 사용자는 동일한 로그인 쉘 및 홈 디렉터리가 할당됩니다. 그러나 변수를 사용할 수 있습니다.
- 도메인 구성원에서 개별 사용자 또는 그룹을 사용할 수 없는 경우 제외할 수 없습니다. 계산된 UID 또는 GID가 구성된 범위를 벗어나는 사용자와 그룹만 제외됩니다.
사전 요구 사항
- Samba가 설치되어 있어야 합니다.
-
ID 매핑을 제외한 Samba 구성이
/etc/samba/smb.conf파일에 있습니다.
절차
/etc/samba/smb.conf파일에서[global]섹션을 편집합니다.*기본 도메인의autoridID 매핑 백엔드를 활성화합니다.idmap config * : backend = autorid
idmap config * : backend = autoridCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 기존 및 향후 객체에 ID를 할당할 수 있을 만큼 큰 범위를 설정합니다. 예를 들면 다음과 같습니다.
idmap config * : range = 10000-999999
idmap config * : range = 10000-999999Copy to Clipboard Copied! Toggle word wrap Toggle overflow Samba는 이 도메인에서 계산된 ID가 범위에 속하지 않는 사용자와 그룹을 무시합니다.
주의범위를 설정하고 Samba가 사용을 시작한 후 범위의 상한값만 늘릴 수 있습니다. 범위에 대한 다른 모든 변경으로 인해 새 ID 할당이 발생할 수 있으므로 파일 소유권이 손실될 수 있습니다.
선택 사항: 범위 크기를 설정합니다. 예를 들면 다음과 같습니다.
idmap config * : rangesize = 200000
idmap config * : rangesize = 200000Copy to Clipboard Copied! Toggle word wrap Toggle overflow Samba는
idmap 구성 * : range매개변수에 설정된 범위의 모든 ID를 가져올 때까지 각 도메인의 개체에 대해 이 개수의 연속 ID를 할당합니다.참고범위 크기를 설정하는 경우 그에 따라 범위를 조정해야 합니다. 범위는 rangesize의 여러 개여야 합니다.
매핑된 모든 사용자에게 할당될 쉘 및 홈 디렉터리 경로를 설정합니다. 예를 들면 다음과 같습니다.
template shell = /bin/bash template homedir = /home/%U
template shell = /bin/bash template homedir = /home/%UCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 도메인에 대한 ID 매핑 구성을 추가합니다. 개별 도메인에 대한 구성이 없는 경우 Samba는 이전에 구성된
*기본 도메인에서자동만료 백엔드 설정을 사용하여 ID를 계산합니다.중요범위는 이 서버의 다른 도메인 구성과 겹치지 않아야 합니다. 또한 범위는 나중에 할당되는 모든 ID를 포함할 만큼 충분히 커야 합니다. 자세한 내용은 Planning Samba ID 범위를 참조하십시오.
/etc/samba/smb.conf파일을 확인합니다.testparm
# testparmCopy to Clipboard Copied! Toggle word wrap Toggle overflow Samba 구성을 다시 로드합니다.
smbcontrol all reload-config
# smbcontrol all reload-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow