Wie abcde Rechte übergeben

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Wie abcde Rechte übergeben

Beitrag von dirk11 » 05.03.2014 00:37:40

Hi Leute,

abcde legt bei mir neu eingelesene CDs unter /home/user/music/flac/INTERPRET/ALBUM/LIEDER und /home/user/music/mp3/INTERPRET/ALBUM/LIEDER ab. Alles in Großbuchstaben wird dabei bei Bedarf neu angelegt bzw. übernommen, wenn schon vorhanden. Das funktioniert soweit. Wie erreiche ich aber, dass er diese sofort mit den korrekten Rechte-Angaben ablegt? Entweder steht das nicht im manual, oder ich habe es überlesen.

Was ich haben möchte:
Erstellen von Verzeichnisname und Dateien unter einer bestimmten UID und GID (darf der User, benötigt keine root-Rechte, muss ich aber momentan manuell nachbessern), dabei sollen die Dateien den User als owner, aber eine fremde Gruppe bekommen, außerdem 640 als Recht; die Verzeichnisse auch User, unter dem abcde läuft und andere Gruppe, dabei als Rechte 41750
Verzeichnis und Dateien werden namentlich schon korrekt angelegt, nur die Rechte & Besitzer stimmen noch nicht. Kann man abcde überhaupt anweisen, die Verzeichnisse und Dateien mit bestimmten Besitzern/Rechten anzulegen?

jkoerner

Re: Wie abcde Rechte übergeben

Beitrag von jkoerner » 05.03.2014 07:35:25

Es wäre wohl etwas fatal wenn Anwendungen die Rechte setzen oder ändern könnten. Das wirst du mit chmod machen müssen. Den entsprechenden Befehl kannst du doch einfach auf das entsprechende Verzeichnis anwenden und ggf mit && an deinen abcde-Befehl anhängen.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: Wie abcde Rechte übergeben

Beitrag von peschmae » 05.03.2014 08:24:11

Im Prinzip solltest du für die Rechte-Flags einfach mit umask die default-rechte für neue Dateien ändern können. Genauso kannst du mit newgrp die Gruppe für neue Dateien/Ordner ändern (oder das Programm mittels sg gruppenname abcde aufrufen).

Ob sich dann abcde daran hält ist eine andere Frage - normalerweise sollte das aber funktionieren, solange sich das Programm nicht explizit dagegen wehrt, und dafür gibt es keinen Grund...

@jkoerner: wieso wäre das fatal? Natürlich können Anwendungen Rechte setzen, wer denn sonst? Irgendwer muss das ja tun.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Wie abcde Rechte übergeben

Beitrag von dirk11 » 05.03.2014 10:57:32

Warum das "fatal" wäre, erschließt sich mir auch nicht, denn der User darf es, also darf es auch die in seinem Namen ausgeführte Anwendung, hier eben abcde bzw. der nachgeschaltete Encoder.

Das mit umask ist aber suboptimal, weil es ja immer und für alles gelten würde. Ich möchte aber, das eben genau nur abcde das macht.
Es sollen die erstellten files (und das macht ja IMO noch nichtmal abcde, sondern lame oder wer auch immer im Nachgang) eben wie geschrieben dem ausführenden User, aber einer anderen Gruppe zugeordnet werden, ebenso wie Verzeichnisse und Rechte. Sowas muss doch machbar sein!?

wanne
Moderator
Beiträge: 7463
Registriert: 24.05.2010 12:39:42

Re: Wie abcde Rechte übergeben

Beitrag von wanne » 05.03.2014 11:54:09

Ich würde nicht so lange suchen und einfach das danach laufen lassen.

Code: Alles auswählen

find /home/user/music/ -type f  -exec chmod XXX {} \;
find /home/user/music/  -type f -exec chgrp xxxx {} \;
find /home/user/music/ -type d -exec chgrp xxxx {} \;
dirk11 hat geschrieben:Das mit umask ist aber suboptimal, weil es ja immer und für alles gelten würde.
Nja halt für alles was in der shell läuft. Würde halt die konsole auf machen umask ausführen und nachdem du abcde ausgeführt hast die kosole zu machen und alles ist wieder vergessen.
rot: Moderator wanne spricht, default: User wanne spricht.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Wie abcde Rechte übergeben

Beitrag von dirk11 » 05.03.2014 11:59:53

wanne hat geschrieben:Ich würde nicht so lange suchen und einfach das danach laufen lassen.
Problem ist halt, das ich sowas leider auch öfter mal vergessen würde, was nicht ganz so toll wäre.
Außerdem: fehlt da nicht was?: Gruppe setzen für files, Rechte setzen für files, Gruppe setzen für directories, Rechte setzen für directories.

debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie abcde Rechte übergeben

Beitrag von debianoli » 05.03.2014 13:05:16

