SharedIT | 묻고 답하기(AMP)

synoloy NAS 의 NFS 관련 문의

안녕하세요 선배님들 

synology NAS의 NFS 관련 문의가 있습니다.



OS : DSM 7.2.1

서버 : rocky 8


Rocky서버의 root 계정을 이용하여 Synoloy의 공유폴더를 mount는 시켜놨습니다.

(mount -t nfs nas명:/volume2/공유디렉터리 /mnt/nasv2)



root 계정으로 확인시 모두 정상적으로 접속, 읽고/쓰기가 가능하구요 



근데...!   Rocky 서버의 다른 계정(사용자)에서 mount 해놓은 디렉터리가 보이지만  

Permision Deny가 발생하면서 파일 읽기/쓰기가 불가합니다...


#synoloy에서는 NFS 기능은 활성화 시켜놨으며 공유할 디렉터리의 mount/connections  모우 all users로 설정해놓은 상태.




서버의 다른 계정에서 해당 디렉터리의 접속, 읽기/쓰기가 가능하도록 변경하려면 어떤 작업을 해야할까요...






감사합니다.


7개의 답변이 있습니다.

Simon.Park
  0 추천 | 4달 전

타 NAS 장비도 ACL 설정 할 때 "no_root_squash" 설정으로 대부분 해 놓고 있습니다.

제대로 ACL 할려면 IP나 계정에 대해서 하나씩 다 설정해야 하지만,

NAS 볼륨 하나 마다 그렇게 설정하다가는 머리가 너무 복잡하더라구요~~~

하하호호
  0 추천 | 4달 전

감사합니다! 선배님들!! 해결했습니다   !

chown, chmod 로 소유자나 권한 변경은 모두 permission deny로 해결 못했고 
/etc/exports 에서 squash 관련해서 설정하여 해결했습니다~~

inside07
  0 추천 | 4달 전

시놀로지 나스에서 NFS 규칙 생성 시 squash가 어떻게 맵핑되었는 지 먼저 보시고 진행하는 게 

좋을 것 같아요

매핑을 admin하고 root만 해놔서 권한이 없는 것 같긴 한데,

모든 사용자 매핑을 해야하지 않을까 싶네요 ! 

wansoo
  0 추천 | 4달 전

여러 가지 방법이 있을 것 같은데요.

원래 공유시켜 주는 서버 ( NAS )에서 

rw,no_root_squash 옵션이나,

rw,sync,no_subtree_check 옵션을 줘서 export 시켜 주면 되는데... ( NFS 버전에 따라 옵션에 차이 있음 )


export 시켜 주는 서버가 리눅스가 아니라 synology NAS 이기 때문에 해당 옵션이 있는지를 확인해 보아야 할 것 같네요.

해당 옵션을 찾기 어렵다면...

Synology NAS가 쉘 로긴을 지원하는 걸로 알고 있는데... NAS에 shell 로긴해서, root 권한으로 /etc/exports file을 열어서 

/volume2/공유디렉터리

에 대한 내용을 찾아서 (rw,sync,no_subtree_check)  옵션이 추가되어 있는지를 확인해서 추가되어 있지 않다면 추가 시켜 준후에 nfs 서비스를 재 시작 시켜 주거나 NAS 자체를 reboot 시켜 주면 될 것 같고요.



NAS 서버에서 설정을 바꿔 줄 수 있는 방법을 못 찾는다면...



mount 시키는 Linux에서 mount할때 


mount -t nfs nas명:/volume2/공유디렉터리 /mnt/nasv2 -o rw

와 같이 rw 옵션을 줘서 마운트를 시켜 보는 것도 시도 해 볼 필요가 있을 것 같고...



이것도 잘 안된다면...

root 계정으로  /mnt/nasv2 디렉터리 아래에 새로운 디렉터리를 만들고...

chmod a+rwx  명령을 사용해서 해당 디렉터리의 퍼미션을 모든 사용자가 읽고 쓸수 있는 권한을 부여해서...

다른 사용자들이 /mnt/nasv2 아래에 새로 만든 디렉터리를 공유해서 사용할 수 있도록 해서 사용하는 방법도... 부족한 방법이지만.... 하나의 방법이 될 수 있지 않을까 싶어 보이네요.



그리고, mount 할때 참고할 점은...

mount 시킬때 옵션을 여러개 적어야 할때는 -o 뒤에 콤마로 구분하여 쭉~ 적어 줄 수 있는데...

