PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verzeichnisrechte



linux_user1311
11.12.03, 10:32
Ich habe folgendes Problem. Ich habe auf eine seperate Festplatte als Root ein Verzeichnis kopiert. Nun sollen bestimmet User die Daten bzw. das ganze Verzeichns überschreiben oder aktualiesieren können. Mit welchem Befehl ändere ich die Besitzer bzw. Gruppenrechte? Oder gibt es eine andere Lösung?
Danke schon im voraus. :confused:

linux_user1311
11.12.03, 11:57
mir geht es um die unterverzeichnisse.
mit "chmod 777 /archiv"habe ich es schon versucht, das ändert aber nur /archiv und nicht alle unterverzeichnisse

steve-bracket
11.12.03, 12:00
chown für Besitzerwechsel
chgrp für Gruppenwechsel
chmod für Rechteverwaltung

chmod --help
Usage: chmod [OPTION]... MODE[,MODE]... FILE...
or: chmod [OPTION]... OCTAL-MODE FILE...
or: chmod [OPTION]... --reference=RFILE FILE...
Change the mode of each FILE to MODE.

-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively
--help display this help and exit
--version output version information and exit

chmod -R

Gruß

chmod 777 ist vielleicht nicht die beste Lösung

linux_user1311
11.12.03, 12:26
Danke!!Ist schon mal ein Anfang. Aber wie bekomme ich es hin, das alle Unterverzeichnisse auch den Besitzer wechseln? Oder habe ich etwas übersehen?
Bin kein Prpfi.

Individuum
11.12.03, 12:30
also das machst du mit der option
-R

z.b.:
chmod 755 /archiv -R
chown user:gruppe /archiv -R

linux_user1311
11.12.03, 12:55
Danke!!! Bin jetzt um eine Erfahrung reicher. :rolleyes:

steve-bracket
11.12.03, 13:16
Original geschrieben von linux_user1311
Danke!!Ist schon mal ein Anfang. Aber wie bekomme ich es hin, das alle Unterverzeichnisse auch den Besitzer wechseln? Oder habe ich etwas übersehen?
Bin kein Prpfi.

Da muss man kein Profi sein, nur die Manual lesen bzw. "programm --help", gerade bei so trivialen Dingen.

Gruß

RoboTom
06.06.04, 13:17
Hallo zusammen!

Glück für mich, dass ich dieses Forum entdeckt habe und Pech für euch, dass ich euch mit meinen wahrscheinlich dummen und trivialen Fragen belästigen werde :D

Also... ich habe zwei Benutzer, user01 und user02, die der Gruppe "group" angehören. Außerdem existiert ein Verzeichnis namens "dir", das der Gruppe "group" gehört. Nun darf der Benutzer user01 in dem Verzeichnis "dir" Schreibrecht haben, und der Benutzer user02 nur Leserecht. Wie realisiere ich das? Für eine kurze Antwort oder einen Link zur Lösung meines "Problems" wäre ich sehr dankbar! :rolleyes:

Gegoogelt habe ich auch schon, aber da ich in der Linuxwelt ganz neu bin, habe ich wahrscheinlich die falschen Suchbegriffe benutzt und nichts gefunden.

Gruß
RoboTom

aheinhold
06.06.04, 15:23
Hallo,

das kannst du folgendermaßen machen:

chown -R user01:group /dir
chmod -R 750 /dir

Damit machst du den user01 zum Besitzer des Verzeichnisses /dir. Die Gruppe group, der der user02 angehört, bekommt durch den chmod 750 nur Leserechte.

core
06.06.04, 15:49
chmod -R 750 /dir
Problem mit dem rekursiven setzen der Bits in der oktalen Form, ist daß damit auch sämtliche Dateien ausführbar werden.

Besser ist da z.B. ein

chmod -R u=rwX,g=rX,o= fooo

Das grosse X bewirkt, dass nur Verzeichnisse ausführbar gemacht werden.


Gruss


echelon@core:~$ ll -d fooo
drwxr-xr-x 2 echelon users 72 2004-06-06 15:36 fooo/
echelon@core:~$ ll -d fooo/moo
-rw-r--r-- 1 echelon users 0 2004-06-06 15:36 fooo/moo

echelon@core:~$ chmod -R u=rwX,g=rX,o= fooo

echelon@core:~$ ll -d fooo
drwxr-x--- 2 echelon users 72 2004-06-06 15:36 fooo/
echelon@core:~$ ll -d fooo/moo
-rw-r----- 1 echelon users 0 2004-06-06 15:36 fooo/moo

RoboTom
06.06.04, 15:49
Vielen Dank für Deine Antwort!

Das Verzeichniss "dir" soll im Besitz von root bleiben, sonst darf der user01 in dem Verzeichnis alles. Mir wurde die Aufgabe so gestellt, wie ich sie oben beschrieben habe. Ist das 'ne Fangaufgabe? :confused:

aheinhold
07.06.04, 17:48
Das ist zumindest schon etwas aufwendiger.
Also nochmal zum Verständnis:
User root = Besitzer/owner
User user01 soll alle Rechte bekommen
User user02 (bzw. Gruppe group) darf nur lesen
Alle anderen User auf dem System sollen keine Rechte haben

Soll das ganze mit reinen Unix/Linux-Mitteln erledigt werden, oder kann man auch Samba-Funktionen oder acl's einsetzen?
Mit reinen Unix-Mitteln (ohne acl's) bekommst du es denk ich nicht hin!

aheinhold
07.06.04, 17:49
Danke für den Tipp!!
Sowas hab ich schon gesucht!
Gilt das mit den Großbuchstaben auch für R und W?

RoboTom
07.06.04, 19:16
@aheinhold

Du hast recht, die Aufgabe war mit reinen Unix-Mitteln nicht zu lösen. Wir sollten uns ein bischen den Kopf zerbrechen. Am Ende wurde der user01 zum Besitzer, und alles war ganz easy. ;)

Gruß
RoboTom

aheinhold
07.06.04, 22:02
Ist aber gar nicht so schlecht, wenn man sich darüber Gedanken machen muss!
Im "echten Leben" kommt dieser Fall nämlich sehr häufig vor!
In einer Firma gibt es viele Verzeichnisse, die von einer Gruppe gelesen und von einer anderen Gruppe beschrieben werden. Um sowas per Unix und Samba zu lösen, muss man ganz schön tricksen! Aber glücklicherweise gibts ja ACL's

core
08.06.04, 07:41
Danke für den Tipp!!
Sowas hab ich schon gesucht!
Gilt das mit den Großbuchstaben auch für R und W?

Nein das gibt'S nicht. Aber man könnte sich dann z.B. mit `find` helfen..
ALso z.B.: find /pfad -type f -exec chmod <bla> {} \;
Wobei mir der Sinn verschlossen bleibt. Wieso sollte man in einem Verzeichnis z.B. Schreibrechte geben, aber die Dateien darin ohne definieren? ;)

Gruss