노드(Rocks)의 사용자에 대해 sudo 명령 실행

노드(Rocks)의 사용자에 대해 sudo 명령 실행

예전에 질문을 했었는데여기파일의 사용자는 노드에서 일부 명령을 실행 sudoers하려고 합니다 . sudo문제는 해당 sudo명령을 사용하면 홈 페이지에 액세스할 수 없다는 것입니다. 다른 폴더에 액세스할 수는 있지만.

그래서 프런트엔드에는

# cat /etc/exports
/export 10.10.10.1(rw,async,no_root_squash) 10.10.10.0/255.255.255.0(rw,async)

이제 hduserSSH를 사용하여 컴퓨팅 노드에 로그인하는 방법을 살펴보겠습니다. sudo목록을 표시하는 명령을 실행할 수 있지만 /홈 페이지는 실행할 수 없습니다.

[hduser@compute-0-0 /]$ ls /home/hduser/
bio  hadoop-2.7.2  hadoop-2.7.2.tar.gz  usr
[hduser@compute-0-0 /]$ sudo ls
bin   etc      lib         media  net   root     share  sys  var
boot  home     lib64       misc   opt   sbin     srv    tmp
dev   install  lost+found  mnt    proc  selinux  state  usr
[hduser@compute-0-0 /]$ sudo ls /home/hduser
ls: cannot open directory /home/hduser: Permission denied

이 문제를 어떻게 해결할 수 있나요?

답변1

의견에 따르면 이는 root거부로 인한 root_squash기본 내보내기 동작입니다 . 이 모드에서는 의 원격 액세스가 root에 매핑됩니다 nobody.

모든 노드가 동일하고 고유성이 없는 경우 내보내기를 단순화해야 합니다.

/export 10.10.10.0/255.255.255.0(rw,async,no_root_squash)

이렇게 변경한 후 exportfs -a.

그래도 문제가 즉시 해결되지 않으면 클라이언트를 다시 시작해야 할 수도 있습니다( 파일 시스템 umount관련 mount또는 재부팅).

관련 정보