bubble: |Debian - Benutzer, Gruppen, Dateirechte

Vorweg, ich hantiere zum ersten mal mit Gruppen rum.

Ich habe eine Gruppe:

budabot:x:7105:bubble,budabot  

Und zwei Benutzer:

uid=1000(bubble) gid=1000(bubble) Gruppen=1000(bubble),7105(budabot)  
uid=1001(budabot) gid=7105(budabot) Gruppen=7105(budabot)

Nun habe ich zwei Verzeichnis erstellt:

/home/budabot/system/conf (drwxr-xr-x)  
/home/bubble/budabot/conf (drwxrwxr-x)

Und einen symbolischen Link:

ln -s /home/bubble/budabot/conf /home/budabot/conf/bubble  

Nun habe ich folgendes in der Erwartung das es funktioniert probiert als Benutzer budabot:

touch /home/budabot/system/conf/test.php && mv /home/budabot/system/conf/test.php /home/budabot/system/conf/bubble/test.php  

Allerdings meckert das System, dass ich keine Berechtigungen habe.

mv: Verschieben von „/home/budabot/system/conf/test.php“ nach „/home/budabot/system/conf/bubble/test.php“ nicht möglich: Keine Berechtigung

Was muss ich denn machen, dass das möglich ist?

MfG
bubble