dirk11 hat geschrieben:Problem ist halt, das ich sowas leider auch öfter mal vergessen würde, was nicht ganz so toll wäre.
Schreib dir doch ein Bash-Skript, das abcde aufruft und vor dem Beenden die Rechte der Verzeichnisse ändert. Kannst so etwas wahrscheinlich auch in abcde selber einfügen, denn das ist doch auch ein Skript.

Code: Alles auswählen

file /usr/bin/abcde
/usr/bin/abcde: Bourne-Again shell script, ASCII text executable

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: Wie abcde Rechte übergeben

Beitrag von peschmae » 05.03.2014 13:56:33

dirk11 hat geschrieben:Außerdem: fehlt da nicht was?: Gruppe setzen für files, Rechte setzen für files, Gruppe setzen für directories, Rechte setzen für directories.
Die umask wird für Dateien von einem Startwert von 666 subtrahiert, für Ordner von 777. Subtil, aber das geht sogar etwa von selber auf. Davon abgesehen schreibst du das gesamte ja dann wohl eh in ein Script - da gilt das dann auch nur für die Ausführdauer von dem Script selbst... - und wenns nur für einen Teil des scripts gelten soll must du halt entweder eine subshell starten oder das manuell zurücksetzen.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Wie abcde Rechte übergeben

Beitrag von dirk11 » 05.03.2014 19:58:01

debianoli hat geschrieben:Schreib dir doch ein Bash-Skript, das abcde aufruft und vor dem Beenden die Rechte der Verzeichnisse ändert.
Bin da gerade etwas ideenlos, kannst du vielleicht mal einen Vorschlag machen?
Originale umask ist 22 direkt auf der Konsole, per ssh ist es 66. Darauf sollte man sich also nicht unbedingt verlassen müssen dabei.
Kannst so etwas wahrscheinlich auch in abcde selber einfügen, denn das ist doch auch ein Skript.
Lieber nicht, beim nächsten update geht dann alles daneben...

wanne
Moderator
Beiträge: 7463
Registriert: 24.05.2010 12:39:42

Re: Wie abcde Rechte übergeben

Beitrag von wanne » 06.03.2014 03:30:12

dirk11 hat geschrieben:Rechte 41750
Das wird dir wohl keiner hinbekommen :-) aber für den rest:

Code: Alles auswählen

umask 026
newgrp [GRUPPE]
abcde "$@"
nach /usr/local/bin/abcde und fertig.
rot: Moderator wanne spricht, default: User wanne spricht.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Wie abcde Rechte übergeben

Beitrag von dirk11 » 06.03.2014 16:02:52

wanne hat geschrieben:
dirk11 hat geschrieben:Rechte 41750
Das wird dir wohl keiner hinbekommen :-)
Öhm, das ist 750+ Sticky (T), wie es mir der mc anzeigt, wird das sonst anders genannt?

Ach, und kannste bitte die Codezeilen noch erläutern? Was machen die drei einzelnen Zeilen?
Mit umask 026 wird dieselbe gesetzt, aber was macht newgroup? Ich will ja keine neue Gruppe definieren, sondern nur eine andere GID als die GID des Nutzers nehmen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Wie abcde Rechte übergeben

Beitrag von smutbert » 06.03.2014 16:44:17

Die erste Zeile ist dann ja eh klar…

und genau das, was du willst macht newgrp: Normalerweise, wenn du dich anmeldest gehören von dir angelegte Dateien und Verzeichnisse deinem Benutzer und deiner Standardgruppe mit der du automatisch angemeldet wirst. Und genau diese Gruppe ändert newgrp zu der angegebenen Gruppe, wobei allerdings der Name der Gruppe und nicht die ID gefragt ist.
Obendrein ist es bei dem Befehl hilfreich, wenn dein Benutzer bereits Mitglied dieser Gruppe ist, aber das wird ja vermutlich bereits der Fall sein.

und die letzte Zeile startet einfach nur abcde mit den Optionen, mit denen das Skript aufgerufen wurde

debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie abcde Rechte übergeben

Beitrag von debianoli » 07.03.2014 12:30:43

dirk11 hat geschrieben:
Kannst so etwas wahrscheinlich auch in abcde selber einfügen, denn das ist doch auch ein Skript.
Lieber nicht, beim nächsten update geht dann alles daneben...
Ich würde mir abcde einfach nach /home/USER/.bin kopieren und in dem Skript die entsprechenden Änderungen vornehmen. Am Ende des Skripts dann deine Anweisungen wie chmod etc.

Code: Alles auswählen

chmod -R 640 $OUTPUTDIR/* 
)
exit 0


Ist zwar nicht so elegant wie wannes Lösung, funktioniert aber auch. Und ob abcde überhaupt zu wheezys Zeiten noch ein Update erfährt, würde ich bezweifeln... :mrgreen:

Antworten