이때 주의할 점은 콤마 뒤에 빈칸을 넣어서 나열해서는 안된다는 점입니다.


-o rw,user=abc 등과 같이 빈칸없이 콤마로 구분해서 적어 줘야 하고...

mount 명령에 cifs 마운트 할때 사용하는 옵션들과 nfs 마운트 할때 사용할 수 있는 옵션들에 차이가 있기 때문에 mount -t cifs 에서 사용한 옵션들이라고 mount -t nfs에서도 그대로 사용할 수 있다고 생각해서는 안됩니다. 


mount -t cifs 명령과 mount -t nfs, mount -t iso9660 등등이 겉으로 보면 모두 mount 명령으로 동일한 프로그램이 작동될 거라 생각할 수도 있는데...

mount -t cifs는 mount.cifs 프로그램이 작동되고, mount -t nfs는 mount.nfs 프로그램이 실행되는 것이기 때문에 전혀 다른 mount 프로그램이 작동된다는 점과... 사용할 수 있는 옵션에도 서로 차이가 있다는 점을 참고해 두면 도움이 될 수 있을 거라 생각되네요.

앵그리파파
  0 추천 | 4달 전

NFS에서 발생하는 권한 문제는 주로 UID 및 GID의 불일치와 NFS 서버 및 클라이언트의 권한 설정과 관련이 있습니다. 

우선, Synology DSM에서 '제어판' > '파일 서비스' > 'NFS'로 이동해서 NFS 활성화 확인 -> 'NFS 권한' 탭에서 해당 공유 폴더의 내보내기 설정 확인하고 필요한 권한이 제대로 설정되어 있는지 확인 

Rocky 서버에서 NFS 공유에 액세스하려는 사용자 계정이 필요한 권한을 가지고 있는지 확인 -> Synology NAS의 NFS 공유에 구성된 UID 및 GID와 Rocky 서버의 사용자의 UID 및 GID가 일치하는지 확인

Rocky 서버에서 NFS 공유를 마운트할 때 사용자가 필요한 권한을 허용하는지 확인 

- 마운트 명령에서 UID, GID 및 권환을 지정 방법

mount -t nfs -o vers=3, proto=tcp, rw, soft, intr, user=<Synology 사용자명>, uid=<Rocky 사용자ID>, gid=<Rocky 그룹ID> nas명:/volume2/공유디렉터리 /mnt/nasv2

참고로, Synology NAS 또는 Rocky 서버에서 NFS를 차단하는 방화벽 규칙은 없는지도 확인해보세요.

앵그리파파 | 4달 전

마지막으로 Synology NAS에서 NFS 서버 로그를 확인하여 액세스 시도와 관련된 오류 메시지가 있는지 확인해보고 Rocky 서버에서는 시스템 로그 'var 아래 log 아래 messages' 또는 'var 아래 log 아래 syslog' 를 확인하여 NFS 관련 오류가 있는지 체크해 보세요.

Genghis Khan
  0 추천 | 4달 전

1. NFS 설정문제

: NFS 서버에서 /etc/exports 파일을 편집하여 공유할 디렉터리와 해당 권한을 정의합니다.FS 서버에서 /etc/exports 파일을 편집하여 공유할 디렉터리와 해당 권한을 정의합니다.


/mnt./nasrv2  192.168.1.2(rw,sync)  # 읽기/쓰기 권한


2.파일 소유권 문제

 :  sudo su - 로 root 계정에서 해당 디렉토리를  ownership을 주면 되겠네요

    #chown -R norsrv,norsrv  nosrv2  이렇게요


차니
  0 추천 | 4달 전

지금은 소유자 그룹 모두 root 입니다.

그룹 변경하고 그룹에 대해 wr 권한에 주면 됩니다

하하호호 | 4달 전

안녕하세요! 빠른 피드백 감사드립니다!
root 계정으로 확인시 drwxrwxrwx 으로 확인되며 

타사용자 ex ) sunkyu.park 으로 확인시  d--------- 으로 확인되는데 

어떤걸 변경하면 될까요..?ㅠㅜ 

사용자쪽에서 문제 발생해서 sudo 로 진행하면 퍼미션디나이가 발생해요

차니 | 4달 전

계정별 NAS에 직접 접근 하면 되는데 왜 마운트를 해서 사용하시는지요?

저는 백업 목적으로 rsync 접근 해서 사용하지만 직접 NAS 접근 가능하면 바로 하시는게?


권한 설정에 대해선 다른 분들이 자세히 설명해 주셨네요...^^