>  기사  >  운영 및 유지보수  >  리눅스 NFS 란 무엇이며 어떻게 사용합니까?

리눅스 NFS 란 무엇이며 어떻게 사용합니까?

WBOY
WBOY앞으로
2023-05-12 16:13:131647검색

nfs는 Network File System의 약어, 즉 Network File System입니다. 네트워크 파일 시스템은 nfs라고도 알려진 freebsd에서 지원하는 파일 시스템 중 하나입니다. nfs를 사용하면 시스템이 네트워크의 다른 사용자와 디렉터리 및 파일을 공유할 수 있습니다. NFS를 사용하면 사용자와 프로그램은 마치 로컬 파일인 것처럼 원격 시스템의 파일에 액세스할 수 있습니다.

nfs는 rpc 프로토콜을 기반으로 합니다. nfs 자체는 공유 역할만 하는 반면 클라이언트와의 연결 및 데이터 전송은 rpc 프로토콜의 기능입니다.

nfs는 주로
1.rpc 두 가지 데몬을 통해 제어됩니다. .nfsd - ------ 클라이언트가 nfs 서버에 연결할 수 있는지 제어하는 ​​데 사용됩니다
2.rpc.mountd----접속 후 클라이언트가 파일을 조작할 수 있는 권한이 있는지 제어하는 ​​데 사용됩니다. 주로 /etc /exports 파일 설정에 따라

nfs를 활성화하려면 portmap을 활성화해야 하며 nfs-utils
1.portmap은 주로 클라이언트가 접속할 때 요청하는 포트를 제어하는 ​​데 사용됩니다
2.nfs-utils는 다음의 실행 파일입니다. rpc.nfsd 및 rpc.mountd

/etc/exports nfs 서비스의 기본 구성 파일
/usr/sbin/exportfs nfs 서비스의 관리 명령
/usr/sbin/showmount 클라이언트의 보기 명령
/var/ lib/nfs/xtab                                                                                                            ' ' '                    

/etc/exports 파일 설정 형식을 통해

[공유 디렉터리] ip 또는 호스트(매개변수 1, 매개변수 2) ip 또는 호스트(매개변수 3, 매개변수 4)
주요 매개변수는 다음과 같습니다
rw: 읽기 및 쓰기
ro: 읽기 전용
no_root_squash: 클라이언트 로그인이 루트인 경우 공유 디렉터리에 로그인한 후 루트 권한을 갖게 됩니다.
root_squash: 루트 로그인 후 ID는 nfsnobody(기본적으로)로 압축됩니다.
all_squash : 모든 사용자 로그인 후 ID는 nfsnobody로 압축됩니다. (기본적으로) 다음)
anonuid: 사용자가 로그인 후 nfsnobody로 압축되는 것을 원하지 않으면 이를 변경하면 됩니다.
anongid: 위와 동일( 그룹입니다)
sync: 데이터가 동기적으로 하드디스크에 기록됩니다.
async: 데이터가 메모리에 먼저 저장됩니다.

권한 분석 정보

1 클라이언트가 연결되면 일반 사용자인 1번을 확인합니다. 일반 사용자의 압축된 ID가 명확하게 설정된 후 클라이언트 사용자의 ID가 이때 지정된 사용자로 변환됩니다. 2번 nfs 서버에 동일한 이름을 가진 사용자가 있는 경우 다음의 ID는 클라이언트 로그인 계정은 nfs 서버에서 동일한 이름을 가진 사용자로 변환됩니다. 3번을 명시적으로 지정하지 않고 동일한 이름을 가진 사용자가 없으면 클라이언트 ID가 nfsnobody

2로 압축됩니다. 연결되면 루트를 확인합니다. 1번 no_root_squash가 설정된 경우 루트 사용자의 ID가 nfs 서버의 루트로 압축됩니다. 2번 all_squash, anonuid, anongid가 설정된 경우 루트 사용자의 ID가 확인됩니다. 그러면 지정된 사용자로 압축됩니다. 3번 명시적으로 지정하지 않으면 루트 사용자는 이때 nfsnobody로 압축됩니다. 4 no_root_squash와 all_squash를 동시에 지정하면 사용자는 nfsnobody로 압축됩니다. anonuid 및 anongid가 설정된 경우 사용자는 지정된 모든 사용자 및 그룹

서비스 시작
service portmap start 또는 /etc/rc.d/init.d/portmap start
service nfs start 또는 /etc로 압축됩니다. /rc.d/init.d/nfs start

exportfs 명령 사용법
-a 모두 마운트 또는 마운트 해제
-r /etc/exports의 정보를 다시 읽고 /etc/exports, /var/lib를 동기적으로 업데이트 /nfs/xtab
-u 단일 디렉토리 마운트 해제(-a와 함께 사용하여 /etc/exports 파일의 모든 디렉토리를 제거)
-v 화면에 자세한 정보 출력

showmount 명령 사용법
-a 표시 클라이언트에 연결된 디렉토리 정보
-e IP 또는 호스트 이름 이 IP 주소가 공유하는 디렉토리를 표시합니다

netstat를 사용하여 nfs 서비스가 많은 포트를 열었는지 확인합니다. 그 중 nfs는 2049, portmap은 111을 엽니다. 나머지는 rpc로 열립니다.

rpcinfo -p를 사용하여 rpc가 열리는지 확인하세요. 포트에서 제공하는 프로그램은 무엇입니까? mount -t nfs ip(호스트 이름): 공유 디렉터리 마운트 지점 방법을 사용하여 마운트를 완료하세요. 두 가지 점. 일반 사용자는 권한 설정을 통해 접근할 수 있지만, 마운트 시 기본적으로 루트만 마운트할 수 있습니다. (일반 사용자는 sudo 실행 가능)

nfs 서버 종료 시 nfs 서비스가 종료되고 클라이언트가 연결되어 있지 않은지 확인하세요. ! ! showmount -a를 통해 볼 수 있습니다. 있는 경우 kill killall pkill을 사용하여 종료합니다(-9는 강제로 종료됩니다)

위 내용은 리눅스 NFS 란 무엇이며 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제