Nutzerrechte für bestimmte Ordner

Hinweis: In dem Thema Nutzerrechte für bestimmte Ordner gibt es 8 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo Forum,
    ich möchte nicht als root unterwegs sein und das Nutzersystem von Linux etwas besser verstehen.
    Dabei habe ich folgendes vor:
    Im Ordner

    Code
    srv/www/htdocs => root:root


    habe ich einen Ordner

    Code
    test => wwwrun:www

    angelegt. Jetzt möchte ich mit meinem Nutzer (balli) innerhalb des Ordners test alles (löschen, anlegen, verschieben, umbenennen ....) können.
    Also habe ich mit

    Code
    sudo usermod -aG www balli

    mich der Gruppe www hinzugefügt, mich einmal aus und wieder eingeloggt, damit es wirksam wird. Leider darf ich weiterhin nichts machen, obwohl


    Code
    balli@host:~> id
    uid=1000(balli) gid=100(users) Gruppen=100(users),8(www),10(wheel)

    ich eindeutig in der Gruppe bin, muss ich ggf. die Standardgruppe ändern?


    Warum ich den ganzen Spaß nicht einfach mit root mache:
    Ich möchte, wie bereits erwähnt das Rechtemanagement besser kennenlernen
    Ich möchte mit composer Zeugs installieren und verwalten und composer mag nicht mit root Rechten ausgeführt werden
    Weiterhin kennt sudo composer nicht ;)


    mit besten Grüßen
    Balli

    Für den Inhalt des Beitrages 129737 haftet ausdrücklich der jeweilige Autor: ballibum

  • Dann schau dir doch mal die Rechte des Verzeichnisses an.

    Für den Inhalt des Beitrages 129738 haftet ausdrücklich der jeweilige Autor: Sauerland

  • @ballibum
    Zum ersten, es gehört zwar nicht hierher aber "sudo" ist bei OpenSuSE verpönt! Benutze "su -" Und sage jetzt nicht, WIESO, ES GEHT DOCH, und ja es geht, aber es geht nicht immer mit dem gewünschten Ergebnis!
    Wenn du was über Rechte erfahren willst, dann beschäftige dich mit "chmod" und "chown".

    Für den Inhalt des Beitrages 129739 haftet ausdrücklich der jeweilige Autor: Z_O_O_M

  • Moin zusammen,


    sudo ist ein sehr mächtiges Werkzeug - es sollte aber nur dann eingesetzt werden wenn der Admin genau weiß was er da tut und wem/was er welche Rechte zuerteilt. Zudem empfielt sich ein Art Userhistory Logger Konzept oder gleich rootsh einzusetzen.
    Ein so mächtiges Werkzeug in Bausch und Bogen zu verpönen ist Unsinn, sorry.


    Balli Dein Problem ist, dass die Gruppe nicht über entsprechende Rechte verfügt. Schau Dir mal mit

    Code
    ls -lagh

    die Rechte an (das erste Feld ganz links) was angezeigt wird sind die Rechte. Immer Dreiergruppen, die erste dreiergruppe = User, die 2. = Gruppe, die 3.=Alle Anderen.


    Unter Linux hat im Allgemeinen wenn überhaupt nur der Besitzer des Verzeichnisses _alle_ Rechte. Das ist Teil des Sicherheitskonzepts.


    Gerade in Webverzeichnissen kann es auch gut sein, dass nicht einmal der Besitzer alle Rechte hat - ebenfalls aus Sicherheitsgründen.


    Soderle .... Andere Frage, was spricht dagegen, im Webverzeichnis ein Verzeichnis Test mit Owner balli und Gruppe www einzurichten? Der Webserver kommt damit klar - es muss die www Gruppe da sein.
    Wenn Du komplizierte Dinge wie schreiben auf die Platte machen willst, muss entweder die Gruppe ebenfalls Schreibrechte haben oder der Benutzer des Verzeichnisses muss der www Nutzer sein. Sowas brauchen aber im Allgemeinen nur Proggi wie z.B. Webshops, die cache, tmp und Logverzeichnisse beschreiben müssen. Da genügt es dann meistens, genau diesen Verzeicnissen die Rechte zu geben bzw. die dem User/Owner des Webservers zu geben.


    Das Rechtekonzept in Linux ist recht ausgeklügelt und es gibt 1001 Stellschrauben an denen man drehen kann und bei jeder Drehung auch nur einer Schraube drehen sich 200 andere Schrauben mit.
    Das ist leider nichts was man mal eben so im Forum zwischen Tür und Angel erklären kann.


    Ich würde Dir daher empfehlen, Dir entsprechende Literatur zu besorgen (die Vorbereitungsbücher auf die LPI C1 und C2 Prüfungen wären da eine gute Lektüre), die entsprechenden Kapitel durchzuarbeiten (oder noch besser die beiden Bücher komplett durcharbeiten) und dann hier gezielte Verständnisfragen stellen falls noch was unklar geblieben ist.

    Viele Grüße,
    T.

    Für den Inhalt des Beitrages 129741 haftet ausdrücklich der jeweilige Autor: Tamerlain

  • Vielen lieben Dank.
    Ich habe dem entsprechenden Ordner also den Nutzer und die Gruppe zugeführt.


    Code
    sudo chown -R balli:www test/


    Innerhalb des Ordners kann ich nun tun was ich will.
    Was ich nun nicht verstehe, wie kriege ich den oben genannten befehl ohne sudo hin, wenn es verpönt ist, dann möchte ich darauf verzichten. Ist da tatsächlich die einzige Möglichkeit, oder gibt es da auch bedenken?:




    Code
    su - root
    chown -R balli:www test/

    Für den Inhalt des Beitrages 129743 haftet ausdrücklich der jeweilige Autor: ballibum

  • Du kannst es mit su - root oder mit su -l oder einfach mit su - machen, alle 3 Befehle machen in diesem Fall folgendes:
    Sie öffnen eine sogenannte login-shell für den User root.
    Diese Befehle sind besser als einfach nur su, denn letzter Befehl öffnet keine loginshell und ändert damit z.B. auch nicht die Variable $PATH, die bleibt erhalten vom aufrufenden Benutzer (derjenige, der sich zum root machen will).


    Für alle diese Befehle gilt: so lange man als User root unterwegs ist (sichtbar an der roten Farbe des Eingabeprompts sowie der Raute #) werden alle nachfolgenden Befehle als root ausgeführt.
    Abmelden als root entweder mit dem schließen der Konsole/Terminals, ausführen von exit oder einfach drücken von STRG+D

    Für den Inhalt des Beitrages 129744 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Zur Geschichte mit dem sudo habe ich schon mal hier ein kleines Tutorial zu su, sudo und Shells geschrieben.


    Für dein "Problem" gibt es zig Lösungen.
    Leider schreibst du nicht genau, was dein "Problem" ist.
    Was bezweckst du mit dem Testverzeichnis?


    Du könntest z.B. dieses Verzeichnis ganz normal in deinem Home haben und dem Webserver einfach Leserechte auf genau dieses Verzeichnis einräumen.
    Der Webserver kann dann munter von da (korrekte Konfiguration -ja, welchen Webserver verwendest du überhaupt?- vorausgesetzt) die HTML- Seiten lesen und in's Netz ballern.
    Und du kannst ganz normal ohne irgendwas munter drin rumkatastrophieren.


    Man könnte auch die Partition, auf dieses /srv liegt mit ACLs mounten. (ACL ==AccessControlLists)
    Damit man kann für jedes Verzeichnis und jede Datei einzeln höchst spezifische Rechte vergeben.


    Oder, oder, oder....


    Es kommt halt primär auf den Zweck an, den du damit erfüllen möchtest.
    Und hängt natürlich auch ein wenig von der verwendeten Software ab, die am Rumpfuschen in diesem Verzeichnis beteiligt ist.
    (Es gibt eine Unzahl an Webservern, die oft in Details erheblich voneinander abweichen.
    Zudem wäre es nötig zu wissen, ob deinem Webserver Leserechte reichen. Genauer: In welchen Verzeichnissen er tatsächlich unbedingt Schreibrechte braucht.

  • Hi,
    vielen lieben Dank für eure ausführlichen Antworten, diese haben mich ein erhebliches Stück weitergebracht. Tatsächlich kenne ich mich relativ gut aus mit dem von mir eingesetzten Apache2. Jedoch hatte ich bis dato immer alleine auf den VMs rumgewerkelt und war dadurch immer als root unterwegs. Dieses Vorgehen möchte ich nun ändern und möchte das ganze tatsächlich eher auf die Nutzer ausrichten.
    Daher komme ich zu meiner anschließenden Frage (vermeintlich selbiges Problem). Ich habe das Wunschverzeichnis nun mir und der Gruppe www (balli:www) zugeordnet, dadurch kann ich in dem Ordner machen und tun was ich möchte. Wie kriege ich es jetzt aber hin, das eine Gruppe von Usern(wir sind nur zu zweit) innerhalb des Ordners tun und machen kann was sie will. Ich denke ich sollte eine Gruppe anlegen und der Gruppe die entsprechenden Rechte geben, doch dann sind die Einstellungen von www doch überschrieben oder? Wobei eigentlich www nur für einen Unterunterordner die 775 benötigt (es geht um die Installation von Drupal.


    mit besten Grüßen
    Balli

    Für den Inhalt des Beitrages 129764 haftet ausdrücklich der jeweilige Autor: ballibum

  • Das ist schon ziemlich korrekt für diesen Zweck.


    Erstelle einfach eine solche Gruppe mit einem hübschen Namen, wie thebigwebmasters oder so,
    und füge die User UND den Webserver- User dieser Gruppe hinzu.


    Wenn du möchtest, dass der Webserver nur lesen darf, würde ich die ACL nehmen.
    Dazu muss die Partition aber mit der Option acl gemountet werden.