--
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
  1. Hello,

    vielleicht könntest Du auch ein anderes Rechtesystem benutzen?

    https://de.wikipedia.org/wiki/Access_Control_List
    <users.suse.com/~agruen/acl/chapter/fs_acl-de.pdf>

    Mit Access Control Lists kannst Du die Rechte feiner steuern.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bikers-lodge.com
    1. vielleicht könntest Du auch ein anderes Rechtesystem benutzen?
      Mit Access Control Lists kannst Du die Rechte feiner steuern.

      Wäre für meine momentane Situation besser geeignet.

      Weißt du eventuell trotzdem woran es an meiner bisherigen Konfiguration scheitert?

      MfG
      bubble

      --
      If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
      1. Weißt du eventuell trotzdem woran es an meiner bisherigen Konfiguration scheitert?

        Wenn Du eine Datei verschieben willst, dann brauchst Du Schreibrechte an den beiden betroffenen Verzeichnissen. Das Löschen und das Anlegen einer Datei ist Schreiben ins jeweilige Verzeichnis!

        Wenn Du eine gemeinsame Gruppe hast, dann ordne das Zielverzeichnis der Gruppe zu:

        Nehmen wir mal an, Du hast

        1.) user1 mit Stammgruppe G_1 und weiter Mitgliedschaft in Gruppe G_USERS
        2.) user2 mit Stammgruppe G_2 und weiter Mitgliedschaft in Gruppe G_USERS
        3.) umask stehe auf 022 (oft Standard)

        Legt jetzt user1 ein Verzeichnis "/home/user1/conf/" an, dann sind die Rechte wie folgt vergeben:
        drwxr-xr-x user1:G_1 ...  conf

        Legt jetzt user2 ein Verzeichnis "/home/user2/conf/" an, dann sind die Rechte wie folgt vergeben:
        drwxr-xr-x user1:G_2 ...  conf

        Logische Folge: user1 kann in /home/user2/conf/ KEINE Datei anlegen.
        Logische Folge: user1 kann die Datei NICHT /home/user1/conf/datei nach /home/user2/conf/datei verschieben.

        Beheben:

        ~> chown user2:G_USERS /home/user2/conf

        Wenn die umask auf 077 stand hat die Gruppe keine Schreibrechte.
        Dann also außerdem noch chmod

        ~> 0770 /home/user2/conf

        Jetzt kann user1 in /home/user2/conf/ eine Datei anlegen.
        Jetzt kann user1 die Datei /home/user1/conf/datei nach /home/user2/conf/datei verschieben.

        Jörg Reinholz

        1. Legt jetzt user2 ein Verzeichnis "/home/user2/conf/" an, dann sind die Rechte wie folgt vergeben:
          drwxr-xr-x user1:G_2 ...  conf

          muss heißen: drwxr-xr-x user2:G_2 ...  conf

          Sorry.

          Jörg Reinholz

  2. Was muss ich denn machen, dass das möglich ist?

    usermod um Änderungen im Home-Verzeichnis vorzunehmen.

    Mit mv würdest du nur das System dekonfigurieren, das es nicht mehr bedienbar werden würde.

    Benutzername, die BenutzerID und das Home-Verzeichnis aktuell angemeldeter  Benutzer können nicht verändert werden. Davon sind Anmeldungen über su nicht betroffen.
    Benutzer-IDs laufender Prozesse werden nicht verändert.

    1. Was muss ich denn machen, dass das möglich ist?
      Benutzername, die BenutzerID und das Home-Verzeichnis aktuell angemeldeter  Benutzer können nicht verändert werden. Davon sind Anmeldungen über su nicht betroffen.

      Ich glaube, du hast mich missverstanden. Ich will weder Benutzernamen, noch Benutzer-IDs noch das Home-Verzeichnis ändern.

      Was ich wollte ist via Benutzer budabot, eine Datei in einen Unterordner des Home-Verzeichnis' von Benutzer bubble erstellen/dahin verschieben.

      MfG
      bubble

      --
      If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
      1. Ich glaube, du hast mich missverstanden. Ich will weder Benutzernamen, noch Benutzer-IDs noch das Home-Verzeichnis ändern.

        Ja da haben wir uns missverstanden.

        Was zeigt die angelegte Datei bei ls -l (ll meistens als alias) bei Eigentümer und Gruppe an?

  3. Tach!

    Nun habe ich zwei Verzeichnis erstellt:

    /home/budabot/system/conf (drwxr-xr-x)

    /home/bubble/budabot/conf (drwxrwxr-x)

      
    Du zeigst zwar die Berechtigungen, aber wie sind die Besitzverhältnisse? Und wie sind die Berechtigungen und Besitzverhältnisse der übergeordneten Verzeichnisse?  
      
      
    dedlfix.
    
    1. Nun habe ich zwei Verzeichnis erstellt:

      /home/budabot/system/conf (drwxr-xr-x)

      /home/bubble/budabot/conf (drwxrwxr-x)

        
      
      > Du zeigst zwar die Berechtigungen, aber wie sind die Besitzverhältnisse? Und wie sind die Berechtigungen und Besitzverhältnisse der übergeordneten Verzeichnisse?  
        
      budabot gehört:  
      

      (drwxr-xr-x) /home/budabot (Home-Verzeichnis)
      (drwxr-xr-x) /home/budabot/system
      (drwxr-xr-x) /home/budabot/system/conf
      (lrwxlrwxrwx) /home/budabot/system/conf/bubble -> /home/bubble/budabot/conf (sym. Link)

        
      bubble gehört:  
      

      (drwxr-xr-x) /home/bubble (Home-Verzeichnis)
      (drwxr-xr-x) /home/bubble/budabot
      (drwxrwxr-x) /home/bubble/budabot/conf

        
      MfG  
      bubble
      
      -- 
      If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
      
      1. Tach!

        Du zeigst zwar die Berechtigungen, aber wie sind die Besitzverhältnisse? Und wie sind die Berechtigungen und Besitzverhältnisse der übergeordneten Verzeichnisse?
        budabot gehört:
        bubble gehört:

        Und die Gruppenzugehörigkeit? Mach doch mal ein ls -l und zeig die nicht nur die dritte sondern auch die vierte Spalte.

        dedlfix.

  4. Moin,

    Nun habe ich zwei Verzeichnis erstellt:
    /home/budabot/system/conf (drwxr-xr-x)

    Allerdings meckert das System, dass ich keine Berechtigungen habe.

    mv: Verschieben von „/home/budabot/system/conf/test.php“ nach „/home/budabot/system/conf/bubble/test.php“ nicht möglich: Keine Berechtigung
    Was muss ich denn machen, dass das möglich ist?

    Das Verzeichnis /home/budabot/system/conf ist nur (ausschließlich) für budabot beschreibbar. Ich gehe mal davon aus, dass die Gruppe des Verzeichnisses auch budabot ist. In dem Falle müsstest du einfach die Rechte auf 775 setzen.

    Grüße Marco

    --
    Ich spreche Spaghetticode - fließend.
    1. Nun habe ich zwei Verzeichnis erstellt:
      /home/budabot/system/conf (drwxr-xr-x)

      Das Verzeichnis /home/budabot/system/conf ist nur (ausschließlich) für budabot beschreibbar. Ich gehe mal davon aus, dass die Gruppe des Verzeichnisses auch budabot ist. In dem Falle müsstest du einfach die Rechte auf 775 setzen.

      Das Schreiben in /home/budabot/system/conf bereitet mir keine Probleme, aber in das Verzeichnis /home/budabot/system/conf/bubble, welches einen sym. Link auf /home/bubble/budabot/conf darstellt schon. (Zu den Rechten und Besitzern siehe meine andere Antwort)

      MfG
      bubble

      --
      If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
      1. Moin,

        Das Schreiben in /home/budabot/system/conf bereitet mir keine Probleme, aber in das Verzeichnis /home/budabot/system/conf/bubble, welches einen sym. Link auf /home/bubble/budabot/conf darstellt schon. (Zu den Rechten und Besitzern siehe meine andere Antwort)

        Hm, stimmen denn deine Symlinks? Im Ausgangsposting schreibst du, dass es einen Symlink von
        /home/bubble/budabot/conf nach /home/budabot/conf/bubble zeigt. Jetzt willst du aber nach /home/budabot/system/conf/bubble/ schreiben. Wie die Berechtigungen dort sind wissen wir nicht.

        Grüße Marco

        --
        Ich spreche Spaghetticode - fließend.
  5. Urschleim des Problemes war, dass ich irgendwie nicht mitbekommen hab, dass Dateien und Verzeichnisse auch eine Gruppenzugehörigkeit haben.

    Und hier war auch noch ein Typo drinne:

    Und einen symbolischen Link:

    ln -s /home/bubble/budabot/conf /home/budabot/conf/bubble

      
    So wär es korrekt gewesen:  
    ~~~bash
    ln -s /home/bubble/budabot/conf /home/budabot/system/conf/bubble  
    
    

    Damit werd ich jetzt noch ein wenig rum spielen, damit es im Kopf hängen bleibt und dann gehts an die Access Control Lists die Tom erwähnt hat.

    MfG
    bubble

    --
    If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
    1. Hello,

      Damit werd ich jetzt noch ein wenig rum spielen, damit es im Kopf hängen bleibt und dann gehts an die Access Control Lists die Tom erwähnt hat.

      Dann solltest Du dir auf jeden Fall auch noch die beiden Flags ansehen, und was die bewirken.
      Im Wikipedia-Artikel ist das alles ganz nett beschriemen

      https://de.wikipedia.org/wiki/Unix-Dateirechte

      Die Vererbung der Rechte bei Verwendung des SUID oder SGID-Flags für Verzeichnisse kann ganz hilfreich sein. Bei Dateien musst Du allerdings sehr vorsichtig damit sein!

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bikers-lodge.com
    2. Damit werd ich jetzt noch ein wenig rum spielen, damit es im Kopf hängen bleibt und dann gehts an die Access Control Lists die Tom erwähnt hat.

      Kleines "bebildertes" Handbuch zu Access-Control-Lists unter Linux.

      1. Hello Fastix,

        Damit werd ich jetzt noch ein wenig rum spielen, damit es im Kopf hängen bleibt und dann gehts an die Access Control Lists die Tom erwähnt hat.

        Jetzt habe ich noch ein Problemchen mit den SUID-Flag bei Verzeichnissen.

        Beim einen Server kann ich es erst gar nicht setzten, beim anderen hat es aber keine Auswirkung auf das Verzeichnis. Der Uwer belibt trotzdem derjenige, der die Datei anlegt und nicht derjenige, der als User(Owner) im Verzeichnisrecht steht.

        Hast Du da eine Idee?

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bikers-lodge.com
        1. Beim einen Server kann ich es erst gar nicht setzten,

          Welches Dateisystem?

          beim anderen hat es aber keine Auswirkung auf das Verzeichnis. Der Uwer belibt trotzdem derjenige, der die Datei anlegt und nicht derjenige, der als User(Owner) im Verzeichnisrecht steht.

          Hast Du da eine Idee?

          Nö. Aber Nachgelesen. http://www.selflinux.org/selflinux/html/grundlagen_sicherheit07.html

          Jörg Reinholz

          1. Hello Fastix,

            erstmal danke für die Antwort.

            Beim einen Server kann ich es erst gar nicht setzten,

            Welches Dateisystem?

            beim anderen hat es aber keine Auswirkung auf das Verzeichnis. Der Uwer belibt trotzdem derjenige, der die Datei anlegt und nicht derjenige, der als User(Owner) im Verzeichnisrecht steht.

            Hast Du da eine Idee?

            Nö. Aber Nachgelesen. http://www.selflinux.org/selflinux/html/grundlagen_sicherheit07.html

            aber wenn ich dann das lese:

            SUID und SGID sind nur für Programme sinnvoll. Diese werden mit der Benutzerkennung
            (SUID - Set User ID) bzw mit der Gruppenkennung
            (SGID - Set Group ID) der Programmdatei ausgeführt.

            dann weiß ich schon, in welche Tonne ich das schmeißen muss.

            Ich verwende SUID und SGID ganz bewusst für Verzeichnisse, damit es keine Probleme mit dem Dateieigentümer USER:GROUP gibt.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bikers-lodge.com