Frage

Ich bin mit einem Rechner, auf dem ich den Zugriff auf Dateien keinen Root-Zugang haben und würde im Direktzugriffsmodus auf einem Samba-Server mögen. Ich weiß, ich kann die Dateien in ihrer Gesamtheit mit smbclient überträgt aber die Dateien sind sehr groß (> 1 GB) und ich würde lieber nur behandelt sie als Remote-Dateien, auf die ich zufällig Zugriff tun können.

Das Problem wie erwähnt ist, dass ich keine Root-Zugriff auf diese Maschine haben (eine Linux-Box), so kann ich die Remote-Samba-Dateisystem nicht anhängen.

Gibt es eine User-Level-Lösung, die ich zufällig den Inhalt eine Datei auf einem Samba-Server zugreifen lassen? Es scheint, soll es möglich sein, alles zu tun, dass der Kernel-Dateisystem-Client zu tun, sondern von einer User-Level-Anwendung.

Ich brauche nur Lesezugriff btw und die Remote-Datei garantiert nicht zu ändern.

War es hilfreich?

Lösung

Um meine eigene Frage nach Graben um in der Samba-Quelle zu beantworten: Es gibt eine Client-Bibliothek libsmbclient die Handhabung Sachen alles übliche Datei enthält: smbc_open, smbc_fstat, smbc_lseek, smbc_read usw. Zum Beispiel Hier ist ein Ausschnitt Ich schrieb die eine Datei liest nach hinten (nur zu prüfen, es tat ein echter suchen):

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);
}

(Fehler zur Klarheit entfernt Prüfung)

Andere Tipps

Versuchen smbmount zu verwenden, um das Dateisystem ohne Root-Rechte zu montieren:

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

Edit:. Aktualisiert smbmount statt mount verwenden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top