FreeIPA 자동 마운트 홈 디렉터리가 로컬 사용자 홈 디렉터리 생성을 방지합니다.

FreeIPA 자동 마운트 홈 디렉터리가 로컬 사용자 홈 디렉터리 생성을 방지합니다.

FreeIPA를 내 네트워크의 IDM 소프트웨어로 설정하고 Kerberos 지원 NFS 서버와 Kerberos 지원 NFS 클라이언트를 성공적으로 구성했습니다. 사용자가 컴퓨터에 로그인하면 NFS 서버의 사용자 디렉토리가 autofs를 통해 로컬 컴퓨터 nfs:/srv/nfs/home/userdir에 자동으로 마운트됩니다./home/userdir

내가 직면하고 있는 문제는 한 컴퓨터에서 로컬 사용자(예: git 사용자)를 생성해야 할 때 다음과 같이 할 수 없다는 것입니다.뿌리/home/git사용자는 다음과 같이 git 사용자를 위한 새 홈 디렉토리를 생성합니다.useradd: cannot create directory /home/git

내 auto.home 맵은 다음과 같이 구성됩니다. * nfs:/srv/nfs/home/&임의의 사용자로 로그인하면 사용자의 홈 디렉토리만 내 auto.master 맵 아래에 마운트되고 /home 내 auto.master 맵에는 다음 항목이 있습니다./home auto.home

출력은 mount다음과 같습니다.

auto.home on /home type autofs (rw,relatime,fd=6,pgrp=651,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=15731)
nfs:/srv/nfs/home/userdir on /home/userdir type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=krb5,clientaddr=10.110.29.100,local_lock=none,addr=10.110.29.107)

다른 파일 시스템 및 장치에 대한 불필요한 정보는 생략했습니다.

홈 디렉토리의 getfacl은 다음을 반환합니다.

file: home
owner: root
group: root
user::rwx
group::r-x
other::r-x

이제 내 질문은 이 설정으로 인해 내 로컬 루트 계정이 내 컴퓨터에 로컬 홈 디렉터리를 생성하는 것을 방지할 수 있느냐는 것입니다.

답변1

예, 현재 설정에서는 NFS 마운트 지점에 대한 자동 마운트 맵을 /home정의했기 때문에 ... 아래의 로컬 사용자를 위한 로컬 홈 디렉토리를 생성할 수 없습니다 . /homeNFS는 Kerberos를 인식하므로 사용자가 NFS 설치의 홈 디렉터리에 액세스하려면 최소한 Kerberos 키탭이 필요하며 키탭은 사용자의 홈 디렉터리에 저장됩니다. 이것은 닭고기가냐 달걀이냐의 문제인 것 같습니다.

그러나 이름이 지정된 로컬 사용자의 홈 디렉토리는 git아래에 있을 필요는 없습니다. 예를 들어 /home아래에 있을 수도 있습니다./home.local/git

이 질문에 태그를 지정했고 rhelRHEL은 기본적으로 SELinux를 사용하므로 실제 홈 디렉터리에 적절한 SELinux 레이블을 적용해야 한다는 점을 알고 싶을 수도 있습니다.및 해당 상위 디렉토리.

git홈 디렉토리를 로 설정 하려면 /home.local/git먼저 SELinux 라벨을 다음과 같이 준비해야 합니다.

semanage fcontext -a -t home_root_t -f d /home.local
semanage fcontext -a -t user_home_dir_t -f d '/home.local/[̂^/]+'
semanage fcontext -a -t user_home_t '/home.local/[^/]+/.+'
mkdir /home.local
restorecon -rv /home.local

즉, 바로 아래의 모든 디렉토리 /home.localhome_root_t을 얻고 user_home_dir_t해당 디렉토리보다 깊은 모든 파일과 디렉토리는 을 얻습니다 user_home_t. 유사한 라벨 지정 규칙이 이미 일반에 존재합니다 /home.

그런 다음 git사용자를 생성할 수 있습니다.

useradd -d /home.local/git -m [any other options] git

또는 사용자가 이미 존재하고 홈 디렉터리 생성이 실패한 경우 홈 디렉터리 경로를 수정하고 실제 홈 디렉터리를 수동으로 만들 수 있습니다.

usermod -d /home.local/git git
cp -a /etc/skel /home.local/git
chown -R git: /home.local/git
chmod 700 /home.local/git  # or according to requirements

관련 정보