nie można zapisać do punktu montowania (serwer nfs), pojawia się komunikat „Odmowa uprawnień”

21

Próbuję skonfigurować NFSmiędzy dwoma węzłami RHEL7:

pierwszy węzeł:

[root@ip-10-164-175-246 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-164-175-246 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
[root@ip-10-164-175-246 ~]# cat /etc/exports
/var/www/html/  ip-10-184-161-46.ec2.internal(rw)
[root@ip-10-164-175-246 ~]# 

drugi węzeł:

[root@ip-10-184-161-46 ~]# mount ip-10-164-175-246.ec2.internal:/var/www/html/ /mnt/
[root@ip-10-184-161-46 ~]# touch /mnt/$$
touch: cannot touch ‘/mnt/3326’: Permission denied
[root@ip-10-184-161-46 ~]# 

Dlaczego nie mogę nic napisać /mnt/na NFS?

Alexus
źródło
1
Spróbuj zmienić (rw)w /etc/exportscelu (rw,no_root_squash), robi exportfs -avna serwerze, a następnie zamontować system plików na kliencie i spróbuj ponownie.
MadHatter obsługuje Monikę

Odpowiedzi:

29

Czy twój eksport wykorzystuje root_squash? Z dokumentów CentOS :

root_squash - Zapobiega, aby użytkownicy root połączeni zdalnie mieli uprawnienia roota i przypisuje im identyfikator użytkownika dla użytkownika nfsnobody. To skutecznie „ogranicza” moc zdalnego użytkownika root do najniższego użytkownika lokalnego, zapobiegając nieautoryzowanej zmianie plików na zdalnym serwerze. Alternatywnie opcja no_root_squash wyłącza zgniatanie korzeni. Aby zgnieść każdego zdalnego użytkownika, w tym użytkownika root, użyj opcji all_squash. Aby określić identyfikatory użytkowników i grup, które mają być używane z użytkownikami zdalnymi z określonego hosta, użyj odpowiednio opcji anonuid i anongid. W takim przypadku można utworzyć specjalne konto użytkownika dla zdalnych użytkowników NFS w celu udostępniania i określania (anonuid =, anongid =), gdzie jest to numer identyfikacyjny użytkownika i numer identyfikacyjny grupy.

Musisz dodać flagę, no_root_squashaby to wyłączyć, ponieważ jest ona domyślnie włączona.

Christopher Karel
źródło
1
Dzięki, wszystko działa zgodnie z oczekiwaniami! Brakowało mi no_root_squash, dzięki jeszcze raz!
Alexus
Znalazłem ten artykuł na stronach RHEL: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… . Wydaje się, że używanie no_root_squash wcale nie jest bezpieczne. Jakie jest rozwiązanie, jeśli chcemy zastosować się do ich zaleceń?
Djidiouf,
Zasadniczo będziesz chciał dać użytkownikowi „nikt” możliwość modyfikowania odpowiednich plików na wierzchowcu NFS. Gdy użytkownik root zostanie zamapowany (zgnieciony) na nikogo, nadal będzie mógł go modyfikować. Alternatywnie uważam, że NFSv4 pozwala zdefiniować odpowiednie mapowania kont lokalnych / serwerowych.
Christopher Karel