SMB Zugriff zeitlich begrenzen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Tamagotschi

Benutzer
Registriert
22. Juli 2019
Beiträge
17
Reaktionspunkte
0
Punkte
1
Hallo!

Ich stehe vor einem "Problem" und finde keine Lösung dazu.

Möchte eine SMB Freigabe für einen Synology Benutzer zeitlich begrenzen. Beispiel: Mo - Fr von 8-18 Uhr. Danach soll der User nicht mehr auf das Laufwerk zugreifen können.
Mir ist bewusst, dass das sehr problematisch ist, wenn Dateien geöffnet sind und eine Trennung erfolgt. Es sind aber nur reine "Leserechte" auf das Laufwerg vergeben.

Mein Ansatz wäre eine API Lösung, oder ein Script unter Linux?
Ist mein Vorhaben überhaupt möglich?

Über jeden Beitrag zur Lösung würde ich mich sehr freuen :)!

VG
Tamagotschi
 
Nur für einen User?
Wäre es eine Option, dass der User sich nach der Zeit gar nicht mehr an der DS anmelden kann?
 
Nein, andere "Dienste" sollen weiter laufen (können).
Es geht rein um einen User/Benutzer - vielleicht irgend wann auch mal 2,3 oder mehrere ;)
 
Zuletzt bearbeitet von einem Moderator:
Mir würde da nur einfallen via Script die /etc/samba/smb.conf anzupassen. Danach müsste aber jedesmal der Samba-Dienst neu gestartet werden, wordurch für ein paar Sekunden alle Connections wegbrechen
EDIT: Oder die hier: /etc/samba/smb.share.conf
 
Ja, das wäre die einfachste Lösung.
Aber gibt es da nicht auch eine API Anbindung für die Syno? Könnte man es darüber machen?
Brechen wirklich immer alle bestehenden Verbindungen kur ab wenn ich einen Benutzer unter der Syno ändere? Also Verzeichnisse zuweise, Berechtigungen ändere usw. ?? Kein HUB auf die Prozesse?
 
Zuletzt bearbeitet von einem Moderator:
Wenn die Samba Config via CLI geändert wird, findet das m.W. erst dann Anwendung, wenn der Samba Dienst neu startet. Bei Änderungen via UI / API gilt das nicht. Ich wüsste aber nicht, wie sich die gewünschte Änderung per API realisieren lässt. Eine andere Lösung wäre ein weiteres Firewall-Profil zu erstellen und das per geplantem Script umzuschalten. In dem einen Profil hat der Client dann ganz normal Zugriff und in dem anderen wird der Samba-Port von dem Client aus geblockt. Das ginge via API und ohne Neustart irgendwelcher Dienste.
 
Du kannst auch 2 getrennte Konten für ihn anlegen. Einer für Dienste und der andere nur für SMB. Der erstere Account hat entsprechend keinen Zugriff auf SMB. Den User per API zu deaktivieren und aktivieren, ist tatsächlich das einfachste von allen genannten Methoden
 
Okay, das wäre eine Idee - 2 Accounts. 1 nur für SMB und diesen via API zeitlich steuern. Danke für den Tipp!
Werde mich dann mal daran versuchen :)
Dazu erst mal die Doku zu der API Schnittstelle lesen ....
 
Zuletzt bearbeitet von einem Moderator:
https://global.download.synology.co...logy_DiskStation_Administration_CLI_Guide.pdf
synouser NAME --modify expired 1 müsste das Konto deaktivieren, denke ich. Teste es mal. Ich weiß allerdings nicht, wie schnell die Änderung für SMB-Connections gilt. Musst mal ein wenig rumtesten. Und dann bitte hier Rückmeldung geben. Ich bin interessiert.
EDIT: Und ich weiß nicht genau, wo in dem Befehl der Name hin muss
 
Alles klar - danke!
Werde ein paar Tage brauchen, aber gebe dann eine Rückmeldung.
 
Zuletzt bearbeitet von einem Moderator:
Jo teste mal. Und bitte nicht immer die Beiträge voll zitieren. Ist hier und auch generell in Foren nicht gerne gesehen.
 
Folgendes würde klappen, vorausgesetz man kennt die IP Adresse von dem Rechner, der sich mit der Syno verbunden hat (SMB).

Syno User deaktiveren und offene Prozesse zum User schließen:
synouser --modify <Syno Username> "<Beschreibung Syno Username>" 1 <email Adresse des Users>
smbcontrol smbd kill-client-ip <ip Adresse des Clients>

Beispiel:
synouser --modify WichtigeDaten "Wichtige Daten in dem Verzeichnis" 1 hans@musermann.de
smbcontrol smbd kill-client-ip 192.168.0.25

Bei einem Windows Rechner war die Verbindung dann weg und auf das Netzwerklaufwerk konnte nicht mehr zugegriffen werden.

Syno User aktivieren:
synouser --modify <Syno Username> "<Beschreibung Syno Username>" 0 <email Adresse des Users>
Beispiel:
synouser --modify WichtigeDaten "Wichtige Daten in dem Verzeichnis" 0 hans@musermann.de

Ein "reload" oder "restart" vom SMBService war nicht nötig.

Wer allgemein schauen will ob es zu einem User SMB Verbindungen gibt:
smbstatus -u <Syno Username> -p
Beispiel:
smbstatus -u WichtigeDaten -p

Leider ist die json lib für samba nicht installiert sonst könnte man noch besser ein Programm schreiben um die Netzwerkverbindung zu trennen.
Aber so geht es auch ;)
 
Zuletzt bearbeitet:
Danke für die Rückmeldung.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat