Redhat: 루트가 아닌 사용자는 NFS 공유에 파일을 복사해야 합니다.

Redhat: 루트가 아닌 사용자는 NFS 공유에 파일을 복사해야 합니다.

일반적으로 루트가 아닌 사용자는 디렉터리를 마운트할 수 없습니다.

Redhat 실행 다른 컴퓨터(//somebox/somefolder/)의 NFS 공유로 이동해야 하는 6GB tar.gz(/dir/somefile.tar.gz)가 있습니다.

우리는 다른 접근 권한이 없습니다.

어떤 아이디어가 있나요?

답변1

mount명령은 루트로 setuid가 설정되어 있기 때문에 대부분의 Linux 시스템에서 루트로만 실행할 수 있습니다. 이 명령을 사용하면 두 가지 가능한 해결 방법이 있지만 몇 가지 사항을 변경하려면 mount루트 사용자(또는 sudo루트할 수 있는 사람)가 필요합니다.

  1. /etc/fstab공유하고 싶은 항목을 추가하게 하세요 . 선택 noauto이 중요합니다.

    vi /etc/fstab
    <nfs ip or FQDN>:/      /mnt/       nfs rw,noauto,user,timeo=14,hard,intr 0 0
    

    mount그런 다음 원하는 디렉터리로 실행되도록 합니다.

    mount /mnt/
    
  2. suders파일 에 사용자를 추가 하고 mount명령 사용을 지정합니다. 기본적으로 파일 시스템에 무엇이든 설치할 수 있으므로 이는 매우 안전하지 않습니다. 다음과 같은 줄을 실행 visudo하고 추가하세요.

    afhood    ALL=(ALL) /usr/bin/mount
    
  3. scp, , rcp등 의 원격 파일 시스템에 대한 일종의 네트워크 기반 복제를 수행합니다 . 사용할 특정 명령은 전적으로 원격 시스템이 허용하는 것과 시스템에 설치한 것에 따라 달라집니다.ftpsftp

답변2

서버가 해당 특정 클라이언트만 연결하도록 구성되어 있다고 가정합니다. 그렇지 않으면 루트 액세스 권한이 있는 클라이언트를 사용할 수 있습니다. (혹시 서버가 이 클라이언트를 어떻게 인식하는지 의문스럽기도 합니다.)

NFS를 사용해야 하고 클라이언트에 대한 루트 액세스 권한이 없는 경우 가장 먼저 생각한 것은 사용자 공간 NFS 클라이언트 또는 NFS 브라우저를 찾는 것입니다. 지금까지 내가 찾은 유일한 것은JFTP, 이는 Java GUI 클라이언트입니다. 그러나 당신이 프로그래머이고 원한다면 또 다른 옵션은 자신만의 라이브러리를 개발하는 것입니다.libnfs1당신은 그것으로부터 구축할 수 있습니다.

나는 아직 이들 중 어떤 것도 시도하지 않았지만 이것이 시작이기를 바랍니다. 제가 눈치채지 못한 내용이 더 있을 수도 있습니다. 마지막으로 NFS에 유의하세요.섬기는 사람권한이 있는 포트에서 루트로 연결해야 할 수도 있는데, 이 경우 운이 좋지 않습니다.

...또는 방금 "//somebox/somefolder/" 명명법을 발견했습니다. 이는 NFS에서는 매우 드물지만 SMB(Samba/Windows 파일 공유)에서는 표준입니다. 적어도 Linux에서는 머신의 경우입니다. 그렇다면 이것이 바로 당신이 원하는 도구입니다 smbclient.

관련 정보