Was macht linshare?
linshare ist ein Befehlszeilenwerkzeug für einen LinShare-Server (Version 6.5 oder höher).
Verwenden Sie es, um die Dokumente des Benutzers sicher zu teilen.
Zuerst die Einrichtung prüfen
Führen Sie vor dem ersten LinShare-Befehl einer Unterhaltung linshare --json whoami aus:
- Befehl nicht gefunden (Exit 127): Der Befehl
linshareist nicht installiert. Teilen Sie dem Benutzer in einfachen Worten mit, dass diese Fertigkeit ihn benötigt und er ihn selbst installieren kann mitpip install "git+https://github.com/wboudiche/linshare-cli#subdirectory=agent-harness"(Python 3.10+). Installieren Sie ihn nicht selbst. - Exit 2 (
"code": "auth"): Nicht angemeldet. Bitten Sie den Benutzer, in diesem Chat Folgendes einzugeben:! linshare login --server <Adresse seines LinShare>(fragen Sie nach der Adresse, wenn Sie sie nicht kennen) – der Benutzer gibt dort sein Passwort ein, niemals im Gespräch. Mit SSO:! linshare login --token --server <Adresse>, wobei ein Token aus der Web-Oberfläche eingefügt wird. - Exit 0: Der Server und das Konto werden angezeigt; fahren Sie mit der Anfrage fort.
Regeln – befolgen Sie sie jedes Mal
- Immer
--jsondirekt nachlinshareübergeben (linshare --json shares list) und das JSON lesen. - Die Anmeldung erfolgt durch den Benutzer, niemals durch Sie. Wenn ein Befehl mit Exit 2 fehlschlägt
(
"code": "auth"), bitten Sie den Benutzer, selbst! linshare logineinzugeben (! linshare login --token, wenn er sich mit SSO anmeldet und einen Token aus der Web-Oberfläche hat). Fragen Sie niemals nach dem Passwort oder geben Sie es ein. - Holen Sie ein ausdrückliches „Ja“ ein, bevor etwas das Konto verlässt oder gelöscht wird.
Dies betrifft
share,request-files,shares revoke,documents delete,requests close, und für geteilte Bereichespaces upload,spaces add-member,spaces set-role,spaces remove-member,spaces delete-files,spaces delete.- Für
shareundrequest-files: Führen Sie den gleichen Befehl zuerst mit--dry-runaus, und zeigen Sie dem Benutzer dann in einfachen Worten: die Dateien (Name und Größe), jeden Empfänger – markieren Sie"external": true-Empfänger als außerhalb Ihrer Organisation – das Ablaufdatum, den Betreff, die Nachricht, ob ein passwortgeschützter Link verwendet wird, unddownloadAlert/copyToMe(was der Server tatsächlich tun wird: Die Einstellungen des Administrators können die Wahl des Benutzers überschreiben; sagen Sie dies, wenndetailes sagt). - Für
revoke,delete,close: Listen Sie zuerst auf und zeigen Sie dann genau an, welche Elemente betroffen sein werden. - Für
spaces uploadundspaces add-member: Führen Sie zuerst mit--dry-runaus. Für einen Upload zeigen Sie die Dateien, die Arbeitsgruppe (und den Ordner) undvisibleTo– jeder darin wird die Dateien sehen (wennvisibleTonull ist, sagen Sie, dass die Mitglieder nicht aufgelistet werden konnten). Für ein neues Mitglied zeigen Sie die Person (Name und E-Mail), den Bereich und die Rolle in einfachen Worten (READER: nur lesen, CONTRIBUTOR: kann hinzufügen, WRITER: kann hinzufügen und ändern, ADMIN: verwaltet auch Mitglieder). spaces deleteentfernt den Bereich und alle seine Dateien für jedes Mitglied;spaces delete-filesentfernt sie ebenfalls für alle. Sagen Sie dies und nennen Sie den Bereich und die Elemente.- Verwenden Sie nur die Wörter, die der Benutzer für
--subjectund--messageangegeben hat. Schreiben Sie selbst keine; lassen Sie sie weg oder schlagen Sie eine vor und fügen Sie sie nur hinzu, wenn der Benutzer zustimmt. Ein--labelfürrequest-fileskann ein kurzer Name sein, der den eigenen Worten des Benutzers entnommen wurde („Oktober-Rechnung“); ohne einen wählt das Werkzeug „Dateien für “. request-filesbenötigt eine--message(LinShare verweigert eine Anfrage ohne eine). Wenn der Benutzer keine angegeben hat, fragen Sie ihn vor dem Trockenlauf nach dem Text; Sie können einen Vorschlag machen, verwenden Sie ihn aber erst, wenn er akzeptiert wird.- Kein Ablaufdatum angegeben (
"expirationDate": null) bedeutet das Standard-Ablaufdatum des Servers, nicht „niemals“. - Warten Sie auf ein ausdrückliches Ja. Wenn der Benutzer etwas ändert (einen Empfänger, das Ablaufdatum, eine Datei),
führen Sie einen neuen
--dry-runaus und fragen Sie erneut. Verwenden Sie niemals ein früheres Ja. - Im tatsächlichen Durchlauf übergeben Sie das
expirationDatedes Trockenlaufs als--expires YYYY-MM-DD(das genaue Datum, das der Benutzer genehmigt hat), niemals wieder einen relativen Wert wie7d; gleiches gilt für--alert-if-not-downloaded(dasalertIfNotDownloadeddes Trockenlaufs).
- Für
- Überprüfen Sie den Server, nicht Ihr Gedächtnis. Bevor Sie dem Benutzer mitteilen, ob etwas
geteilt, gesendet, widerrufen oder geschlossen wurde, führen Sie den entsprechenden List-Befehl aus (
shares list,requests list,documents list,spaces files,spaces members). Hinweise aus früheren Unterhaltungen können veraltet sein. - Keine Bestätigung für schreibgeschützte Befehle erforderlich:
whoami,shares list,received list,received download,documents list,requests list,requests download,spaces list,spaces files,spaces members,spaces download. Auch das Erstellen einer leeren Arbeitsgruppe oder eines leeren Ordners (spaces create,spaces mkdir) benötigt keine Bestätigung: Niemand sonst sieht sie, bis Dateien oder Mitglieder hinzugefügt werden. - Nach dem Teilen teilen Sie dem Benutzer mit, welche Dateien an wen und bis wann gingen.
Downloads: LinShare benachrichtigt den Absender per E-Mail beim ersten Herunterladen einer Freigabe durch jeden Empfänger,
und
shares listzeigt einedownloaded-Anzahl – verwenden Sie sie, um die Frage „Hat X es heruntergeladen?“ zu beantworten. Um gewarnt zu werden, wenn eine Datei nicht heruntergeladen wurde, verwenden Sie--alert-if-not-downloaded(ein Datum, eine Verzögerung wie3doderoff; ohne sie gilt die Standardeinstellung des Servers). - Geteilte Bereiche. Eine Arbeitsgruppe enthält Dateien, die ein Team teilt; ein Arbeitsbereich gruppiert Arbeitsgruppen.
Befehle benötigen IDs: Führen Sie
spaces listaus, um den Bereich zu finden,spaces files SPACE [--folder ID], um einen Ordner oder eine Datei zu finden. Mehrere Bereiche können denselben Namen haben: Wenn die Worte des Benutzers auf mehr als einen zutreffen, fragen Sie nach. Eine Datei per E-Mail teilen (share) und sie in eine Arbeitsgruppe legen (spaces upload) sind unterschiedlich: Fragen Sie, falls unklar. Auf LinShare 7.0 schlagen einige Dinge aufgrund von Serverfehlern fehl:spaces memberskann keine Mitglieder auflisten (verwenden Sie die vonadd-memberausgegebene Mitglieds-ID fürset-role/remove-member), und Personen können nicht zu einem Arbeitsbereich hinzugefügt werden (nur zu seinen Arbeitsgruppen). Geben Sie die Meldung weiter; wiederholen Sie es nicht auf andere Weise. - Bei Fehlern geben Sie
error.messagein einfachen Worten weiter. Wiederholen Sie eine abgelehnte Freigabe nicht mit anderen Einstellungen, ohne zu fragen. Exit 1 bedeutet, dass der Befehl selbst falsch war (korrigieren Sie ihn, bitten Sie den Benutzer nicht, sich anzumelden). Wenn eine Freigabe fehlschlägt, entfernt das Werkzeug die hochgeladenen Dateien und sagt dies; wennerror.code"timeout"ist, ist das Ergebnis unbekannt – folgen Sie der Meldung (überprüfen Sieshares list/documents list), bevor Sie einen erneuten Versuch unternehmen. - Große Dateien sind in Ordnung: Über 2 MiB sendet das Werkzeug sie in Teilen, wie die Web-Oberfläche.
Das Hochladen dauert etwa 15 s pro GB in einem schnellen Netzwerk, viel länger in einem langsamen. Für eine Datei
über ein paar hundert MB geben Sie dem Befehl
shareein langes Timeout (oder führen Sie es im Hintergrund aus), damit er nicht abgeschnitten wird, und teilen Sie dem Benutzer mit, dass es eine Weile dauern kann.
Typischer Ablauf
linshare --json share ./vertrag.pdf --to [email protected] --expires 7d --message "Bitte unterschreiben" --dry-run
# → Zeigen Sie die Zusammenfassung dem Benutzer, warten Sie auf „Ja“
# dry-run sagte "expirationDate": "2026-11-13"
linshare --json share ./vertrag.pdf --to [email protected] --expires 2026-11-13 --message "Bitte unterschreiben"
Befehle
| Befehl | Was es tut | Zuerst bestätigen? |
|---|---|---|
linshare login [--server URL] [--email E] | Benutzer meldet sich einmal an (Passwort, 2FA-Code falls nötig) | Benutzer führt es aus |
linshare login --token [--server URL] | Benutzer fügt einen in der LinShare-Weboberfläche erstellten Token ein | Benutzer führt es aus |
linshare logout | Vergisst (und widerruft) den Token | nein |
linshare whoami | Server und verwendetes Konto | nein |
| `linshare share DATEI... --to EMAIL... [--expires 7d | 2w | 1m |
linshare shares list | Was der Benutzer geteilt hat | nein |
linshare shares revoke ID... | Freigaben widerrufen | ja |
linshare received list | Was andere mit dem Benutzer geteilt haben | nein |
linshare received download ID [--out VERZ] | Eine empfangene Datei speichern (überschreibt nie) | nein |
linshare documents list | Die Dokumente des Benutzers | nein |
linshare documents delete ID... | Dokumente löschen | ja |
linshare request-files --from EMAIL... --message N [--label L] [--expires ...] [--dry-run] | Personen bitten, Dateien zu senden (eine private Anfrage pro Person) | ja |
linshare requests list | Upload-Anfragen und empfangene Dateien | nein |
linshare requests download ID [--out VERZ] | Empfangene Dateien als ZIP herunterladen | nein |
linshare requests close ID... | Anfragen schließen | ja |
linshare spaces list [--in ARBEITSBEREICH] | Arbeitsgruppen und Arbeitsbereiche mit Ihrer Rolle | nein |
linshare spaces create NAME [--workspace] [--in ARBEITSBEREICH] | Eine Arbeitsgruppe (oder einen Arbeitsbereich) erstellen | nein |
linshare spaces delete ID... | Bereiche und alle ihre Dateien für alle löschen | ja |
linshare spaces files BEREICH [--folder ID] | Ordner und Dateien einer Arbeitsgruppe | nein |
linshare spaces mkdir BEREICH NAME [--folder ID] | Einen Ordner erstellen | nein |
linshare spaces upload BEREICH DATEI... [--folder ID] [--dry-run] | Dateien in eine Arbeitsgruppe legen (Mitglieder sehen sie) | ja |
linshare spaces download BEREICH ID [--out VERZ] | Eine Arbeitsgruppendatei speichern (überschreibt nie) | nein |
linshare spaces delete-files BEREICH ID... | Dateien oder Ordner für alle löschen | ja |
linshare spaces members BEREICH | Mitglieder und Rollen | nein |
linshare spaces add-member BEREICH EMAIL --role R [--dry-run] | Jemandem Zugriff gewähren | ja |
linshare spaces set-role BEREICH MITGLIED ROLLE | Eine Rolle ändern (MITGLIED: E-Mail oder Mitglieds-ID) | ja |
linshare spaces remove-member BEREICH MITGLIED | Zugriff entfernen | ja |
--to und --from werden für mehrere Personen wiederholt: --to [email protected] --to [email protected].
„Extern“ ist eine Heuristik: eine andere E-Mail-Domain als die des Benutzers.
Exit-Codes
0 ok · 1 falsche Eingabe oder falscher Befehl · 2 nicht angemeldet/Anmeldeproblem · 3 vom Server abgelehnt · 4 Server nicht erreichbar, fehlerhaft oder zu langsam ("code": "timeout").