Fedora 26에서 +를 설정하는 데 nfs
문제가 있습니다 .kerberos
나는 이 튜토리얼을 따랐습니다:
RHEL7: Kerberos를 사용하여 NFS 네트워크 공유에 대한 액세스 제어 |
현재 순수 NFS는 잘 작동하고, kinit
단독으로도 잘 작동하는데, 마운트하려고 하면 여전히 권한이 안 나오고 /var/log/krb5kdc.log
.
krb5kdc[12560](info): AS_REQ (8 etypes {18 17 16 23 25 26 20 19}) 192.168.0.13: NEEDED_PREAUTH: nfs/rbenedettin.local@LOCAL for krbtgt/LOCAL@LOCAL, Additional pre-authentication required
krb5kdc[12560](info): preauth (encrypted_timestamp) verify failure: Preauthentication failed
krb5kdc[12560](info): AS_REQ (8 etypes {18 17 16 23 25 26 20 19}) 192.168.0.13: PREAUTH_FAILED: nfs/rbenedettin.local@LOCAL for krbtgt/LOCAL@LOCAL, Preauthentication failed
그것을 사용하고 싶습니다 zero-config
. 그것을 사용하지 않고 시도했지만(편집 /etc/hosts
) 문제가 지속되고 일부 다른 튜토리얼에서는 이를 지적 authconfig-gui
하지만 authconfig-tui
Fedora 26에는 더 이상 이 기능이 없습니다. 최신 Fedora 버전과 nfs+kerberos에 대한 정보는 웹상에 거의 없기 때문에 정보를 주시면 정말 감사하겠습니다.
답변1
문제는 어디에 있습니까?
실제로 이 튜토리얼에서는 많은 필수 요소( 등)를 완전히 무시했는데
sssd
,pam
초점이 RHEL 시험에 있는 것처럼 보이기 때문에 요점이 아닐 수도 있습니다. 나는 시스템 관리자가 아니기 때문에(그리고 잠시 후 많은 질문이 있기 때문에) 이 작업과 관련된 모든 도구에 대해 여전히 약간 감을 잃었지만 작동하게 만들었습니다. 대부분 의 덕분입니다freeIPA
.나는 여기에 내가 한 일을 넣으려고 노력할 것입니다. Fedora 26 또는 25 이상에서 Kerberos 기반 NFS 환경을 얻는 방법을 이해하는 데 도움이 되기를 바랍니다.부적절한 절차를 발견하시면 수정해 주시기 바랍니다.이는 구성이 전혀 없고 SELinux 환경에는 영향을 주지 않으므로 격차를 해소할 수 있는 사람은 누구나 이를 수정할 수 있습니다.
당신이 엉망이라면
많은 일을 시도할 만큼 용감하다면 결과가 없는 OpenLDAP 서버를 설정하더라도 모두 삭제하고 구성 파일과 캐시를
Kerberos
삭제OpenLDAP
하고 NFS 서버가 이미 작동하고 있다면 Kerberos를 유지 관리할 수 있습니다. /etc/sssd를 삭제하고 패키지를 다시 설치하려는 경우./etc
/var/lib/
sssd
Fedora 26에서 NFS + Kerberos를 얻는 방법
간단한 설명에는 다음이 필요합니다.
- CPU 이름(관찰 내용 읽기)
- NFS 서버가 작동 중입니다.
- 무료 IPA 설치
- IPA + Kerberos + NFS 구성
- 관찰 결과
CPU 이름
계속하기 전에 답변 끝에 있는 호스트 이름 관련 관찰 내용을 읽어보세요.
언급했듯이 설정을 원합니다 zero-conf
. 내 컴퓨터에 이름을 지정하고 avahi
서비스를 활성화/차단 해제했습니다. 재고가 있는 Fedora 설치 Avahi가 켜져 있어야 합니다.
를 사용하여 호스트 이름을 얻거나 변경할 수 있습니다 hostnamectl
.
$ hostnamectl set-hostname "myhostname"
덕분에 avahi
모든 로컬 네트워킹이 종료됩니다 .현지의도메인을 사용하면 컴퓨터는 다음과 같은 주소를 갖게 됩니다.귀하의호스트이름.로컬. 두 대의 컴퓨터를 사용하여 설정을 계속하겠습니다.
서버 로컬-> 서버
로컬 클라이언트-> 클라이언트
Kerberos
(freeIPA 서버)는 세 번째 컴퓨터에 있을 수 있지만 단순화를 위해 두 컴퓨터 모두 하나의 컴퓨터에서 서비스 freeIPA
됩니다 NFS
.
NFS 서버
서비스 터미널
NFSv4를 사용하는 척한다고 가정하므로 다음 사항만 필요합니다.
$ dnf install nfs-utils
$ systemctl enable nfs-server
$ systemctl start nfs-server
$ firewall-cmd --permanent --add-service=nfs
$ firewall-cmd --reload
내보내기 편집 /etc/exports
:
# if using "sec=krb5p" your will need Kerberos, remove it for tests
/path/to/exported/dir client.local(rw,sync,sec=krb5p)
내보내기 디렉터리:
$ exportfs -avr
$ systemctl restart nfs-server
고객
필수 패키지를 설치합니다:
$ dnf install nfs-utils
다음을 사용하여 이를 테스트할 수 있습니다.
$ mount -t nfs server.local:/path/to/exported/dir /path/to/local/dir
무료 IPA 설치
서비스 터미널
설치 freeipa-server
하고 명확한 답변을 제공했습니다.
$ dnf install freeipa-server
$ ipa-server-install
...
Do you want to configure integrated DNS (BIND)? [no]: **no**
...
Server host name [server.local]: **press enter**
...
Please confirm the domain name [local]: **press enter**
...
Please provide a realm name [LOCAL]: **press enter**
...
Directory Manager password: *******
Password (confirm): *******
...
IPA admin password: *******
Password (confirm): *******
...
Continue to configure the system with these values? [no]: **yes**
필요한 방화벽 포트를 엽니다.
$ firewall-cmd --add-service={freeipa-ldap,freeipa-ldaps} --permanent
$ firewall-cmd --reload
고객
설치 freeipa-client
하고 명확한 답변을 제공했습니다.
$ dnf install freeipa-client
$ ipa-client-install --server=serve.local --domain LOCAL
...
Proceed with fixed values and no DNS discovery? [no]: **yes**
...
Continue to configure the system with these values? [no]: **yes**
...
User authorized to enroll computers: **admin**
...
Password for [email protected]: ******
IPA + Kerberos + NFS 구성
이 시점에서 작동 중인 Kerberos 서버와 클라이언트를 갖게 됩니다.사용자서버와 클라이언트에서.
서비스 터미널
관리자로 인증해야 합니다.
$ kinit admin
Password for [email protected]: *****
다음을 통해 인증되었는지 확인할 수 있습니다 klist
.
$ klist
Ticket cache: KEYRING:persistent:1000:krb_ccache_######
Default principal: admin@LOCAL
Valid starting Expires Service principal
17-10-2017 20:41:20 18-10-2017 20:41:17 krbtgt/LOCAL@LOCAL
이제 사용자 주체를 추가할 수 있습니다. Unix 사용자와 동일한 이름과 비밀번호를 사용하는 것이 좋습니다.
$ ipa user-add user [email protected] --first=User --last="Foo" --password
password: ******
서비스 주체 추가 NFS
:
# --force is needed otherwise will complain about DNS record missing
$ ipa service-add nfs/server.local --force
호스트 및 서비스 키를 가져옵니다.
$ ipa-getkeytab -s server.local -p host/server.local -k /etc/krb5.keytab
Keytab successfully retrieved and stored in: /etc/krb5.keytab
$ ipa-getkeytab -s server.local -p nfs/server.local -k /etc/krb5.keytab
Keytab successfully retrieved and stored in: /etc/krb5.keytab
고객
서버 측에서와 마찬가지로 관리자로 인증하고 클라이언트 호스트를 추가합니다.
$ kinit 관리자 비밀번호[이메일 보호됨]: *****
$ ipa-getkeytab -s server.local -p host/client.local -k /etc/krb5.keytab 키탭이 성공적으로 검색되어 /etc/krb5.keytab에 저장되었습니다.
sec=krb5p
freeIPA 및 기타 모든 항목을 구성한 후 서버에 추가하는 것을 잊지 마십시오 . /etc/export
서버와 클라이언트를 다시 시작하거나 NFS
서비스를 다시 시작하십시오 IPA
. 이 시점에서 클라이언트 측에 원격 폴더를 탑재할 수 있습니다.
$ mount -v -t nfs -o sec=krb5p server.local:/path/to/exported/dir /path/to/local/dir
관찰 결과
제로 구성 설정이 잘 안되네요...
안타깝게도 FreeIPA는 BIND
DNS 서버에 크게 의존하는 것 같습니다. 안타깝게도 가정용으로는 너무 많이 사용하고 저가형 장치에 성능 부담을 줍니다. 가장 간단한 해결책은 를 사용하지 않고 dhcp
모든 시스템에 고정 IP를 설정하고 "/etc/hosts"에 별칭을 정의하는 것입니다.
x.x.x.x server.local server
y.y.y.y client.local client
로그인할 때 Kerberos 인증을 받을 수 있도록 pam을 구성해 보는 것은 어떨까요?
우리가 볼 수 있는 한여기freeipa를 사용하는 경우에는 sssd
필요하지 않습니다 authconfig --enablekrb5 --update
.
파티션이 마운트되었지만 디렉터리에 액세스할 때 "권한 없음" 및 빈 폴더가 나타납니다.
사용자는 마스터 키에 액세스해야 할 수 있으며(루트만 액세스 권한이 있음 ) 매뉴얼 페이지 /etc/krb5.keytab
에 따르면 사용자의 기본 위치 는 %{UID}이며 사용자의 사용자 ID입니다.krb5.conf
sssd
keytab
/var/kerberos/krb5/user/%{UID}/client.keytab
$ ipa-getkeytab -s server.local -p user -k /var/kerberos/krb5/user/%{UID}/client.keytab --password
password: ******
Keytab successfully retrieved and stored in: /var/kerberos/krb5/user/%{UID}/client.keytab
unix 사용자와 동일한 비밀번호를 사용하여 -r을 사용할 수 있지만 이는 권장되지 않으며 실제로 서버에서 기존 키를 검색하려면(사용자를 추가할 때부터) 추가 명령이 필요합니다.
타이밍 또는 NTP? ? ?
freeIPA가 제대로 작동할지 잘 모르겠습니다 . 새 버전을 교체 chrony
해야 할 수도 있습니다.--force-ntpd
chrony
NTP