Windows에 NFS 서버인 oracle linux 6.7이 있고 Linux에 공유 폴더를 마운트하려고 합니다.
Windows NFS 서버에는 공유 마운트가 있습니다.
192.168.1.10:/OracleBK
내 Oracle Linux 서버에서 /orabackup 폴더를 만들었고 oinstall 그룹의 Oracle 사용자가 이 폴더의 소유자입니다.
mkdir /orabackup
chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup
mount -t nfs -o rw 192.168.1.10:/OracleBK /orabackup
/etc/fstab의 해당 줄은 다음과 같습니다.
192.168.1.10:/OracleBK /orabackup nfs defaults 0 0
사용된 폴더를 마운트하는 명령은 다음과 같습니다.
mount /orabackup
이제 "orabackup" 폴더가 마운트되었습니다.
그러나 oracle 사용자는 읽거나 쓸 수 없으며 디렉터리에 대한 읽기 및 쓰기 권한이 필요합니다. 루트 사용자는 읽고 쓸 수 있습니다.
oracle 사용자에게 전체 권한을 부여하려면 어떻게 해야 합니까?
답변1
NFS는 사용자 ID(UID)를 기반으로 액세스 권한을 확인합니다. 로컬 컴퓨터에 있는 사용자의 UID는 서버에서 액세스하려는 파일 소유자의 UID와 일치해야 합니다.
서버에 가서 파일 권한을 확인하는 것이 좋습니다. id username
어떤 UID에 속해 있으며(조회 사용) 어떤 권한이 설정되어 있나요?
서버의 파일에 액세스하는 유일한 사람이라면 서버가 모든 요청이 올바른 UID에서 오는 것처럼 가장하도록 할 수 있습니다. NFS에는 이에 대한 옵션이 있습니다 all_squash
. 이는 anonuid,anongid로 지정된 익명 사용자에게 모든 요청을 매핑하도록 서버에 지시합니다.
다음 옵션을 추가하세요 all_squash,anonuid=1026,anongid=100
: /etc/exports
.
그러나 이렇게 하면 내보내기를 설치한 사람이 해당 파일의 소유자가 됩니다.
답변2
마운트 지점에 속성을 설정했지만 그다지 많은 작업을 수행하지는 않습니다. 당신은 할 필요가
chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup
다시 (루트로)뒤쪽에mount 에서 /orabackup
공유 폴더의 속성을 설정합니다.