파일 시스템을 장착하지 않고 무작위 액세스에 Samba를 사용하십니까?

StackOverflow https://stackoverflow.com/questions/264950

  •  06-07-2019
  •  | 
  •  

문제

루트 액세스가없고 무작위 액세스 모드에서 Samba 서버의 파일에 액세스하고 싶은 머신을 사용하고 있습니다. SMBClient를 사용하여 파일 전체를 전송할 수 있지만 파일은 매우 크며 (> 1GB), 오히려 임의의 액세스를 수행 할 수있는 원격 파일로 취급합니다.

언급 한 문제는이 컴퓨터 (Linux 상자)에 루트 액세스 권한이 없으므로 원격 삼바 파일 시스템을 장착 할 수 없다는 것입니다.

Samba 서버의 파일 내용에 무작위로 액세스 할 수있는 사용자 수준 솔루션이 있습니까? 커널 파일 시스템 클라이언트가 수행하는 모든 작업을 수행 할 수 있지만 사용자 수준 애플리케이션에서 수행 할 수 있어야합니다.

읽기 전용 액세스 BTW 만 필요하며 원격 파일은 변경되지 않도록 보장됩니다.

도움이 되었습니까?

해결책

Samba 출처에서 파기 한 후 내 자신의 질문에 대답하려면 : SMBC_OPEN, SMBC_FSTAT, SMBC_LSEEK, SMBC_READ 등 모든 일반적인 파일 처리 기능이 포함 된 클라이언트 라이브러리 LIBSMBCLIENT가 있습니다. 뒤로 파일 (진정한 추구를하고 있는지 확인하기 위해) :

fd = smbc_open(path, O_RDONLY, 0);
smbc_fstat(fd, &st);

for (offset = st.st_size - BUFLEN; offset > 0; offset -= BUFLEN) {
    smbc_lseek(fd, offset, SEEK_SET);
    smbc_read(fd, buffer, BUFLEN);
}

(명확성을 위해 오류 검사가 제거됨)

다른 팁

사용하려고 노력하십시오 smbmount 루트 권한없이 파일 시스템을 장착하려면 :

mkdir ~/temp
smbmount //{server}/{share} ~/temp -o username=username={username},password={password}

편집 : 사용하도록 업데이트되었습니다 smbmount 대신에 mount.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top