SSH: Berechtigungen / Zugriffsrechte bestimmter Verzeichnisse

big_deal

Benutzer
Mitglied seit
14. Feb 2020
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

ich melde mich innerhalb von meinem Netzwerk von meinem Ubuntu Rechner über SSH an meiner Synology an und möchte mir gerne im Terminal die Berechtigungen/Zugriffsrechte bestimmter Verzeichnisse inkl. Unterordner anzeigen lassen. D.h. welche User & welche Gruppen haben Zugriff/Berechtigungen für die Ordner. Auf der Synology sind erweitere Berechtigungen aktiviert.

Hätte da jemand einen Tipp, wie ich mir das im Terminal über SSH anzeigen lassen kann?

Vielen Dank!
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
du meldest dich mit ssh mit deinem admin-Account (der Syno an), also so was wie "ssh adminaccount@synoip" und Passwort-Eingabe...
Danach musst du noch mal mit "sudo -i" und erneuter Passworteingabe zu root werden...

Nur: die Berechtigungen siehst du doch auch über die GUI...

Stefan
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Er meint denke nicht die Posix Rechte sondern jene die via synoacltool verwaltet werden.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Es gibt zwei Möglichkeiten:
1. ls -le ${path} -> rekursiv: ls -ler ${path}
2. synoacltool -get ${path} -> rekursiv: find ${path} -exec echo {} \; -exec synoacltool -get {} \;

für beide gilt: ${path} muss natürlich durch den gewollten Pfad ersetzt werden.

Die Erläuterung der gesetzten Felder bzgl. der Berechtigungen kann man synoactltool ohne Parameterangabe entnehmen..
 
Zuletzt bearbeitet:

big_deal

Benutzer
Mitglied seit
14. Feb 2020
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Nur: die Berechtigungen siehst du doch auch über die GUI...

Stefan
Einige Ordner sind für bestimmte User gesperrt, jedoch ist das nirgends festgehalten worden und ich müsste dann alle Ordner durchklicken. Daher die Anfrage ob das evlt. über die Konsole/SSH geht...


Es gibt zwei Möglichkeiten:
1. ls -le ${path} -> rekursiv: ls -ler ${path}
2. synoacltool -get ${path} -> rekursiv: find ${path} -exec echo {} \; -exec synoacltool -get {} \;

für beide gilt: ${path} muss natürlich durch den gewollten Pfad ersetzt werden.

Die Erläuterung der gesetzten Felder bzgl. der Berechtigungen kann man synoactltool ohne Parameterangabe entnehmen..
Danke für den Tipp, genau das habe ich gemeint. Es werden jedoch nur die Ordner in dem definierten Pfad ausgegeben. Gibt es da evtl. auch noch eine Option, dass automatisch alle Unterordner mit aufgelistet werden?

Oder z.B. welche Ordner sind für User xyz gesperrt?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
... Gibt es da evtl. auch noch eine Option, dass automatisch alle Unterordner mit aufgelistet werden?
Genau dafür habe ich die "rekursiv" Variante mit angegeben: bei den rekursiven Varianten werden neben dem angegeben Verzeichnis auch alle Unterverzeichnisse ausgegeben.
 

big_deal

Benutzer
Mitglied seit
14. Feb 2020
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Das ist richtig und auch hilfreich, jedoch wird mir alles auf Datei-Ebene aufgelistet und es dauert dementsprechend länger. Ginge die Ausgabe auch nur auf Ordner-Ebene?

Die Auflistung auf Datei-Ebene werde ich mir aber aufheben, werde es sicher mal benötigen :giggle:
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Man könnte die Variante mir find "feintunen": find ${path} -type d -exec echo {} \; -exec synoacltool -get {} \

Mit -maxdepth n (n=Ganzzahl) könnte man die Tiefe der Unterverzeichnisse beschränken.

So richtig komfortabel wird es damit leider niemals werden...
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Statt mit -get {} die Berechtigungen auflisten zu lassen, könnte man mit -get-param {} username (username durch den zu überprüfenden Benutzer ersetzen) konkret prüfen, ob ein Benutzer auf ein Verzeichnis (und dessen Unterverzeichnisse) zugreifen kann.

Ich habe glatte vergessen zu erwähnen, dass die Befehle als root abgefeuert werden müssen... admin Benutzer können synoacltool nicht aufrufen bzw. es wird in der Bash-Completion nicht mal aufgeführt.
 

big_deal

Benutzer
Mitglied seit
14. Feb 2020
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Man könnte die Variante mir find "feintunen": find ${path} -type d -exec echo {} \; -exec synoacltool -get {} \

Mit -maxdepth n (n=Ganzzahl) könnte man die Tiefe der Unterverzeichnisse beschränken.

So richtig komfortabel wird es damit leider niemals werden...
"-type d", jetzt werden nur die Ordner aufgelistet, danke (y)(y)(y)


Statt mit -get {} die Berechtigungen auflisten zu lassen, könnte man mit -get-param {} username (username durch den zu überprüfenden Benutzer ersetzen) konkret prüfen, ob ein Benutzer auf ein Verzeichnis (und dessen Unterverzeichnisse) zugreifen kann.

Ich habe glatte vergessen zu erwähnen, dass die Befehle als root abgefeuert werden müssen... admin Benutzer können synoacltool nicht aufrufen bzw. es wird in der Bash-Completion nicht mal aufgeführt.
Die Prüfung mittels Benutzer funktioniert bei mir irgendwie nicht, oder ich gebe es falsch ein:
Code:
sudo find "Pfad" -type d -exec echo {} \; -exec synoacltool -get-param {} "username"
find: missing argument to `-exec'

Code:
sudo find "Pfad" -type d -exec echo {} \; -exec synoacltool -get-param {} \ "username"
find: missing argument to `-exec'
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
356
Punkte
103
Mein Fehler, es muss find ${path} -type d -exec echo {} \; -exec synoacltool -get-param {} ${username} \; sein.
Das Terminierende \; am Ende ist wichtig.

Die Variablen in ${} müssen natürlich durch die richtigen Werte ersetzt werden. Die {} dagegen sind Platzhalter, die von find je gefundenem Eintrag durch den aktuellen Pfad ersetzt wird. Im Grunde wirken die -exec wie Befehle je Eintrag in einer For-Each-Schleife.
 
Zuletzt bearbeitet:


 

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