SELinux를 사용하여 디렉토리를 특정 사용자로 제한

SELinux를 사용하여 디렉토리를 특정 사용자로 제한

몇 가지 질문이 있습니다. (시스템 관리자 작업)

이게 내가 해달라고 한 일이야

사용자 Tim을 생성하고 그를 보조 그룹 Webdev에 추가합니다(그룹이 존재하지 않는 경우 그룹 생성). 또한 Tim의 기본 홈 디렉터리를 /websites로 설정합니다. 존재하지 않는 경우 생성합니다.

그래서 이것이 내가 한 일입니다:

useradd -m -d /websites Tim 
groupadd Webdev
useradd -aG Webdev Tim

나는 옳은 일을 했다고 생각한다.

이제 두 번째 작업 때문에 정말 혼란스러워요

Tim과 Tim만 /websites에 액세스할 수 있도록 사용자의 /home 디렉터리에 있는 /websites에 동일한 SELinux 컨텍스트 및 권한을 적용합니다.

어떻게 해야 하나요? 내 말은, Tim의 홈 디렉토리가 /websites여야 한다는 뜻인가요?

답변1

첫 번째 질문: 네. 다음 옵션을 사용하여 계정을 생성할 때 보조 그룹을 추가할 수 있습니다 -G.Webdev-G Webdev

SELinux는 사용자의 홈 디렉토리를 로 표시합니다 user_home_dir_t. 따라서 SELinux 컨텍스트를 설정하려면 다음을 사용합니다.

# chcon -t user_home_dir_t /websites

참조로 다른 사용자의 홈 디렉토리가 있는 경우 다음을 사용하여 복사할 수도 있습니다.# chcon --reference=<other home> /website

세트 소유자(Tim):

# chown Tim: /website

:사용자 이름 뒤의 콜론( )은 chown그룹 소유권이 동일하게 설정되었음을 나타냅니다. 즉, ls -ld /website표시됩니다 Tim Tim.

권한 설정:

# chmod 755 /website

755는 대부분의 (모든?) 시스템에서 홈 디렉토리의 기본값이며 로 변환됩니다 rwxr-xr-x.

관련 정보